Getting everything in place.

Images · type · a little life00%
Explore the sitedo/
Web, mobile & a little life.Lagos, NG

// 01 / Work

Selected work.

2022 - 20267 selected projectsWeb · Mobile · AI · 3D
03 / Selected work2022 - 2026 · 7 projects

Things I've
shipped & people use.

7 selected projects across web, mobile, and interactive experiences. Explore the problem, my contribution, and the outcome. Tap any row to expand.

Year
2025 - 2026
Type
EdTech · Web + Mobile
Role
Fullstack Engineer
Status
Shipped · 40k+ users
Stack
ReactNext.jsTypeScriptViteTailwindReact NativeExpoExpressFirebaseConvexStripeRevenueCatClerkTanStack QueryPlaywrightMaestro

Overview

I worked across the frontend and backend of Dakota Prep, an exam-preparation platform serving more than 40,000 users. Its products help tradespeople prepare for licensing exams and help educators support their students.

Problem

Licensing candidates need study material that matches their trade and exam, along with feedback that makes it clear what to practise next.

Solution

Practice exams, targeted study tools, AI-assisted learning, and progress reporting bring preparation into one connected experience.

My contribution

Built AI-tutor backend features and the review tools supporting them. Owned web and mobile payments, subscriptions, free trials, and educator purchasing flows. Rebuilt email journeys and preferences, maintained shared exam-generation and purchase logic, shipped multi-level exam progression, and launched an aptitude-exam product across web and mobile. Delivered Spanish localisation and established Playwright and Maestro end-to-end testing in CI.

Technical decisions

Kept exam-generation and subscription logic in a shared package across apps, and backed important user journeys with web and mobile end-to-end tests.

Challenges

Keeping curricula, subscriptions, localisation, and study progress consistent across a family of web and mobile products.

Outcome

Helped ship a platform serving 40,000+ users, a new aptitude-exam product, Spanish localisation, and a stronger web and mobile testing foundation.

What I learned

Useful education software connects what someone studies with what they need to do next.

Year
2025 - 2026
Type
EdTech · 3D · Simulation
Role
Fullstack Engineer
Status
Live
Stack
ReactTypeScriptViteTailwindThree.jsReact Three FiberZustandConvexClerk

Overview

Dakota Labs is a separate hands-on learning product in the Dakota ecosystem. It brings electrical concepts into interactive lessons, 3D model exploration, and virtual circuit practice.

Problem

Reading about equipment is different from understanding how its parts fit together or how a circuit behaves.

Solution

Interactive models and virtual labs let learners inspect equipment, explore components, and practise electrical concepts in a visual environment.

My contribution

Worked across the frontend and backend of Dakota Labs, including its interactive 3D learning experience. This project showcases my work beyond conventional dashboards: building interfaces where learners explore and interact with technical concepts.

Technical decisions

Keep the learning task at the centre of the interface. Model exploration and simulation controls should help explain the concept rather than compete with it.

Challenges

Bringing complex electrical concepts into an interactive experience that learners can understand and navigate.

Outcome

Contributed to a live product combining 3D learning and hands-on electrical practice.

What I learned

An interactive model is most useful when it helps someone understand a relationship they could not see in a static diagram.

Year
2025 - 2026
Type
AI · Life Design · Web + Mobile
Role
Lead Fullstack Engineer
Status
Live
Stack
ReactReact NativeTypeScriptViteTailwindExpoExpo RouterSupabasePostgreSQLSupabase Edge FunctionsDenoTanStack QueryOpenAIEASFramer Motion

Overview

Novii helps people understand themselves and navigate life transitions. I led fullstack development and built the initial version of its mobile app, contributing across the product rather than only its frontend.

Problem

Personal assessments can offer insight without giving people a practical way to carry that insight into everyday life.

Solution

A connected experience brings self-assessment, reflection, direction, and ongoing guidance into one product.

My contribution

Led fullstack development and built the initial mobile app. Delivered chat-based onboarding, AI-guided goals and action plans, task management, push notifications, and Apple and Google sign-in. Connected the mobile experience to its backend and established EAS build and delivery workflows, alongside work across the web product.

Technical decisions

Connected onboarding, goals, and everyday tasks through one mobile experience, with shared backend services and repeatable build and release workflows.

