Longtail boats moored on Railay Beach, Krabi, under a limestone cliff

Case studyTuvaju & Velintis

The client

From one booking siteto a platform for travel agencies

Tuvaju sells tickets and tours for the best things to do in Thailand. Velintis sells the system behind it to other travel agencies.

Dirk once ran his own travel agency into a successful business. He had the audience, the industry know-how and a clear vision. What he was missing was a technical foundation he owns, so he could sell straight to travellers instead of routing everyone through someone else's platform, and later sell that same system to other agencies. We designed and built both, and they run on the same foundation.

Client
Tuvaju & Velintis · Thailand
Services
Product architecture · UI/UX design · Booking & payments platform · Admin · Marketing website · Design system · Observability · AI-assisted delivery
Timeline
Aug 2025 – Present
Technologies
Adonis.jsVue.jsInertia.jsTypeScriptPostgreSQLNuxtTailwind CSSStripeTiqetsTypesense

The challenge

What we're solvingfor Tuvaju

First, Tuvaju had to sell one agency's tours, well: bring in live inventory from a ticketing provider, present hundreds of attractions and tours clearly, and let a traveller book and pay in a few minutes, all while staying fast and trustworthy on a phone. There was no existing technology and no design team.

Then the goal grew. A booking site built for one agency had to become something Dirk could sell to many: with its own brand, its own website to explain it, clear pricing in two currencies, and a way to launch a new agency in weeks instead of months. And all of it without slowing down the live site that was already taking bookings.

The traveller's journey

  1. 01SearchBy destination, attraction or city
  2. 02ChoosePhotos, tickets, what's included, real reviews
  3. 03PaySecurely with Stripe, in their own currency
  4. 04E-ticketsBy email, straight after payment
  5. 05ReminderBefore the trip, sent on its own

The strategy

How weworked

We built Tuvaju on one foundation that everything else plugs into, with the business rules written into it rather than bolted on. That is what let one agency's booking site become a product other agencies buy.

  1. 01

    Build on one foundation

    Attractions, tickets, prices, availability, bookings and payments live in one platform, with the business rules written into it. The booking engine, admin and emails Tuvaju proved in production are the same ones Velintis now offers other agencies.

  2. 02

    Plug into live inventory

    A live connection to a ticketing provider gives instant access to hundreds of attractions and keeps prices, availability and reviews up to date on its own, while Dirk lists his own hand-picked tours alongside them for healthier margins.

  3. 03

    Design around confidence

    Every attraction has a clear page with photos, ticket options, what's included and real reviews, so a traveller knows exactly what they are buying before they pay.

  4. 04

    Design for the phone first

    Most bookings happen on a phone, often on the way to the airport, so every page was designed for mobile before desktop.

  5. 05

    Set up a design system on day one

    Brand colours with full scales, neutrals, message colours, two typefaces and a set of building blocks. Every new page looks right the day it ships, and a brand change is one edit instead of a hunt across the site.

  6. 06

    Hand the team the controls

    A full admin, built alongside the storefront, lets the team add tours, set prices and follow every booking without a developer in the loop.

  7. 07

    Work in a weekly loop

    We meet Dirk every week. He brings what he hears from travellers and agencies, we bring real user feedback and analytics, and both turn into changes on the live product, usually within days.

  8. 08

    Turn it into a product

    Once Tuvaju was selling, we packaged it as Velintis: its own brand, its own website and pricing, and a launch process that gets a new agency selling online in five weeks.

The results

One agency's system,ready for many.

From first call to selling online
5 weeks
for a new travel agency on Velintis.
Reviewed changes shipped
360+
to the live product since the first commit.
From feedback to live change
Days
out of a weekly loop with the founder.
On one foundation
2 brands
so a fix made for Tuvaju is ready for every Velintis agency.

Studio Prats delivery records for Tuvaju and Velintis, October 2026.

  1. 01

    Live across Thailand

    Tuvaju takes bookings across Bangkok, Phuket, Krabi, Pattaya, Chiang Mai and beyond.

  2. 02

    A team that runs itself

    Dirk's team adds new tours on its own, and films a short video whenever something could be smoother, which becomes our next improvement.

  3. 03

    Inventory that keeps itself current

    New tickets, prices, availability and reviews arrive from the ticketing provider without anyone typing them in.

  4. 04

    Tickets straight to the inbox

    Payment received, booking confirmed, e-tickets and a reminder before the trip go out on their own. No printing, no waiting for a reply.

  5. 05

    A product, not just a site

    Velintis sells everything Tuvaju proved as a travel agency Business-in-a-Box, set up and launched in five weeks.

  6. 06

    Built once, shipped to every agency

    Both brands share one foundation, so every improvement made for Tuvaju reaches every Velintis agency too.

The project

See itin action

1.0 — Booking site

The Tuvaju booking site

Travellers search by destination, compare tickets on a clear attraction page and pay in a few minutes, in the currency they prefer.

Tuvaju homepage: Explore Thailand, with a destination search
HomeExplore Thailand: search by destination, attraction or city from the first screen.
Tuvaju attraction page for Hanuman World, with photos, tickets and a Book now button
AttractionPhotos, ticket options and a Book now button, all in one view.
Tuvaju traveller reviews
ReviewsReal reviews from people who booked their days out through Tuvaju.

“The booking interface and design structure look great — they match the high-end look and feel of leading platforms while keeping the experience simple and seamless for customers.”

