File size: 7,211 Bytes
20fd7c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
import uvicorn
import os

app = FastAPI()

# Mount static files
app.mount("/static", StaticFiles(directory="static"), name="static")

# Templates
templates = Jinja2Templates(directory="templates")

# Portfolio Data
portfolio_data = {
    "name": "Tran Bao Ngoc",
    "tagline": "Passionate about AI, Machine Learning, and Building Scalable Solutions",
    "location": "Hanoi, Vietnam",
    "email": "trbaongoc17@gmail.com",
    "github": "https://github.com/TrBn17",
    "huggingface": "https://huggingface.co/NGOC1712",

    "about": (
        "I have almost 2 years of learning, research, and development in the AI industry. "
        "I've joined many AI projects across different domains: Healthcare, Banking, Technical Operations. "
        "I'm looking for an environment where I can grow my technical and soft skills, "
        "while committing long-term and contributing to the company in this AI era."
    ),

    "tech_stack": {
        "ai_engines": [
            {"name": "TensorFlow", "level": 85, "icon": "devicon-tensorflow-original colored"},
            {"name": "PyTorch", "level": 90, "icon": "devicon-pytorch-original colored"},
            {"name": "Hugging Face", "level": 75, "icon": "custom-icon", "icon_src": "/static/icons/huggingface.png"},
            {"name": "OpenAI", "level": 80, "icon": "custom-icon", "icon_src": "/static/icons/openai.png"},
            {"name": "Langchain", "level": 85, "icon": "custom-icon", "icon_src": "/static/icons/langchain.png"}
        ],
        "programming_languages": [
            { "name": "Python", "level": 95, "icon": "devicon-python-plain colored" },
            {"name": "JavaScript", "level": 65, "icon": "devicon-javascript-plain colored"},
            {"name": "HTML/CSS", "level": 70, "icon": "devicon-html5-plain colored"}
        ],
        "databases": [
            {"name": "PostgreSQL", "level": 95, "icon": "devicon-postgresql-plain colored"},
            {"name": "Redis", "level": 60, "icon": "devicon-redis-plain colored"},
            {"name": "SQL", "level": 75, "icon": "devicon-sqldeveloper-plain colored"},
            {"name": "MinIO", "level": 85, "icon": "custom-icon", "icon_src": "/static/icons/minio.png"},
            {"name": "MongoDB", "level": 50, "icon": "devicon-mongodb-plain colored"}
        ],
        "devops_tools": [
            {"name": "Docker", "level": 95, "icon": "devicon-docker-plain colored"},
            {"name": "Grafana", "level": 65, "icon": "devicon-grafana-plain colored"},
            {"name": "Prometheus", "level": 55, "icon": "fas fa-fire"},
            {"name": "Loki", "level": 50, "icon": "custom-icon", "icon_src": "/static/icons/Loki.png"},
            {"name": "Kubernetes", "level": 45, "icon": "devicon-kubernetes-plain colored"}
        ],
        "frameworks": [
            {"name": "FastAPI", "level": 90, "icon": "devicon-fastapi-plain colored"},
            {"name": "Flask", "level": 70, "icon": "devicon-flask-original colored"},
            {"name": "Django", "level": 60, "icon": "devicon-django-plain colored"}
        ]
    },

    "experience": [
        {
            "title": "AI Engineer",
            "company": "FOXAi Joint Stock Company",
            "period": "May 2024 - Present",
            "description": [
                "Developed scalable backend services using Python, FastAPI",
                "Collaborated with business analysts and product managers",
                "Built demo services with Hugging Face for clients/internal showcases",
                "Created technical documentation and system architecture diagrams",
                "Worked on low-resource languages (e.g., Lao) with limited training data"
            ]
        },
        {
            "title": "AI Intern",
            "company": "Wisdom Brain",
            "period": "Sep 2023 - Feb 2024",
            "description": [
                "Researched layered architectures in reinforcement learning",
                "Gained hands-on experience with deep learning models"
            ]
        }
    ],

    "projects": [
        {
            "name": "AI-Powered Chatbot System",
            "description": "Developed chatbot integrating OpenAI, Deepseek, Gemini APIs",
            "languages": ["Python"],
            "technologies": ["FastAPI", "OpenAI API", "Deepseek", "Gemini", "Langchain", "PostgreSQL", "Redis", "Docker", "MinIO"],
            "role": "Core Developer",
            "highlights": [
                "Multi-model integration",
                "Scalable architecture",
                "Real-time responses",
                "Streaming support"
            ]
        },
        {
            "name": "eKYC Identity Verification",
            "description": "Built eKYC system for ID/passport verification",
            "languages": ["Python", "JavaScript", "HTML", "CSS"],
            "technologies": ["Computer Vision", "OCR", "Deep Learning", "FastAPI", "Docker", "PostgreSQL", "Redis", "MinIO", "Gemini API"],
            "role": "Core Developer",
            "highlights": [
                "High accuracy OCR",
                "Real-time processing",
                "Security compliance"
            ]
        },
        {
            "name": "Document Processing System",
            "description": "Developed RAG system for various document types",
            "languages": ["Python"],
            "technologies": ["Qdrant", "Docling", "FastAPI", "Docker", "PostgreSQL", "Pymupdf", "Langchain", "OpenAI", "Hugging Face"],
            "role": "Core Developer",
            "highlights": [
                "Multi-language support",
                "High accuracy",
                "Fast processing"
            ]
        },
        {
            "name": "Banking ML Solution",
            "description": "Applied ML algorithms to banking challenges",
            "languages": ["Python"],
            "technologies": ["Scikit-learn", "Pandas", "NumPy", "Docker"],
            "role": "Technical Support",
            "highlights": [
                "Risk assessment",
                "Fraud detection",
                "Customer segmentation"
            ]
        }
    ],

    "education": {
        "degree": "Bachelor of Business Data Analytics",
        "school": "International School - VNU",
        "coursework": ["Business Analysis", "Data Analysis", "Machine Learning", "Deep Learning"]
    },

    "certifications": [
        "AI Ethics Certificate",
        "Google Data Analytics Professional Certificate",
        "B2 VSTEP Certificate"
    ]
}


@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
    return templates.TemplateResponse("index.html", {"request": request, "data": portfolio_data})


@app.get("/api/data")
async def get_data():
    return portfolio_data


if __name__ == "__main__":
    uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)