Backend System for Vooyai
Vooyai was an AI travel platform for destination discovery and itinerary generation. I co-founded the project and owned the backend engineering behind the AI product experience.
Problem: We built this application right after ChatGPT first came out. We found many challenges: first iterations of conversational LLMs did not produce structured outputs, AI-generated travel planning required long-running generation workflows, third-party API calls, and user-facing responsiveness. Users needed fast feedback while the system coordinated LLM prompts, place search, maps, image retrieval, payments, authentication, and persistence.
Technical scope: I engineered the backend REST API, WebSocket event flow, place-information service, payment integration, authentication flow, and deployment setup. I was also responsible for the prompt-engineering layer that produced structured travel recommendations before reliable structured LLM outputs were widely available.
Architecture: The application used Node.js, Express, Flask, MongoDB, Docker, Nginx, AWS EC2, OpenAI, Mapbox, Stripe, Firebase, and Socket.io.
Implementation: The backend used Node.js and Express, with Socket.io powering real-time updates for discovery and itinerary generation. A separate Flask service handled place information, image retrieval, and geolocation across providers including Google, Mapbox, and OpenStreetMap. Persistence used MongoDB Atlas and Mongoose.
The backend and places service were containerized with Docker, deployed on AWS EC2, and served through Nginx as a reverse proxy. The system integrated OpenAI, Mapbox, Stripe, Firebase, and OAuth authentication.
Outcome: The backend served more than 1,500 users. WebSocket-based updates reduced response times by about 60%, and OAuth authentication increased daily registered users by about 40%.
