
OpenActive dashboard
2025–26Main contributor · Open Data Institute
A clearer way to explore the UK’s open data about places and activities.
363 of 376 commits · 65 merged PRs · 243 tests
- Next.js
- React
- TypeScript
- Tailwind
- +3
A mix of open-source work and products I've worked on for clients and employers. The public repositories are linked where I can share them.

Main contributor · Open Data Institute
A clearer way to explore the UK’s open data about places and activities.
363 of 376 commits · 65 merged PRs · 243 tests

Main contributor · Open Data Institute · Solid
A familiar file manager for data stored in a Solid Pod.
279 of 324 commits · 51 merged PRs

Frontend engineer · Code Funhouse
A coding platform for students, teachers and parents, with lessons, a browser editor, AI-assisted tutoring and a separate hackathon product.

Eclait
A platform where creators can run memberships, livestream, chat with fans and sell products.

Platnova
Business and consumer web apps with multi-currency wallet and transfer flows, cards and savings.

Frontend developer · Turbham Technologies
Vue frontends for Turbomedics: a patient app and a separate health-centre and lab operations app.
Volunteer Profile Manager · Sole author, Open Data Institute
A volunteer profile manager for skills, availability, locations, equipment and credentials, stored in the user’s Solid Pod.
84 commits
Next.js · TypeScript · LDO · TanStack Query · Leaflet · N3 · Inrupt client · @solid/object · @volunteeringdata/object
@solid/react-component · Sole author, Solid
Shared React components for Solid sign-in, including a login page, provider picker, auth guard and Next.js adapter.
20 of 20 commits
React · TypeScript · Jest · Next.js
LibreChat × Solid · Contributor, Solid
Work on adding Solid-OIDC sign-in to LibreChat, including WebID profile lookup, Pod discovery and session handling.
140 commits · 9 merged PRs
Express · React · Node.js · Solid-OIDC
solidproject.org · Contributor, Solid · W3C
Accessibility improvements and content updates on the Solid project’s public website.
49 commits · 11 merged PRs
HTML · CSS · Accessibility
CC Search · Outreachy intern, Creative Commons · Outreachy
My Outreachy project: moving CC Search pages from PHP to semantic HTML, CSS and JavaScript.
8 merged PRs
JavaScript · HTML · CSS
Engagevents · Frontend engineer, part-time, EngagEvents
Live Q&A, polls, quizzes, surveys and word clouds for events, with moderation and host analytics.
Next.js · TypeScript · Redux Toolkit · Socket.IO
Minxx Club · Freelance
A Medusa-backed lash store with collections, kits and an AR-style try-on called Minxx Mirror.
Next.js · TypeScript · Tailwind · TanStack Query · Zustand · Medusa
Elite Connect Camp · Code Funhouse
Residential summer camp — parent and agent registration with Stripe checkout and Sanity CMS.
Next.js · TypeScript · Tailwind · Stripe · Sanity · Zod · Motion
Next Gems Camp · Code Funhouse
A sister camp site that uses the same Stripe checkout and Sanity CMS pattern, with a different interface.
Next.js · TypeScript · Tailwind · Radix · Stripe · Sanity · Zod · Motion
Fun Tech AI · Company site
Company site for custom AI agents across fintech, education and health.
Architecture portfolio · Client
Portfolio for architect Izuagbe-Ibrahim Hamid — project gallery and testimonials.
Next.js · React · TypeScript
Audiophile · Personal
Premium audio storefront — catalogue, category pages and cart.
Some of this work lives in private client repositories. Get in touch if you want to know more →