Developing a Mobile App for a Barbershop
Barbershop and typical hair salon are different models. In a barbershop, the client often regularly books with a specific master. The app should account for this loyalty: "my master", haircut history, quick rebooking in one tap.
Quick Rebook
Main feature for regulars — not searching for master and service again, but "book with Alexander for haircut + styling, next available slot Friday at 5pm". One tap — confirmation.
Implementation: on each completed visit save lastBooking (master, services, duration). Home screen greets user with rebooking offer. Flutter: SharedPreferences or Hive for local storage of last order, ElevatedButton with AnimatedSwitcher animation on block appearance.
Schedule and Slots
Barbershop typically has long services — haircut + beard + styling = 90 minutes. Slots must account for real duration: can't place two 90-minute clients 60 minutes apart. Backend returns only truly free slots with buffer between appointments (5-10 minutes for cleanup).
Master schedule visualization — horizontal timeline instead of time list. CustomPainter in Flutter for timeline drawing with occupied blocks, or table_calendar package with custom calendarBuilders.
Portfolio and Styles
Work gallery with filtering by haircut type — key tool for choosing master. MasonryGridView (package flutter_staggered_grid_view) for varied-size photos. Lazy loading with CachedNetworkImage + placeholder via shimmer effect.
Tags for work: "fade", "tape", "classic", "beard" — help search for desired style.
Loyalty Program
Punch card ("10th haircut free") — simple, clear mechanics. In UI: visual card with circles, fill animation on getting new stamp. Backend: user profile counter, trigger on applying bonus at Nth completed visit.
Stack and Timelines
Flutter + Riverpod, Firebase Auth (SMS OTP), Firebase FCM, REST API. For scheduling management on barber side — web panel or integration with existing system (YClients API).
MVP (booking, master profiles, portfolio, history): 7-10 weeks. With loyalty program and personalization — plus 3-4 weeks. Cost calculated individually.







