↑↓ MoveEnter OpenEsc Close
Product Engineer

I engineer products from interface to architecture.

I work across product, design, engineering, and intelligent systems turning difficult constraints into software people can understand and organizations can rely on.

Product system / active layerProduct
Product

The problem worth solving

Connects to design + system

01 / Selected work

Selected work

Products shaped across interface, system, and operational reality.

The Agege LGA portal running Skoolbod Nexa, introducing its connected school-management platform.
Multi-tenant school managementLive client deployment · Agege LGA

Skoolbod Nexa

Skoolbod’s LGA-wide school-management platform, giving LGA, zonal, school, teacher, and parent users their own workspace over the same school records.

Responsibility
Design system, overall UI, frontend architecture, API integration, and substantial engineering
Core challenge
Keep complex records, permissions, reporting, and workflows understandable across LGA, zonal, school, teacher, and parent contexts.
School management on mobileLive on the App Store and Google Play

Skoolbod Mobile

A mobile app connecting administrators, teachers, students, and parents to school records, communication, academic activity, and reporting, with saved information still readable offline.

Responsibility
I designed and developed the complete client, more than 30 screens, with React Native, TypeScript, Expo, and Expo Router, and supported its App Store and Google Play releases. Other engineers built the backend services.
Core challenge
Persist successful reads to MMKV for offline reuse, keep writes connection-dependent, and use TanStack Query to revalidate every five minutes or on reconnect with clear offline and freshness feedback.
Scribe website showing its local-first activity journal and an example Git-backed work log.
Developer toolingPublic on the VS Code Marketplace · v0.0.8

Scribe

Turning everyday coding activity into a private, readable record without asking developers to maintain another system.

Responsibility
Product design, extension architecture, implementation, documentation, marketplace distribution, and the product website
Core challenge
Capture enough context to support reflection and recovery while keeping source contents, activity history, and infrastructure under the developer’s control.
Lulu mobile home screen showing lesson progress, word practice, and conversational review actions.Lulu tablet home screen adapting the same learning progress and practice actions to a wider layout.
African language learningLive on Google Play

Lulu

A mobile learning experience for building practical skills in Yoruba, Igbo, Hausa, and Swahili through lessons, quizzes, and everyday phrases.

Responsibility
Improving an existing React Native app: feature boundaries, TanStack Query server state, API integration, purchases, and payment entitlement sync
Core challenge
Give learners the same access whether they pay inside the app or on the web, with the backend as the single source of truth for what they’ve paid for.

02 / How I build

How I build

One Product Engineering practice, supported by four disciplines.

01

Product

Find the decision that changes the product, not merely the next feature.

Problem framing · stakeholder discovery · feature prioritization
02

Design

Make complex workflows feel considered, calm, and learnable.

Interaction systems · design systems · accessibility
03

Engineering

Build the architecture and interface as one coherent product system.

Frontend architecture · mobile · desktop · system design
04

Intelligence

Use AI where it improves judgment, throughput, or understanding.

Agent orchestration · provider evaluation · human review

03 / A decision is part of the product

A decision is part of the product

Architecture becomes useful when its reasoning remains visible.

Featured engineering decisionRetrospective note

Why PostgreSQL over MongoDB?

The data was relational before the interface made that obvious.

School operations connect people, roles, classes, terms, assessments, and audit history. The decision optimized for integrity and change - not early schema convenience.

ContextOperational system of record
ConstraintsRelationships · auditability · reporting
OptionsPostgreSQL / MongoDB
Decision PostgreSQL
TradeoffUpfront schema discipline

What this protects Consistent data, explicit relationships, and reporting that does not become archaeology.

Inspect the full decision

04 / Thinking

Thinking

Notes on how I make product, design, and engineering decisions.

01
Engineering

Pick a database by what must stay true

A retrospective decision note using school software as the example: start with the records the product can never get wrong, then pick the database that protects them.

7 min read
05
Systems

Working offline is a promise, not just a cache

In Skoolbod Mobile, saving data on the phone was the easy part. The real work was deciding what people can do offline and showing them how fresh their information is.

In draft
06
AI

Useful AI doesn’t always need a chat box

What building AwenesOS shows about putting AI to work on real tasks while the person stays in charge.

In draft
07
Product

Decide who is responsible before deciding who has access

Skoolbod serves administrators, teachers, students, and parents. Access stays easy to understand when it follows what each person is actually responsible for.

In draft
Explore all working arguments
Start a conversation

Building something difficult?

If there is an interesting product, engineering, design, or intelligent-systems problem worth discussing, reach out.