
The Kandy district in Sri Lanka is a prime tourist destination known for its cultural heritage and natural landscapes. However, tourists planning short, one-day trips face difficulties optimizing their time and budget due to scattered, outdated, or incomplete information online.
To ensure the platform addressed real needs, I conducted stakeholder interviews via student forums and distilled findings into actionable requirements. The research revealed a strong need for accurate pricing, distinct travel times, and flexible pre-made packages; these were prioritized into an MVP scope.
Focuses on budget and time efficiency
"I choose a place if I can get there and back comfortably. I hate when blogs show 'empty' sites but don't warn you about the 2-hour queue or midday heat."
Advises others on realistic itineraries
"I need an app that highlights the 'Travel-to-Site Ratio'. If a place requires 4 hours of driving for 1 hour of fun, it ruins the day plan."
The application was built using a robust Model-View-Controller (MVC) architecture with Laravel 11, ensuring a clean separation between the database logic and user interface.




Offers pre-configured, thematic packages (e.g., Cultural, Nature & Wildlife, Museums) for users who prefer ready-made plans. Users can select a package as a foundation and easily swap out one or two stops to fit their preferences.

The core engine of Serandib allows users to manually select Kandy attractions (like the Temple of the Sacred Tooth Relic or Udawatta Kele). The system compiles the choices, factors in standard dwell times and travel durations, and outputs a cohesive day plan.

Reliability was key for an itinerary planner where users depend on accurate timing. I adopted a rigorous manual testing approach to validate the core logic.
Before writing code, I mapped out the entire user journey. The itinerary generation flow follows a strict process:
User Selects Attractions → Engine Validates Dwell Times → Calculates Two-Way Travel → Checks Constraints (Daylight Hours) → Outputs Cohesive Plan.
Building Serandib addressed a highly specific yet common pain point: the stress of organizing an efficient, single-day local trip amidst a sea of fragmented information.
Key Takeaways: This project deepened my understanding of the MVC design pattern, database normalization, and requirements engineering. Early BA activities (stakeholder interviews, problem framing, and prioritization) shifted the product focus toward pragmatic details (like the "Travel-to-Site Ratio") rather than just showcasing attractions.