Propellus
AI-powered travel platform that personalizes your journey

#problem
Propellus is an AI travel platform that curates personalized journeys for each user, moving beyond standard search-and-book flows toward tailored recommendations. It addresses the problem of generic, one-size-fits-all travel planning by structuring user preferences and trip data so that itineraries can be adapted to the individual. The product spans a user-facing web application and a backend service that manages personalization, persistence, and the AI-driven recommendation logic.
#what-i-built
- ▸I architected the full Propellus platform end to end, owning the Next.js frontend, the Nest.js backend, the PostgreSQL data layer, and the AWS infrastructure.
- ▸I built the Next.js frontend that delivers the personalized travel experience and trip-planning interface to users.
- ▸I designed and implemented the Nest.js backend services and REST APIs that drive the AI personalization and recommendation logic.
- ▸I modeled the PostgreSQL schema for user preferences, trips, and itinerary data that underpins personalized journeys.
- ▸I deployed and operated the platform on AWS, setting up the cloud infrastructure and CI/CD pipeline for releases.
#stack
#outcome
Production AI travel platform live at propellus.co — end-to-end ownership across Next.js frontend, Nest.js backend, PostgreSQL data layer, and AWS infrastructure.
#key-decisions
- 1.Chose Nest.js for its modular, TypeScript-first architecture, keeping the AI personalization service cleanly separable from the API routing layer and independently testable.
- 2.Used PostgreSQL over a NoSQL store to model user preferences and itinerary data relationally, giving the personalization engine flexible querying without data consistency trade-offs.
- 3.Deployed on AWS with containerized services to support horizontal scaling as user volume grows rather than a fragile single-instance setup.
- 4.Isolated AI personalization logic in a dedicated backend service — not in the frontend — so future LLM provider swaps require no UI changes.
Building something similar?
Let's talk about your project — no obligation.