Gifa Restaurant & Lounge
- Client
- Gifa Restaurant & Lounge
- Industry
- Hospitality
- Year
- 2026
A restaurant and lounge site for Seven Sisters Road, London: menu, gallery, events, private hire and table reservations, all managed by the restaurant from its own dashboard.
24
Tables behind menu, bookings and events
0
PDF menus to keep in sync
1
Place the restaurant edits everything
What it covers
- Menu management
- Table reservations
- Private hire enquiries
- Events calendar
- Gallery
- Contact & opening hours
- Content dashboard
A menu that changes is a database, not a PDF
Most restaurant sites publish the menu as an image or a PDF that goes stale the week after launch. Here the menu is data: dishes, categories, prices and descriptions the restaurant edits itself, which means the site is still accurate in six months.
Everything a room needs to fill itself
Reservations, private hire enquiries, an events calendar and a gallery, alongside the delivery partner link. The site is the front of house for people who have not walked in yet.
Built for the evening
The design is dark and warm by default because that is what the room is like, and because a restaurant site is mostly opened at night on a phone.
How it was built
- Framework
SvelteKit
Server load functions, form actions and endpoints; SSR by default.
Svelte 5
Runes for reactivity ($state, $derived, $effect).
- Language
TypeScript
Strict mode across app and server code.
- Data
MySQL
Primary datastore.
Drizzle Kit
Committed SQL migrations rather than push-to-prod diffing.
Drizzle ORM
Typed schema and queries, with migrations generated from the schema.
- Auth
Better Auth
Session-based auth with server-side verification.
- Forms
Superforms
Progressive-enhancement forms with server-side validation.
Zod
One schema validating both client and server.
- UI
TanStack Table
Sorting, filtering and pagination for admin tables.
Chart.js
Reporting charts.
Dark mode
System-aware theme switching.
Lucide
Icon set.
Bits UI
Headless primitives behind the component library.
Embla
Carousels.
Tailwind CSS
Utility-first styling with a project design token layer.
- Infrastructure
Client image compression
Uploads compressed in the browser before hitting the server.
Nodemailer
Transactional email over SMTP.
Inside the system