Projects
Photo Library Organizer
Stack
- Python
- OpenCV
- MediaPipe
- FastAPI
- SQLite
A computer vision system for organizing near-duplicate photo libraries. Clusters visually similar images using perceptual hashing and Union-Find, then ranks photos in each cluster by subject-aware sharpness, exposure, and eyes-open detection from MediaPipe facial landmarks to recommend the strongest photos. Runs entirely on-device with a local FastAPI backend and JavaScript interface, supporting sortable grid and swipe review modes before exporting selections or cleaning folders in place without automatically deleting files.

PlanMyTrip
Stack
- Java
- Spring Boot
- React
- A* search
- Google Maps API
A sightseeing planner that builds an efficient walking or sightseeing route through a city's attractions based on user preferences (attractions, route type, time). Routing uses A* search with density-aware heuristics to stay tractable at city scale. A two-layer cache cut Google Maps API costs 5.6x at an 83.8% hit rate, holding complex international routes under 20 seconds. The React frontend does click-to-set endpoints, POI photo tooltips on hover and auto-zoom, with structured JSON error responses when the upstream APIs fail.

RSVP Platform
Stack
- React
- Node.js
- PostgreSQL
Registration system for the private events 11Scientific hosts. Proposed and pitched the system in a team meeting, then led its implementation with the firm's IT team. Guests register once, receive a confirmation email with a calendar invite, registrations are stored in a searchable database, and operations receives automated attendee summaries.

LangSpace
Stack
- Next.js
- TypeScript
- Tailwind CSS
- Firebase
Language learning platform with AI-powered feedback across four skill modules — listening, reading, writing, and speaking. A weekly planner tracks streaks; the model sets quizzes by proficiency level, grades written submissions, and explains vocabulary with generated images.
