Billiard Club Booking and Ordering System with Telegram BotBilliard Club Booking and Ordering System with Telegram Bot
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
A self-initiated product: a booking and ordering system for a billiard club in Tbilisi. I designed it in Figma from scratch and built all of it, from the interface to the database. Guests call the club and nobody answers. They arrive and every table is taken. They want food and wait at the bar. Side Pocket moves all of that to the website. Key decisions No guest accounts. A booking needs a name and a phone number. The guest gets a private link to move, extend or cancel. The link is the account. A 15-minute hold. Guests check in with "I'm at the table." A table nobody claims goes to the waitlist, and the next person gets the same 15 minutes. Ordering tied to the table. Guests order from their phone during the game, add time themselves and see the bill as it grows. One screen for staff. Every table's state for the night, late arrivals and orders to serve pinned to the top, bookings and orders boards, alerts in Telegram. A Telegram bot. It understands "table for 4 tonight at 8" in English or Russian and finishes the booking with buttons. Scope Guest site with live availability, single and group booking, waitlist, private booking page, table page with menu, cart and bill, email confirmations and reminders, staff dashboard, Telegram bot. Stack React 19, TanStack Start, TanStack Router and Query, Tailwind 4, Radix UI, Supabase Postgres with row-level security, pg_cron, Brevo and Resend, Telegram Bot API, Vitest. Business rules sit in plain functions, separate from the UI and the database, with 73 tests. Only server functions touch the database. My role Product design, UI design, front-end, back-end, database, integrations. Live demo: side-pocket.lovable.app
Built for the #LovableChallenge by @Contra and @Lovable. #BuiltWithLovable😊
Rahman's avatar
creative
Sergey's avatar
Thanks!😍
Alaa 's avatar
This is an incredible and well-thought-out project! Building everything from scratch with such deep attention to the user experience and tech stack is truly inspiring. Great job 
Sergey's avatar
Thank you, that means a lot! The UX part took the most time, especially keeping booking to just a name and a phone number😊
Hazem's avatar
When a group's first players reach the club before the person who booked, can one of them press "I'm at the table", or does the 15-minute hold run on the booker's private link?
Sergey's avatar
Anyone from the group can check in. The hold is tied to the booking, not to a person.
The booker gets a private link with a "Copy link" button, so they can drop it in the group chat. Whoever gets to the club first opens it and taps "I'm at the table." If nobody has the link, they...
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started