Skip to content
Andacity Booking System

Engineering Case Study

Andacity Booking System

Search inputs arrived from users and suppliers in inconsistent formats, creating unpredictable search behavior. I designed a canonical query layer and normalized entity model that kept booking behavior stable as the product expanded and suppliers grew.

  • Qwik
  • TypeScript
  • Zod
  • PostgreSQL
  • Drizzle

Overview

Andacity is a product-facing booking system where search reliability drives conversion. The platform had to support growing inventory, changing query patterns, and iterative UI work without introducing unpredictable search behavior.

Editorial image of a travel booking product planning workspace for the Andacity overview section

Problem Space

Travel search inputs arrive in messy forms: ambiguous dates, inconsistent location labels, and supplier-specific naming conventions. Without a canonical model, every new filter or supplier integration creates branching logic and conflicting assumptions across API, database, and UI layers.

Editorial image showing fragmented travel-search inputs and conflicting booking cues

Role and Scope

I led the system architecture and implementation, including search contract design, schema normalization, route-level composition, and frontend query orchestration. I worked across product requirements and implementation constraints to keep feature delivery fast without sacrificing long-term clarity.

Lead engineer coordinating architecture decisions for a booking platform

System Design Decisions

I established a canonical query layer at the boundary so all downstream logic consumed a normalized representation regardless of how users entered data. Entity modeling was organized around explicit relationships (location, inventory, availability, pricing), which made data flow easier to reason about and reduced hidden coupling between screens.

Structured systems-design scene representing canonical queries and normalized data relationships

Implementation Complexity

The hard part was preserving product flexibility while preventing query drift. I introduced typed parsing and validation at ingress, route contracts that enforced canonical params, and reusable UI composition patterns that kept filter behavior consistent across responsive breakpoints and future feature additions.

Complex but controlled engineering workspace showing validation and route orchestration

Why It Mattered

The canonical query layer became the architectural foundation for sustainable growth. Every subsequent feature—new filters, supplier integrations, platform expansion—could build on the same normalized contracts without legacy logic accumulating. The team could ship confidently because architectural constraints reduced edge-case failure modes and made search behavior predictable under scaling. By coupling architectural discipline with explicit role contracts, the system remained maintainable despite growing complexity, which allowed product work to move faster without accumulating technical debt.

Mature travel platform atmosphere suggesting scalable dependable product operations

Next

Build systems like this.

This case study demonstrates architectural discipline, strategic decision-making under complexity, and long-term maintainability thinking. If you want this level of system clarity, let's talk.

Editorial engineering image showing structured technical systems work.
Alden Gillespy

Software engineering and cinematic production, structured as one practice.

Contact

Engineering work, production inquiries, and selected opportunities.

© 2026 Alden Gillespy