← 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.