Dirk van der Zaan · Founder, Tuvaju & Velintis

2.0 — Mobile first

Built for the phone

Most bookings happen on a phone, often on the way to the airport, so every page was designed for mobile first.

Tuvaju homepage on a phone
HomeThe search and the reasons to book with Tuvaju, a thumb away.
Tuvaju attraction page on a phone
AttractionPhotos and tickets for an attraction, sized for a small screen.
Tuvaju ticket options on a phone, with price and Book now button
TicketsFlexible cancellation, instant delivery and the price, right above Book now.

3.0 — Admin

The admin

A booking site is only as good as the team behind it. From one place, Dirk's team adds attractions and tickets, uploads photos, sets prices in any of the site's currencies, and manages availability, timeslots, cancellation rules and hotel pickups.

Tuvaju admin: the list of attractions
AttractionsEvery attraction in one list, filterable by city, and hidden from the public site with one switch until it is ready to sell.
Tuvaju admin: editing a ticket, with tabs for contents, prices, images, availability, timeslots, cancellation and pickup, and reviews
TicketEverything a ticket needs in one place, in tabs the team learns in minutes.
Tuvaju admin: the list of bookings with status and trip date
BookingsEvery booking followed from payment to trip day, with its e-ticket attached.

As the team grew, the admin grew with it: an account for each person, standard and super roles so only the right people manage other admins, and a choice of how long each person stays signed in.

4.0 — Velintis

One agency's system, ready for many

Velintis packages everything Tuvaju proved into a travel agency Business-in-a-Box: a booking website, secure payments, instant e-tickets, automated emails, a ticketing-provider connection and the admin, set up and launched for a new agency in five weeks.

Velintis Business-in-a-Box section, showing the store, automation, admin and marketing tabs
Business-in-a-BoxThe store, the automation, the admin and the marketing, each explained in its own tab.
The Velintis growth loop: admin area, attract, website sales engine, automation, repeat
Growth loopHow the system turns a linear, manual sales process into a loop that keeps bringing in bookings.
Velintis pricing: Launch, Pro and Premium packages with their first-year investment
PricingThree packages, each with a licence, a launch fee and yearly hosting, with the first-year total up front, in Thai baht or euros. Every round of pricing reached the live site within days.

velintis.com is a fast, search-friendly marketing site in English, Spanish and Thai, with a guided demo booking page and an FAQ.

Visit velintis.com

5.0 — Design system

A design system from day one

Before the first page was built, we set up a branded design system. Pages are put together from its building blocks instead of being styled one by one, so every new page looks right the day it ships.

Velintis design system: brand colours, slate neutrals, ocean blue ramp, semantic colours, teal and orange ramps
VelintisIts own brand, its own system: the website followed it from the first line of code.

What's in it

  1. 01A small palette of brand colours, each with a full scale
  2. 02A set of neutral greys
  3. 03Colours for success, warning and error messages
  4. 04A pair of typefaces
  5. 05Building blocks: buttons, links, form fields, cards and drawers

Two brands, two design systems: Tuvaju and Velintis each look consistent wherever a customer meets them.

6.0 — Ecosystem

Covering all the needs

Dirk doesn't manage a list of agencies and freelancers. He has one partner for everything digital, on one shared foundation.

  • CoreOne shared foundationAttractions, tickets, prices, availability, bookings & payments
  • Tuvaju booking siteFind, book & pay
  • Automated traveller emailsConfirmation, e-tickets, reminder
  • AdminCatalogue & bookings
  • Velintis marketing websiteThree languages, two currencies
  • Two design systemsOne per brand
  • MonitoringProblems surface on our side first
  • Live ticketing connection · TiqetsNew tickets, prices, availability & reviews, on their own

7.0 — Built with AI

Built with AI, the right way

A small team ships like a large one here because we use AI with discipline, not as a shortcut.

  • Since the first commit360+ reviewed changesshipped to the live product
  • Agents in parallelEach writes the code, tests & docs for its own change
  • Specs in the codebaseBehaviour documented as it's built, tied to no AI model
  • AI code reviewEvery change checked against our written standards
  • Custom agent skillsOne per brand's design system, for on-brand pages

8.0 — Under the hood

Under the hood

Tuvaju and Velintis are two apps in one codebase, sharing tooling and standards.

  • Booking platform & admin
    • Adonis.js
    • Vue.js
    • Inertia.js
    • TypeScript
    • PostgreSQL
    • Event-driven, domain-driven design
  • Marketing website
    • Nuxt
    • Static site
    • Tailwind CSS design tokens
    • English · Spanish · Thai
  • Integrations
    • Tiqets
    • Stripe Checkout
    • Typesense
    • Postmark
Infrastructure & observability
Cloudflare R2 with on-the-fly image resizing, so phones download only the size they need · OpenTelemetry traces and structured logs sent to SigNoz
Quality
160+ automated backend test files across unit, functional and integration tests, plus tests for the marketing site, all run in CI on every change · OpenSpec specifications · CodeRabbit AI code review

The conclusion

He brings genuine strategic inputand strategic vision to the partnership.

Dirk van der Zaan

Founder, Tuvaju & Velintis

From our weekly calls

What differentiates Ivan from other candidates is his proactive and insightful approach. Instead of just acting as a developer who narrowly executes instructions, he brings genuine strategic input and strategic vision to the partnership.

Tell us aboutyour project