Inspiration
Every solo business owner I know has the same plumbing problem: a contact form is too low-friction, Calendly is too high-friction (subscribe, configure, brand it), and a custom booking page is a 3-day project. BookSlot is the booking widget I would have wanted at my first side gig: one page, three services, seven days of slots, done.
What it does
A single deployed page that a small business can drop into their site or share as a direct link.
- Pick a service (Classic Haircut $25 / Premium Grooming $45 / Quick Styling $15 in the demo, or change them)
- Pick an available slot from the next 7 days (9am to 5pm grid)
- Drop name, email, phone, optional notes
- Get a confirmation card with a unique booking reference (BSlot-XXXX)
No accounts, no payment integration, no admin dashboard. Bookings live in memory for the demo (swap in a Supabase table when you go live).
How I built it with MeDo
One Deep Build prompt described the layout (service cards, 7-day calendar, customer form, confirmation card), the booking-reference format, and the warm peach + cream palette. MeDo produced a Requirements doc with the four page sections and acceptance criteria, then generated a Vite + React + Tailwind app with the slot grid and reference generator. No follow-up turns needed.
Plugins and APIs used
- React + Vite + Tailwind (MeDo default stack)
- In-memory booking store (sessionless; one click to swap for Supabase)
- Mobile-first responsive Tailwind grid
Challenges I ran into
Getting the 7-day calendar to feel breezy. The first pass put all 56 slots on the page at once and it was too dense. Tightening to one day at a time (with day-tabs above the slot grid) made it usable on mobile. Booking reference uniqueness uses a 4-char random suffix; that is fine for the demo (96^4 = ~85M combinations) but I would swap in a counter or ULID for production.
What I learned
The friction in MeDo was UX-fitness, not code-fitness. The generated code worked first try. The judgment calls were about density and tap targets, which I wouhttps://app-bqzuzb6gzc3l.appmedo.comld have had to make whether the code came from MeDo or my own hands.
What is next
- Swap the in-memory store for a Supabase table (1 prompt)
- Email confirmation via Resend (1 prompt)
- Embeddable iframe + lightweight branding controls
Built With
- medo
- no-code
- react
- tailwind
- typescript
- vite

Log in or sign up for Devpost to join the conversation.