Back to projects

Studio Prats case study

Travel tickets & tours booking MVP

Aug 2025 – Feb 2026Full stackVue.jsNode.jsTypescriptAdonisJSPostgreSQLMVPTailwindCSSB2CTravelVisit project
Travel tickets & tours booking MVP

Travel tickets & tours booking MVP

Stack: Vue.js · Node.js · TypeScript · AdonisJS · PostgreSQL · Tailwind · Vite · Datadog · Cloudflare · Heroku Services: Product architecture · Full-stack development · UI/UX · Observability · CI/CD · AI-assisted delivery

Overview

We built the MVP of a web app that lets a seasoned travel marketer sell attraction tickets and tours directly to travellers. It plugs into a ticketing provider's API for instant access to hundreds of attractions, tours and tickets, and it also lets the founder list his own hand-picked tours for healthier margins. We launched focused on Thailand, with the architecture built to scale to new countries soon.

The Client

The founder once ran his own travel agency and is exceptional at marketing and traffic acquisition. He had the audience, the industry know-how and a clear commercial instinct — what he was missing was the technical foundation to turn that into a product he owns. Together we paired his travel expertise with modern tech so he could sell directly to customers instead of routing everyone through someone else's platform.

The Challenge

Strong traffic only pays off if there's a product ready to receive it. The founder needed to aggregate live inventory from a ticketing provider, present hundreds of attractions and tours cleanly, and let people book — all while staying fast and trustworthy on mobile. There was no existing tech foundation and no design team, so the MVP had to be built to scale from day one without cutting corners on quality or experience.

The Strategy

We made deliberate engineering choices to keep the product both fast to iterate and ready to grow:

  • End-to-end TypeScript. We built the full backend in TypeScript so it could share types and contracts with the TypeScript frontend — fewer integration bugs, faster changes.
  • A backend built to scale. We followed an event-based architecture paired with Domain-Driven Design and Hexagonal Architecture, keeping business logic clean and the system easy to extend country by country.
  • A base-component design system. On the frontend, a "base component" approach kept styles consistent across the project and UI bugs to a minimum.
  • UI/UX we owned end to end. With no designer on the team, we implemented the full interface ourselves — loading and error states, form responses, instant feedback, safe error handling, and a fully responsive layout for a seamless mobile experience.
  • An admin panel that runs the business. We built a fully functional admin so the team can handle the day-to-day on their own — no developer or technical person in the loop. That independence is what lets them give end-users the fastest, best service possible.
  • First-rate observability. We set up telemetry and automatic bug catching with Datadog, so issues surface before users have to report them.
  • A safety net of tests + CI/CD. Unit tests around business classes and behaviours, plus high-level HTTP end-to-end tests, all run through a full CI/CD pipeline that tests and builds on every deploy.
  • Security and speed. Cloudflare guards against bots and brute-force attacks, and a CDN serves and transforms assets to cut users' data usage and improve Core Web Vitals like load speed.

AI-assisted delivery

A small team shipped like a large one by leaning on AI the right way:

  • We ran Claude and Codex in a concurrent, parallelised workflow — up to five agents working on different features at once, each handling its own coding, testing, documentation and deployment.
  • An automatic AI code-review action checks every change for quality and good patterns.
  • We followed the OpenSpec framework to document and scale the work in a structured way, independent of any particular model.
  • We wrote custom agent skills so the agents could debug and ship features faster and with more certainty.

Testimonial

Working with Ivan and Studio Prats has been great, specially the communication and the way he brought his own experience and feedback to the product.

— Dirk van der Zaan, Founder, Tuvaju

A look at the product

Curated destinations on the storefront, a detail page for every attraction and tour, real traveller reviews, and the admin behind it all that keeps inventory in sync.

Have a project in mind?Let's talk.

Briefly tell us about your project. We will contact you quickly.

Tell us about your project

Studio Prats

[email protected]

9:00 a.m. to 6:00 p.m. — Monday to Friday