Challenges

Translating a personal and sometimes abstract process into software that feels clear and useful.

Outcome

Built the initial mobile experience and helped ship Novii’s live web and mobile product.

What I learned

Clarity comes from making the next step understandable, especially when the subject is personal.

Year
2025 - 2026
Type
Commerce · Sales Suite · Web + Mobile
Role
Software Engineer
Status
Shipped
Stack
Vue 3TypeScriptPiniaTanStack QueryTailwindReact NativeExpoZustand

Overview

Leyyow brings the everyday work of selling into one suite for merchants. I am currently building across its merchant dashboard, customer storefronts, and mobile storefront experience.

Problem

Merchants need to manage products, stock, customers, and orders while giving shoppers a clear path from discovery to purchase.

Solution

A connected sales suite brings business management and customer-facing storefronts together, helping merchants sell and manage their operations in one place.

My contribution

Built merchant onboarding, product and variant management, stock workflows, customer management, orders, discounts and coupons, delivery settings, and custom-domain setup. Developed the storefront shopping and checkout experience, including shipping, order confirmation, and receipts. Built the initial React Native storefront app, and improved shared forms, loading states, and end-to-end test coverage across the suite.

Technical decisions

Reuse form and interface components across merchant workflows, and keep storefront stock, pricing, and checkout aligned with the merchant suite.

Challenges

Handling product variants, changing stock, discounts, and delivery options consistently across the dashboard and storefront.

Outcome

Shipped substantial merchant and shopper workflows across the suite and storefronts, with ongoing development focused on helping merchants grow.

What I learned

Commerce software earns trust through the details: the right stock, the right total, and a clear next step.

Year
2025 - 2026
Type
Mobility · Transit Planning
Role
Fullstack Engineer
Status
Live
Stack
ReactNext.jsTypeScriptReact NativeExpoFirebaseTanStack QuerytRPCTemporalMapboxOpenTripPlannerTurborepopnpm

Overview

Ontra Mobility builds tools for transit planning, operations, and rider journeys. I contributed as a fullstack engineer to a product serving the practical needs of public transportation.

Problem

Transit agencies need to understand demand, compare service options, and connect planning decisions with the people using their networks.

Solution

Ontra connects planning, operational tools, and rider-facing experiences so agencies can work toward better transit service.

My contribution

Contributed fullstack engineering to Ontra’s web and mobile transit platform. Worked across multimodal journey planning, live trip information, interactive route and stop maps, and bike-share integrations, connecting user-facing experiences with backend APIs and workflow-driven services.

Technical decisions

Worked within a shared web and mobile codebase, connecting trip-planning experiences to typed APIs, geospatial services, and backend workflows.

Challenges

Presenting routes, stops, live transit updates, and multiple travel modes clearly across web and mobile.

Outcome

Contributed to responsive web and mobile journey-planning experiences with live transit information.

What I learned

Domain-heavy software needs interfaces that help people reason about their work, not simply display more data.

Year
2024 - 2025
Type
AI · Public Speaking · Athlete Training
Role
Lead Frontend Engineer
Status
Shipped
Stack
ReactTypeScriptViteTailwindRedux ToolkitTanStack QueryWebSockets

Overview

EngageX helps people practise public speaking, presentations, and media communication. Its athlete-focused experience targets professionals in leagues such as the NBA, NHL, and WNBA. I led frontend development.

Problem

Professional athletes face interviews and public appearances where confidence, clarity, and preparation matter. They need a useful way to practise before the real moment.

Solution

Immersive speaking environments and AI-assisted feedback give users a place to rehearse, review their performance, and keep improving.

My contribution

Led the frontend build from the initial application setup through user and admin dashboards, authentication, and the core practice experience. Built public-speaking and presentation sessions with recording, timers, slide navigation, audience questions, and live feedback. Implemented session reports, voice analytics, progress visualisations, and dedicated NBA, WNBA, and NFL media-training experiences.

Technical decisions

Built reusable session, recording, timer, and reporting components so public-speaking, presentation, and athlete-training experiences could share a consistent foundation.

Challenges

Coordinating recording, playback, audience interaction, timers, and report states while keeping the experience responsive and understandable.

