Skip to content

jamesng16/VietStoryLens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VietStoryLens ๐Ÿ‡ป๐Ÿ‡ณ

๐Ÿ† LotusHacks x HackHarvard x GenAI Fund Vietnam 2026

Snap a photo. Hear its story. Taste the culture.

Devpost License: MIT


๐ŸŽฏ What is VietStoryLens?

VietStoryLens turns any Vietnamese landmark into a living story. Snap a photo โ€” AI instantly recognizes it, narrates its history, and recommends the best local food nearby.

You don't just see a place โ€” you experience it.

Recognition Storytelling Food Nearby

โœจ Features

  • ๐Ÿ“ธ Landmark Recognition โ€” CLIP ViT-L/14 + FAISS identifies 15 HCMC landmarks (~85-93% accuracy)
  • ๐ŸŽ™๏ธ AI Storytelling โ€” DeepSeek V4 Flash generates cinematic Vietnamese narration from self-collected historical context
  • ๐Ÿœ Food Nearby โ€” Overpass API finds restaurants around the landmark, DeepSeek describes dishes, Unsplash provides real food photos
  • ๐Ÿ—บ๏ธ Multi-Screen Flow โ€” Camera โ†’ Recognition โ†’ Story โ†’ Food โ†’ Map
  • ๐Ÿ“ฑ Cross-Platform โ€” Flutter (Android, iOS, Web) with Vietnamese-inspired theme
  • ๐Ÿณ Docker-Ready โ€” One-command deploy with docker-compose + nginx

๐Ÿง  Architecture

Architecture

๐Ÿ“ Edit in draw.io | Download .drawio

๐Ÿ”Œ API Endpoints

Method Endpoint Description
POST /api/recognize Upload image โ†’ landmark + AI story
POST /api/food-nearby lat/lng โ†’ nearby restaurants with descriptions + photos
GET /api/landmarks List all 15 supported landmarks
GET /api/health Health check

๐Ÿ›๏ธ Supported Landmarks (15 HCMC)

Landmark Images Accuracy
๐Ÿฐ Independence Palace 137 ~93%
โ›ช Notre-Dame Cathedral 145 ~77%
๐Ÿ‰ Dragon Wharf (Bแบฟn Nhร  Rแป“ng) 128 ~85%
๐Ÿ›’ Ben Thanh Market 130 ~85%
๐Ÿ“ฎ Central Post Office 112 ~83%
๐Ÿข Bitexco Tower 134 โ€”
๐Ÿ–ผ๏ธ Fine Arts Museum 95 โ€”
๐Ÿšถ Nguyen Hue Walking Street 104 โ€”
๐Ÿ•Š๏ธ Turtle Lake 116 โ€”
๐Ÿšฉ Thu Ngu Flag Tower 117 โ€”
๐ŸŒณ Tao Dan Park 55 โ€”
๐Ÿฆ Saigon Zoo 49 โ€”
๐Ÿ›• Vinh Nghiem Pagoda 154 โ€”
๐ŸŒ‰ Starlight Bridge 96 โ€”
๐Ÿ›๏ธ War Remnants Museum 98 โ€”

๐Ÿ’ก Dataset: 1,665 images with vision tags & historical context โ€” self-collected from real landmarks across HCMC.

๐Ÿš€ Quick Start

Docker

git clone https://github.com/jamesng16/VietStoryLens.git && cd VietStoryLens

# Set API keys
cat > .env << EOF
LLM_API_KEY=your-deepseek-key
LLM_BASE_URL=https://api.ai-box.vn/v1
LLM_MODEL=deepseek-v4-flash[1m]
UNSPLASH_ACCESS_KEY=your-unsplash-key
EOF

docker compose --env-file .env up -d
# โ†’ Frontend: http://localhost:3001
# โ†’ Backend:  http://localhost:8000/docs

Local Dev

# Backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python scripts/build_index.py
LLM_API_KEY=... python -m src.api.server

