All projects
Full-stack Web Application 2025

Mary's Farm

A flexible reservation and experience-booking platform for a farm business — venues, overnight stays, appointments, payments, and admin workflows.

  • React
  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL
  • Stripe
  • Tailwind CSS

Mary’s Farm is a custom reservation and experience-booking platform built for a farm business with several types of bookable experiences. The goal was to move beyond a simple checkout flow and build a flexible system that supports real operational complexity: venues, rooms, appointments, guest information, payments, admin workflows, availability rules, and check-in flows.

Context

The problem

Mary’s Farm needed a system that could support several different booking models inside one product. A standard ecommerce checkout was not enough because the business sells experiences, not just products. Each reservation depends on time, capacity, resource availability, attendee details, forms, waivers, payment state, and operational rules.

My role

What I worked on

I contributed as a developer focused on building and improving the booking platform across both customer-facing and admin-facing areas:

  • Building and refining booking flows for different reservation types
  • Implementing admin tools for managing venues, rooms, bookings, and users
  • Connecting the payment flow with Stripe
  • Working with Supabase and PostgreSQL for data modeling and backend logic
  • Improving authentication and user management flows
  • Building reusable UI patterns for complex forms, calendars, and dashboards
  • Supporting availability logic so resources cannot be double-booked
Highlights

Key features built

Booking

End-to-end reservation flow

Customers browse experiences, choose a date and time, enter details, complete payment, and manage bookings afterward. Admins can also create bookings outside the normal checkout flow.

Resources

Venues & rooms management

Admins create, edit, enable, and disable venues and rooms. These resources plug into the booking flow, availability checks, and customer-facing experience pages.

Scheduling

Appointment booking

Session duration, capacity per appointment, ticket variants, required and bundle-style variants, hidden admin-only variants, sales launch timing, cutoff windows, add-ons, schedule by date range, buffer times, blocked dates.

Payments

Stripe integration

Connects booking state, checkout state, pricing totals, taxes, fees, and customer information — smooth on the frontend, reliable on the backend for confirmations and updates.

Operations

Admin dashboard

A scalable admin layout for checking bookings, managing resources, configuring experiences, and reviewing customer information.

Identity

Auth & user management

Improved login flows, profile pages, and admin-facing user management with role-based workflows.

Decisions

Technical direction

  • Flexible reservation modeling — structured around reservation types and resources to support different rules for venues, rooms, appointments, and future booking categories.
  • Customer / admin flow separation — customer flows focus on simplicity, admin flows focus on control.
  • Server-side validation — backend checks prevent conflicts and protect booking integrity. Availability is too important to leave only to the frontend.
  • Modular feature growth — clean extension points for memberships, waivers, reminders, QR check-in, and access workflows.

A booking platform is not just a calendar plus a payment button. It is a coordination system — time, inventory, people, payment, communication, access, exceptions, and admin operations.

Outcome

Where it landed

A strong foundation for a custom farm reservation platform, with completed work across authentication, user management, admin layouts, venues, rooms, booking management, customer booking flows, and Stripe payments — and a clear path toward appointments, memberships, waivers, QR check-in, access workflows, and more reservation types.