Outcome

Shipped the frontend foundation, core practice and reporting flows, and dedicated athlete media-training experiences.

What I learned

Coaching interfaces should make feedback actionable and practice feel worth returning to.

Year
2022 - 2024
Type
Community · Social Platform
Role
Frontend Engineer
Status
Shipped
Stack
Vue 3VitePiniaVue RouterAxiosSocket.IO

Overview

TekTalk is a social network for people in tech. I built its frontend across the feed, profiles, topic conversations, events, notifications, and direct messaging.

Problem

A community needs more than a feed. People need ways to discover conversations, find each other, and stay connected.

Solution

Posts, topic spaces, profiles, events, search, and chat bring community activity into one responsive web application.

My contribution

Built authentication, posting, comments, likes, follows, profile editing, topic pages, events, search history, and notifications. Implemented direct messaging with unread indicators and image handling, then refined mobile navigation, loading states, infinite scrolling, and responsive layouts.

Technical decisions

Use shared state and routed views to connect the feed, profiles, notifications, and conversations, with responsive layouts for mobile use.

Challenges

Keeping posts, notifications, unread messages, and profile updates coherent as users move through the application.

Outcome

Shipped the community frontend, including direct messaging and the core social interactions.

What I learned

A social product depends on small interactions working consistently across every place a conversation can start.

04 / ToolkitTechnical breadth · product depth

How I build.

Seven categories, in order of how often I reach for them. Tools matter less than judgement; but here's what's on the bench.

01

AI-driven workflows

Production AI surfaces, not demos. Streaming UI, retrieval, evals, agentic tool-calling, voice, built into the actual product loop. Three live products use the AI features I shipped.

OpenAIStreaming UIRAGAgentic flowsLangGraphPrompt evalVector search
02

Frontend

I build interfaces that hold up under real conditions: flaky networks, low-end devices, fast iteration. Component systems that scale beyond the launch sprint.

ReactNext.jsVueNuxtTypeScriptJavaScriptHTMLCSS
03

Styling & UI

Tailwind by default, design tokens always. I treat motion, accessibility, and responsive behaviour as features throughout the build.

TailwindFramer MotionDesign SystemsA11yCSS GridAnimation
04

Backend & Data

Supabase with strict RLS, REST or RPC, edge functions for auth and webhooks. I write Postgres that other engineers can read six months later.

SupabasePostgreSQLNode.jsDjangoRESTRLSEdge Functions
05

Mobile

React Native with Expo, NativeWind for styling, offline-first by default. Shipped apps live in pockets across networks I can't pretest on.

React NativeExpoNativeWindEAS
06

State & Data

TanStack Query for server state, Zustand or Pinia when local. The right tool, not the trendy one, and rarely Redux unless the team already runs it.

TanStack QueryZustandPiniaRedux Toolkit
07

Tools & Ops

Git, GitHub Actions, Vercel, Netlify, Figma, Linear. CI that runs the eval suite. Deploys that don't wake people up.

GitGitHubVercelNetlifyFigmaCI/CD
05 / MethodEight steps · one direction

How the
work moves.

Not a methodology, a habit. The steps stay the same; the time spent at each one is what changes.

01

Understand

Sit with the problem before reaching for a framework. Ask whose day this is supposed to improve.

02

Map flows

Draw the user's path on paper. Find the smallest version that still teaches us something real.

03

Architect

Decide the data shape before the UI shape. The right Postgres schema removes a hundred future bugs.

04

Build

Composable, typed, and small. Each component owns one decision; the system stays editable.

05

Integrate

Wire data with care. Optimistic updates, retry logic, and error states designed before the happy path is celebrated.

06

Stress-test

The empty state. The 3G state. The 47-character name. Edge cases are the product.

07

Polish

Motion, micro-copy, hierarchy. The last 5% is what people remember and what makes them trust the rest.

08

Ship & learn

Deploy small, listen close, iterate weekly. Software is never done. It just gets useful sooner.

Now let’s meet thestudio.

Next · Studio

Or back tothe start.

Next · Home
// Index

A portfolio of shipped products, in-production interfaces, and the work I'm willing to put my name on.

Colophon
Instrument SerifGeistGeist Mono