Inspiration
TravelSriLanka started as a product I wanted to build for years: a complete travel platform for Sri Lanka that connects planning, discovery, local knowledge, stays, activities, events, food, guides, and future booking workflows in one place.
Before Codex, this project felt almost impossible to finish. I had worked on it for three years while doing full-time work, investing my own earnings, weekends, late nights, freelancers, and team effort. Codex changed the project from a distant dream into something I could actually build and ship as a hands-on product engineer.
What it does
TravelSriLanka helps travellers discover and plan Sri Lanka trips through a runnable web platform with:
- Destination, experience, cuisine, stay, event, tour, activity, story, and guide discovery pages.
- Trip planning and itinerary-focused browsing.
- Multilingual and multi-currency support.
- Strapi-powered editorial content.
- Global search powered by Meilisearch.
- Test-double support so the app can run without depending on every external service.
- A foundation for future booking, quotation, and local service-provider workflows.
- TravelSriLanka is currently running as a pilot version for Sri Lanka, but the platform itself is not hardcoded for Sri Lanka. Countries, destinations, content types, routes, currencies, languages, editorial pages, discovery hubs, filters, and search records are designed to be dynamically configured through the CMS and application configuration.
- This means the same product foundation can later support other countries, while Sri Lanka is the first market and pilot launch.
The live test version is available at: https://travelinsrilanka.dev
Content curation is still ongoing, but the product experience, architecture, and major discovery flows are already in place.
How we built it
The project is built with Java 21, Spring Boot, Thymeleaf, Unpoly, Maven, Strapi, Meilisearch, Docker, and ports-and-adapters architecture.
Codex was used heavily to design and implement major product areas, including hub pages, global search, CMS contracts, product instruction files, migration plans, frontend improvements, documentation, and review workflows. The .instructions/ files were also created and implemented with Codex to guide production readiness, SEO, locale slugs, canonical IDs, structured data, CSS splitting, and JavaScript library migrations.
I did not rely on a specialized AI-agent framework or custom AI toolchain. The main lesson was that strong architecture, clear boundaries, and well-defined product instructions let Codex build a serious product incrementally.
For some well-defined backend tasks, I also used Claude, then used Codex to review the implementation, challenge edge cases, and verify the changes still respected the architecture.
We built the system so the Sri Lanka-specific content lives in configuration and CMS data, not hardcoded business logic. Strapi manages country-specific editorial content, canonical slugs, page data, filters, discovery collections, and relationships. The Spring Boot application reads those structures through ports and adapters, so the product can evolve without rewriting the core platform for every destination.
Challenges we ran into
The biggest challenge was turning a large product vision into something shippable with limited time and money.
Other challenges included:
- Keeping the architecture clean while rapidly adding product features.
- Connecting many content types through Strapi without turning the app into hardcoded pages.
- Designing multilingual and locale-aware URL/search behaviour.
- Building global search across many traveller-facing content types.
- Migrating frontend dependencies while preserving the product experience.
- Creating a runnable version while the editorial content is still being curated.
Accomplishments that we're proud of
I am proud that TravelSriLanka is not just a proof of concept. It is a real product foundation with working routes, CMS-backed hubs, search, planning flows, documentation, and architecture that can grow.
I am especially proud of:
- Using Codex to move a three-year project toward release.
- Building a complete product experience, not only a demo.
- Implementing a ports-and-adapters architecture with test doubles.
- Creating global search with Strapi and Meilisearch.
- Building major discovery hubs for explore, experiences, cuisine, stays, trips, tours, activities, events, restaurants, local guides, stories, and written guides.
- Proving that AI agents can help a founder/architect become a hands-on product engineer.
- Building a product experience strong enough to sit beside platforms like Booking.com, Trip.com, and Klook in terms of traveller trust and booking confidence. My goal was not to copy them, but to create a platform credible enough for travellers to feel comfortable planning and eventually booking through TravelSriLanka. Reaching that level of product completeness is a major milestone for me.
What we learned
The biggest learning is that AI coding tools are most powerful when the project has strong architecture and clear product direction.
Codex worked best when I gave it specific goals, clear boundaries, existing patterns, and reviewable tasks. It was not just about generating code quickly. It helped with product thinking, implementation, documentation, migration planning, testing strategy, and review.
I also learned that AI does not remove the need for engineering judgment. Architecture, tradeoffs, domain understanding, and product vision still matter. Codex amplified those things.
What's next for TravelSriLanka
Next, I want to continue content curation and expand the booking and provider workflows.
Planned AI features include:
- AI agents contacting service providers to check availability.
- Replying to quotation requests using traveller context.
- Helping negotiate rates while keeping humans in control.
- Turning unstructured traveller requests into structured trip plans.
- Helping human agents respond to Facebook group itinerary questions with shareable AI-assisted itineraries and replies.
The long-term goal is to make TravelSriLanka a local-first travel operating platform: useful for travellers, local guides, restaurants, accommodation providers, activity hosts, event organizers, and Sri Lankan travel experts.
The immediate focus is to complete the Sri Lanka pilot, continue curating high-quality travel content, and validate the planning, search, discovery, and provider workflows with real users.
After the Sri Lanka pilot, the plan is to release the same platform model for other countries. Since the product is dynamically configured rather than hardcoded for Sri Lanka, future country launches can reuse the same architecture, CMS model, search pipeline, and AI-assisted travel workflows.
Built With
- aiagents
- amazon-web-services
- claude
- cms
- css
- digitalocean
- docker
- hexagonalarchitecture
- html
- java
- javascript
- maven
- meilisearch
- mongodb
- multicurrency
- multilingual
- openaicodex
- portsandadapters
- postgresql
- search
- springboot
- strapi
- thymeleaf
- traveltech
- unpoly
Log in or sign up for Devpost to join the conversation.