# Frontend
cd frontend && flutter pub get && flutter run

๐Ÿ“Š Tech Stack

Layer Technology
Vision OpenAI CLIP ViT-L/14 (768-dim)
Vector Search FAISS IndexFlatIP
LLM DeepSeek V4 Flash (api.ai-box.vn)
Restaurant Data OpenStreetMap Overpass API
Food Photos Unsplash API
Backend FastAPI + Uvicorn + httpx
Frontend Flutter (Android/iOS/Web)
Infra Docker + nginx proxy

๐Ÿ“ Project Structure

VietStoryLens/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ api/server.py          # FastAPI routes
โ”‚   โ”œโ”€โ”€ agents/graph.py        # Landmark recognition pipeline
โ”‚   โ”œโ”€โ”€ services/food_nearby.py # Food Nearby service
โ”‚   โ”œโ”€โ”€ embeddings/            # CLIP encoder + FAISS index
โ”‚   โ”œโ”€โ”€ data_loader.py         # Dataset loader
โ”‚   โ””โ”€โ”€ config.py              # Settings
โ”œโ”€โ”€ frontend/                  # Flutter app
โ”‚   โ””โ”€โ”€ lib/
โ”‚       โ”œโ”€โ”€ screens/           # Camera, Story, Food, Map
โ”‚       โ”œโ”€โ”€ services/          # API client
โ”‚       โ””โ”€โ”€ theme/             # Vietnamese color scheme
โ”œโ”€โ”€ data/                      # 1,665 images + metadata JSON
โ”œโ”€โ”€ scripts/build_index.py
โ”œโ”€โ”€ docker-compose.yml
โ””โ”€โ”€ Dockerfile

๐Ÿ—บ๏ธ Roadmap

We welcome contributions! Here's what's planned:

  • ๐Ÿ‡ป๐Ÿ‡ณ Expand beyond HCMC โ€” Add Hanoi (Hoร n Kiแบฟm, Vฤƒn Miแบฟu, Lฤƒng Bรกc...), Huแบฟ (ฤแบกi Nแป™i, chรนa Thiรชn Mแปฅ...), Hแป™i An, ฤร  Nแบตng, Nha Trang, Hแบก Long
  • ๐ŸŒ Multilingual support โ€” English, Chinese, Japanese, Korean for international tourists
  • ๐ŸŽฏ Fine-tuned CLIP โ€” Domain-adaptive training on Vietnamese architecture for higher accuracy
  • ๐Ÿ—ฃ๏ธ Real TTS narration โ€” ElevenLabs / Coqui AI voice instead of text-only stories
  • ๐Ÿ“ก AR overlay โ€” Augmented reality to overlay historical photos onto live camera view
  • โšก Performance optimization โ€” GPU inference, response caching, smaller CLIP variant
  • ๐Ÿ“Š Admin dashboard โ€” Manage landmarks, review AI-generated stories, track usage analytics
  • ๐Ÿงช Automated testing โ€” CI/CD pipeline, integration tests, visual regression tests

๐Ÿ’ก Want to contribute? Pick an item above, open an issue, or submit a PR! See CONTRIBUTING.md for guidelines.

๐Ÿ‘ฅ Team

Built with โค๏ธ at LotusHacks 2026 by:

Role Name GitHub
๐Ÿง  AI Engineer Nguyen Viet Hoang @jamesng16
๐Ÿ’ป Developer Phap Duy โ€”
๐ŸŽจ Designer Ly Nguyen Hoang Anh โ€”
๐Ÿ”ง Developer Melvin Lim โ€”

๐Ÿ“„ License

MIT ยฉ 2026 VietStoryLens Team

About

AI-powered Vietnamese landmark recognition with storytelling. Snap a photo โ†’ AI identifies it โ†’ tells its story in Vietnamese. Built with CLIP, FAISS, LangGraph, DeepSeek, Flutter. ๐Ÿ† LotusHacks x HackHarvard 2026

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages