Spaces:
Sleeping
Sleeping
| 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" | |
| ] | |
| } | |
| async def index(request: Request): | |
| return templates.TemplateResponse("index.html", {"request": request, "data": portfolio_data}) | |
| async def get_data(): | |
| return portfolio_data | |
| if __name__ == "__main__": | |
| uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True) | |