Back to projects

Case study

Full Stack2026

BOOKHOUSE cafe

A Pune book café site for browsing shelves and reserving over WhatsApp.

A Next.js website and Supabase admin for a neighbourhood book café — visitors browse English and Hindi shelves, reserve books over WhatsApp, and explore the menu, communities, and visit details while staff manage live content from a single dashboard.

BOOKHOUSE cafe home page hero with brand typography and visit calls to action.
Next.jsTypeScriptTailwind CSSSupabaseFramer MotionZodPlaywright

Contribution

  • Built the full public site and Supabase-backed admin for a real café brand in Pune.
  • Implemented bilingual English and Hindi shelf views with search, category chips, and keyboard navigation.
  • Designed a reservation cart that batches selected titles into one WhatsApp handoff.
  • Shipped admin tools for books, menu, communities, settings, and a visual site customizer.
  • Added menu, communities, and visit pages with structured data for local discovery.

Outcome

Delivered a polished café presence with a staff-ready admin — connecting browsing, community, reservation, and live content management in one calm reading-room experience.

Technical decisions

  • Static public site with optional Supabase CMS

    The marketing site prerenders from content modules and falls back to static files when Supabase is offline, while the admin dashboard edits live inventory when connected.

    Next.js · Supabase · TypeScript

  • WhatsApp-first reservation flow

    Kept checkout lightweight by persisting a local cart and composing a pre-filled WhatsApp message instead of building payment infrastructure.

    Next.js · Zod

  • Single-staff admin with guarded auth

    One Supabase Auth account manages books, menu, communities, and site settings — public sign-ups disabled and email allowlisting enforced in middleware.

    Supabase · Next.js

Challenges

  • Making bilingual shelves feel equal, not translated

    English and Hindi collections needed distinct tone and typography without duplicating the entire UI.

    Resolution: Shared shelf components with language-specific content modules and dedicated Hindi routes where layout needed to adapt.

  • Letting staff edit content without redeploying

    Menu prices, book stock, and community details change often — the café needed same-day updates without touching code.

    Resolution: Moved catalog data to Supabase with on-demand revalidation, cover uploads to Storage, and a site customizer for branding and page copy.