Currently booking late June · ~2 slots per quarter

Mustafe.
The work · Case study

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
https://somalikitchen.org.uk
Somali Kitchen Bristol CIC homepage on desktop
The problem

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.

  1. Members couldn't reliably find when and where the workshops were running that week.

  2. 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.

  3. Photos of recent sessions were trapped in chat histories. Useless for funders, partners, or social media.

  4. New enquiries landed wherever. Whichever group, whoever happened to be looking.

  5. 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

What I built.

Five pages and four small features. Each one taking a job out of a group chat.

Pages

Five routes
  1. 01

    Home

    What Somali Kitchen is, who it serves, how to get involved.

  2. 02

    About Us

    Story, named team, registered CIC status, vision. The page funders look for.

  3. 03

    Workshops

    Four weekly sessions with day, time and venue, in one place the team can link to.

  4. 04

    Gallery

    Recent photos from sessions, kept current by the team themselves.

  5. 05

    Contact

    Typed form with a reason dropdown, plus phone, WhatsApp, email and the Easton address.

Features

Four behind-the-scenes pieces
  1. 01

    Admin panel

    Supabase login. The team upload new gallery photos and update workshops without me.

  2. 02

    Donate form

    On the homepage and contact page. Built to fix donor friction the team had already heard about.

  3. 03

    Newsletter

    GDPR-consented sign-up on every page. A channel they'd never had before.

  4. 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.

Decisions

The calls worth flagging.

  1. 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.

  2. 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.

  3. The contact form arrives pre-sorted.

    Volunteer · Donation · Catering · General. Every enquiry lands tagged so the team can triage from the inbox.

  4. 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.

Five months later

From scattered chats to a place that pays back.

  1. Catering bookings driven by the site. A revenue stream that wasn't online before.

  2. Newsletter subscribers. From zero.

  3. Live and used daily by the team.

  4. Place donors finally know how to give.

Measured

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.

  1. 97

    Performance

  2. 100

    Accessibility

  3. 100

    Best Practices

  4. 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

In their words
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.

Zainab, admin · Somali Kitchen Bristol CIC

Stack

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
Screens
  1. Home

    01 / 05
    Somali Kitchen homepage
  2. About Us

    02 / 05
    About Us page
  3. Workshops

    03 / 05
    Workshops schedule page
  4. Gallery

    04 / 05
    Gallery page
  5. Contact

    05 / 05
    Contact form page

On a phone.

05 screens
  1. Somali Kitchen homepage on mobile

    Home

  2. About Us page on mobile

    About Us

  3. Workshops page on mobile

    Workshops

  4. Gallery page on mobile

    Gallery

  5. Contact page on mobile

    Contact

fin. for this one.

Hand-coded, custom, in your name from day one. Let’s have a conversation.