everything I've built.
even the ones I've shelved.

From production apps with real users to weekend experiments that taught me something. Filtered by type.

Showing 0 projects

Featured

2

Side projects

12
Product · Full-Stack
RentWatch
2026

Built for the Enyata × Interswitch Buildathon 2026. Mutual accountability platform for Lagos landlords and tenants with a Hue Score reputation system, role-based dashboards, and lease/payment management. Full PostgreSQL schema with RLS.

Next.jsTypeScriptTailwindCSSSupabaseFramer Motion
Visit
Full-Stack · Experiments
Guessing Game
2026

Real-time multiplayer word-guessing game. Session management, reconnection handling, live state broadcasting, countdown timers, player disconnect cleanup. Frontend and backend both tested.

Socket.ioTypeScriptReactViteSupabaseVitest
Play it
Full-Stack
Blogr
2026

Full-stack blog platform with post scheduling via Bull/Redis job queue, JWT auth, pagination, and tag filtering. REST API built as AltSchool coursework, extended into a full app.

Angular 21SignalsNode.jsExpressBullRedis
Visit
Full-Stack · AI
Flow Reminder
2026

Full-stack reminder app with AI-powered voice call notifications via Vapi. CRUD, automatic timezone detection, real-time status tracking, optimistic UI with React Query.

Next.jsTypeScriptshadcn/uiFastAPISQLiteVapi
GitHub
Full-Stack
Birthday Reminder
2026

Node.js service with a daily cron job that queries a Supabase PostgreSQL database and sends personalised HTML birthday emails. Full Jest coverage.

Node.jsTypeScriptSupabasenode-cronNodemailerJest
Visit
Experiments
Box Model Tutorial
2025

Interactive educational tool that teaches the CSS box model through reactive UI demos and visual state changes. Built to teach a younger sibling.

Angular 20Angular CDKMaterial UIRxJS
Visit
Experiments
Math Game
2025

Reactive arithmetic quiz with Angular Signals, OnPush change detection, randomised questions, animated feedback, and a hi-score tracker.

Angular 20Material UITypeScript
Visit
Experiments
Social Media Dashboard
2025

Analytics tracker displaying aggregated stats across platforms with a light/dark theme switcher.

React 19TailwindCSS
Visit
Experiments
Currency Converter
2025

Live currency conversion app with real exchange rates, localStorage caching, hourly auto-refresh.

Angular 19Material UIRxJSHttpClient
Visit
Mobile
Todo App (RN)
2025

Mobile todo app with dark/light mode, drag-and-drop reordering via long-press gesture with spring animations, slide-out delete animations.

React NativeExpoReanimatedGesture Handler
Visit
Mobile
Space Tourism App
2025

Mobile-first space tourism intro app with custom swipe gestures, animated transitions, and persistent preferences.

React NativeExpoAsyncStorage
Visit
Product
Gem Pet Food
2026

Custom Shopify landing page with a before/after image slider, theme settings schema, and a fully responsive layout.

Shopify LiquidJavaScriptCSS
Visit

Archive

9
HTML / CSS / JS
Tip Calculator
2023

Multi-input tip calculator with custom radio cards and reset flow.

HTMLCSSJSjQuery
Visit
HTML / CSS / JS
Crochet Site
2023

Personal site for my crochet hobby, with a section showcasing finished pieces.

HTMLCSSJS
Visit
JavaScript
Simon Game
2022

JavaScript memory game with sound and animated button sequences.

HTMLCSSJavaScript
Play
JavaScript
Drum Kit
2022

Keyboard and click-triggered drum sound player. DOM manipulation.

HTMLCSSJavaScript
Play
HTML / CSS
Sunnyside Agency
2022

Multi-section landing page. Responsive. Frontend Mentor challenge.

HTMLCSS
Visit
HTML / CSS / JS
TinDog
2022

Responsive landing page with Bootstrap carousel and pricing cards.

HTMLCSSBootstrap 5JS
Visit
HTML / CSS
QR Code Component
2023

Responsive card with CSS custom properties. Two versions for the fun of it.

HTMLCSS
HTML / CSS
Single Price Grid
2022

Accessibility-inclusive pricing card.

HTMLCSS
Visit
HTML / CSS
Four Card Feature
2022

Responsive feature grid rebuilt from an earlier attempt.

HTMLCSS
Visit

Spotted something worth talking about?

Whether it's a build you'd like to collaborate on, a role you think I'd be a fit for, or just a question about how something here works, I'm a fast reply.