TripSaver

Transform your travel photos into landmark discoveries with AI-powered visual recognition and intelligent location recommendations

Key Features

Eiffel Tower Paris

Upload & Identify

Instantly recognize landmarks from any travel photo or screenshot.

Tokyo Tower Japan

Visual Similarity Search

Find visually similar landmarks across a database of 4200+ locations.

Colosseum Rome

Smart Recommendations

Receive nearby landmark suggestions tailored to your detected locations.

Technical Deep Dive

Training

EfficientNet-B3 was trained locally on custom hardware (i9-13900K, RTX 4080, 64GB DDR5, Intel 1TB NVMe) using Google Landmarks Dataset v2, taking approximately 20 hours to complete. Training leveraged transfer learning starting with ImageNet pretrained weights and fine-tuning on 500 landmark classes, employing standard augmentations including RandAugment, MixUp, and CutMix, plus custom social media augmentation to improve robustness on screenshot inputs.

  • Mixed precision FP16 training with AdamW optimizer and cosine annealing schedule. Gradient accumulation over 4 steps and early stopping prevent overfitting on imbalanced classes
  • Custom augmentation synthesizes Instagram/TikTok UI overlays (profile bars, story circles, filters) at 30% probability, enabling accurate predictions on social media screenshots
  • Dataset filtered from 200K+ landmarks to 500 classes with sufficient training samples and global geographic diversity for practical travel applications
Training Pipeline Architecture
Hardware Foundation
Intel

i9-13900K

24 Cores / 32 Threads

NVIDIA

RTX 4080

16GB VRAM / 9728 CUDA

64GB DDR5

System Memory

Intel 1TB NVMe

PCIe Gen 3 / 3500 MB/s

Software Stack
PythonPython 3.10

Runtime

PyTorchPyTorch 2.0

Deep Learning

CUDACUDA 11.8

GPU Acceleration

Training Flow
Dataset

Google Landmarks v2
500 Classes

Augmentation

RandAugment
MixUp + CutMix + Social

Training

EfficientNet-B3
Mixed FP16 + AdamW

MLflowMLflow

Experiment Tracking
Model Registry

How It Works

The system uses a two-tier detection approach. Tier 1 runs EfficientNet-B3 with optional Google Vision API validation for low-confidence results. Tier 2 is triggered when users reject initial predictions, using CLIP embeddings for visual similarity and Groq's vision-language model for scene understanding.

  • Uploaded images are preprocessed to remove social media UI elements using template matching. Images are resized to 300x300 and normalized with ImageNet statistics before inference
  • Tier 1 attempts fast classification with EfficientNet-B3 (500 classes). If confidence is below 70%, Google Vision API validates the prediction. Results are stored in DynamoDB for potential fallback
  • Tier 2 activates when users reject initial results. CLIP ViT-B/32 generates embeddings for FAISS similarity search across 4200+ landmarks. Groq's Llama-4-Scout-17B provides detailed scene descriptions and context

Tier 1: Primary Detection

EfficientNet-B3

EfficientNet-B3

Trained Model

if confidence < 70%
Google Vision

Vision API

Validation

User rejects prediction

Tier 2: Fallback Analysis

CLIP ViT-B/32

Similarity Search

+

Groq LLM

Scene Description

System Architecture

The frontend is deployed on Vercel, routing requests through AWS API Gateway to Lambda functions. FastAPI handles authentication and routing, calling the EfficientNet-B3 model on HuggingFace Spaces. User data and itineraries are stored in DynamoDB with Google Cloud Vision API and Groq providing fallback detection.

  • Next.js frontend deploys to Vercel with automatic builds on GitHub pushes, ensuring fast global delivery via edge network with sub-100ms response times
  • AWS API Gateway routes requests to Lambda functions running FastAPI with JWT authentication. DynamoDB stores user profiles and itineraries with GSI indexes for efficient queries
  • EfficientNet-B3 model runs on HuggingFace Spaces with CPU. CloudWatch monitors Lambda performance while GitHub Actions automates testing and deployment workflows
Drag to explore architecture

Frontend

Next.js

Next.js 16

React 19

Tailwind

Styling

Vercel

Hosting

Backend

API Gateway

API Gateway

REST

FastAPI

Lambda

JWT Auth

Security

ML Inference

PyTorch

EfficientNet-B3

HF Spaces

Google Vision

Vision API

Fallback

Groq

LLM

Data Storage

DynamoDB

NoSQL DB

FAISS

4200+ vectors

CLIP

Similarity

DevOps & CI/CD

GitHub

GitHub Actions

CI/CD Pipeline

AWS Lambda

AWS SAM

Deployment

Vercel

Vercel

Auto Deploy

Monitoring

CloudWatch

CloudWatch

Logs

Metrics

Alarms

MLflow

MLflow

ML Tracking

Error Tracking

Python Logs

Performance Metrics

Trained on 500 landmark classes over 20 hours using transfer learning from ImageNet

81%

Top-1 Accuracy

Model Accuracy

500-class landmark classification on validation set

~2s

Average

Inference Speed

End-to-end prediction time on HuggingFace Spaces

4,946

Landmarks

Global Coverage

CLIP embeddings for similarity search fallback

Powered By

Vercel

Vercel

Groq

🤗

HuggingFace

OpenAI

AWS

Google

Google