← Back to work
Private client project 2025·Full-stack Engineer

Astronomical Experience Booking Platform

Booking platform for stargazing experiences with payments.

Overview

The project

An astronomy observatory tour operator needed to sell scheduled stargazing experiences online. I built a Laravel + Vue platform with experience booking, availability and schedule management, payments, and reminder notifications.

Screens

Screenshots

Tap any image to enlarge. Use arrow keys to navigate.

Stack

What I built it with

Laravel 11Vue 3Tailwind CSSAlpine.jsMySQLVite

My role

What I owned

  • Built the experience-booking flow with availability and schedule management.
  • Integrated Tilopay for online payments.
  • Built an admin panel for experiences, content, and bookings.
  • Implemented booking-reminder email notifications via scheduled jobs.
  • Built blog, gallery, contact, and newsletter sections.

Architecture

How it's wired

  • 01Laravel 11 with Vue 3 + Alpine.js front-end interactions.
  • 02Scheduled jobs for upcoming-booking reminders.
  • 03Tilopay payment integration.
  • 04MySQL-backed experiences, schedules, and bookings.

Hard parts

What was challenging

The decisions worth talking about in an interview.

Selling time-boxed experiences

Stargazing slots are capacity- and date-bound, so the booking model had to reconcile schedule, capacity, and existing bookings before taking payment — the kind of availability logic that's easy to get subtly wrong.