Community Interest Company · Easton, Bristol
Somali Kitchen Bristol CIC
20+ catering bookings from a website that didn't exist 5 months ago.
A five-page Next.js site with a Supabase admin for a Bristol CIC supporting Somali and other migrant women. 100+ newsletter subscribers from zero. 97 / 100 on Google PageSpeed.
- Sector
- Community Interest Company · women's wellbeing
- Location
- Easton, Bristol
- Launched
- Late 2025
- Role
- Designer & developer

Scattered across chats. Stalling at the donation step.
Somali Kitchen runs four weekly workshops across two Bristol postcodes and raises money from individual donors and small grants. Before the site, all of that lived across several WhatsApp groups and the occasional Facebook post.
Members couldn't reliably find when and where the workshops were running that week.
Donors who wanted to give had no obvious place to do it. The team had heard directly from people put off donating because it wasn't clear how.
Photos of recent sessions were trapped in chat histories. Useless for funders, partners, or social media.
New enquiries landed wherever. Whichever group, whoever happened to be looking.
No newsletter at all. Anyone who came once was rarely heard from again.
The brief was simple. One reliable home on the web the team could send anyone to.
What I built.
Five pages and four small features. Each one taking a job out of a group chat.
Pages
Five routes- 01
Home
What Somali Kitchen is, who it serves, how to get involved.
- 02
About Us
Story, named team, registered CIC status, vision. The page funders look for.
- 03
Workshops
Four weekly sessions with day, time and venue, in one place the team can link to.
- 04
Gallery
Recent photos from sessions, kept current by the team themselves.
- 05
Contact
Typed form with a reason dropdown, plus phone, WhatsApp, email and the Easton address.
Features
Four behind-the-scenes pieces- 01
Admin panel
Supabase login. The team upload new gallery photos and update workshops without me.
- 02
Donate form
On the homepage and contact page. Built to fix donor friction the team had already heard about.
- 03
Newsletter
GDPR-consented sign-up on every page. A channel they'd never had before.
- 04
Catering lead capture
A catering section on the home page plus a Catering option in the contact form. Quietly added — 20+ bookings later, it's the surprise revenue line on the site.
The calls worth flagging.
Replace many places with one place.
Every feature on the site exists to take something out of WhatsApp or Facebook and give it a stable URL the team can share once.
The team don't need me to keep it current.
Photos and workshop times were the two things changing weekly. Both had to be self-serve from day one. The admin panel handles both.
The contact form arrives pre-sorted.
Volunteer · Donation · Catering · General. Every enquiry lands tagged so the team can triage from the inbox.
The donate form was driven by real donor feedback.
Donors had told the team it was unclear how to give. The fix was a one-click form on the two pages people were already reading.
From scattered chats to a place that pays back.
Catering bookings driven by the site. A revenue stream that wasn't online before.
Newsletter subscribers. From zero.
Live and used daily by the team.
Place donors finally know how to give.
Built fast. Stays fast.
The site scores 97 / 100 / 100 / 100 on Google PageSpeed Insights. No template would do this. It’s what hand-coded Next.js buys you.
- 97
Performance
- 100
Accessibility
- 100
Best Practices
- 100
SEO
- First Contentful Paint
- 0.9 s
- Largest Contentful Paint
- 2.6 s
- Total Blocking Time
- 40 ms
- Cumulative Layout Shift
- 0
- Speed Index
- 2.1 s
Google PageSpeed Insights · Lighthouse 13 · Mobile · Captured May 2026
We're extremely happy with the design, the process, and how straightforward Mustafe was throughout. The site is structured the way we actually work. We're proud to show it to donors and to members. It reflects who we are and what we do.
How it was built.
Next.js (App Router) for the frontend, Tailwind for styling, Supabase for admin authentication and gallery uploads, custom forms for the newsletter, contact and donations. Statically generated for speed and SEO. The gallery loads on the client so uploads appear without a redeploy.
- Next.js
- Tailwind
- Supabase
- Custom forms
Every page, in full.
Home
01 / 05
About Us
02 / 05
Workshops
03 / 05
Gallery
04 / 05
Contact
05 / 05
On a phone.
05 screens
Home

About Us

Workshops

Gallery

Contact
Want something like this?
Hand-coded, custom, in your name from day one. Let’s have a conversation.