WHWealth Hajoh
Lagos, Nigeria
Hire me

my name is

Open to freelance & full-time

I buildAPIs that scale

Backend-heavy full-stack developer in Lagos. I design APIs, write servers in C and Rust, ship Android and Windows apps, and built Ometer, my own programming language. Scroll down and run it.

Scroll to board

Stop 01YabaRun my language

A dynamically typed language for the web that I wrote from scratch in TypeScript. The real engine is running in this editor: change the code and press Run.

  1. 01LexerReads your text and cuts it into tokens.
  2. 02ParserRecursive descent turns tokens into a syntax tree.
  3. 03CompilerWalks the tree and emits bytecode.
  4. 04VMA stack machine runs it, web server included.
Output

I build APIs, auth and webhooks; servers in C and Rust; Android, Windows and web apps; compilers and virtual machines; and motion.

Stop 02MarinaProduction builds

Six production-ready apps, each with real tests against real databases, Docker, CI, demo data and a full README.

01

Switchboard

Support ticketing SaaS

69 tests

Customer support for small teams. Customers write in through a hosted help center; agents work a shared inbox with live presence, internal notes, response targets and reports.

What it does

  • Shared inbox with live counts, full-text search and views for mine, unassigned and at risk
  • WebSockets show who has a ticket open and who is typing, so two agents never answer the same customer
  • Response targets pause while waiting on the customer and flag misses once

How it holds up

  • Tenant isolation in PostgreSQL row-level security, so a forgotten WHERE org_id can't leak data
  • Side effects run after commit: retrying email queue, live events fanned out through Redis
  • Attachments checked by magic bytes and served with a sandboxing CSP
NestJSReactPostgreSQL RLSRedisSocket.IOBullMQ
switchboardSwitchboard inbox with a wholesale pricing ticket open, its reply box and the SLA panel
02

Stallhouse

Multi-vendor marketplace

Integration + Playwright

A marketplace for independent makers. Buyers fill one cart from many stalls and pay once; each stall gets its share minus commission and ships its own part of the order.

What it does

  • One cart across stalls, each with its own shipping rule, and one hosted checkout
  • Sellers list items with options that carry their own price, stock and SKU, then ship with tracking
  • Admins approve stalls, set commission, remove listings with a reason and refund any order

How it holds up

  • Stripe Connect with separate charges and transfers, linked by order id
  • Stock is held while the buyer pays; tests cover two buyers racing for the last item
  • Refunds reverse the matching transfer, including partial and repeated ones
Next.js 15DrizzlePostgreSQL 16Stripe ConnectPlaywright
stallhouseStallhouse admin screen with a stall waiting for review and approve and reject controlsStallhouse product page for a speckled stoneware mug with two priced options
03

Diffwise

AI pull-request reviewer

99 tests

A GitHub App that reviews pull requests with built-in checks and Claude. One review per push, inline comments on the exact changed lines, and silence when there's nothing worth saying.

What it does

  • Every model finding must point at a line the PR actually added, or it is dropped
  • Rule checks always run: leaked secrets, string-built SQL, disabled TLS checks, eval and weak hashing
  • A dashboard shows each review, what was filtered out and why, and estimated cost per account

How it holds up

  • Prompt-injection guards: diffs are untrusted data and model text is escaped before posting
  • PostgreSQL job queue with SKIP LOCKED, leases, backoff and a dead-letter state
  • An evaluation set of 27 labelled PRs: 17 with real bugs, 10 clean ones full of traps
FastifyPostgreSQLZodAnthropic APIGitHub App
diffwiseDiffwise review page showing nothing reported and one low-severity MD5 finding filtered out
04

Portline

Logistics platform

28 + 5 Playwright

Courier, fleet, freight brokerage and a 3PL warehouse on one platform and one database. Every billable job is recorded once and billed into invoices customers see in their own portal.

What it does

  • Delivery runs check licence, insurance, double booking and weight before a run is planned
  • Warehouse allocates all-or-nothing in pick-path order, retries backorders and ships into the courier network
  • Freight carriers bid blind; a signed delivery document is required before a load counts as delivered

How it holds up

  • Money in whole cents, rates in basis points, one rounding rule per step
  • The database itself stops reserved stock exceeding stock on hand
  • Stock rows locked in a fixed order, so simultaneous orders can't oversell or deadlock
Spring Boot 4Java 21React 19PostgreSQL 16RedisFlyway
portlinePortline overview dashboard with parcel counts, a bookings chart and today's delivery runsPortline delivery run with seven stops, load summary and a route map
05

Pingwell

Uptime monitoring

91 tests

Self-hosted uptime monitoring and incident management. It checks sites and APIs, opens an incident when one goes down, alerts the team and publishes a status page.

What it does

  • A monitor goes down only after N failures in a row and recovers after M successes, so blips don't page anyone
  • Alerts to Slack, Discord, email and HMAC-signed webhooks, retried with backoff
  • Public status pages with 90-day uptime bars; response-time charts with p95 latency

How it holds up

  • SSRF-safe checker: follows redirects hop by hop and refuses private network addresses
  • The paging rules live in one pure function covered by fast unit tests
  • Alerts go through a transactional outbox; workers scale horizontally on Redis
FastifyBullMQReactTanStack QueryPostgreSQLRedis
pingwellPingwell monitor page with uptime, response time chart, 90-day bars and recent incidents
06

DevDoctor

Open-source CLI toolkit

72 tests

Eight pre-production checks for JavaScript and TypeScript projects in one npm package. npx devdoctor check runs everything that applies and returns one exit code for CI.

What it does

  • MigraGuard flags destructive or lock-heavy PostgreSQL migrations before they deploy
  • RepoDoctor scores repo health 0–100; DepScope, EnvDoctor, CommitSmith, ArchWatch, PulseAPI and LogLens cover the rest
  • Output as text, JSON, Markdown for PR comments or SARIF for code scanning

How it holds up

  • Every finding comes with a fix, like “add it nullable, backfill, then SET NOT NULL”
  • Each tool is also its own command and usable from code
  • It checked Portline before release and caught a real import cycle
Node.jsTypeScriptnpm packageSARIF
devdoctorTerminal output of MigraGuard and RepoDoctor listing errors, warnings and fixes
Next upA fintech reconciliation app

Stop 03Computer VillageApps you can install today

Seven apps I designed, built, tested and packaged myself: 3 for Android phones and 4 for Windows. Each one has a page with screenshots and a download button.

3 Android4 Windows
Android · APK01

Project boards your whole team actually opens.

Task management for small teams, made for phones. Boards, assignments and @mentions that sync live, and keep working offline.

  • Boards with your own workflow columns, cards moved in a tap
  • Live sync over WebSockets, with an offline queue that catches up
  • @mentions, due-date reminders and a shared inbox
React NativeExpoSQLiteFastifyPostgreSQL
Android · APK02

Stock control for small shops, run from your phone.

Inventory for small shops. Scan a barcode to sell, receive or count, reorder from suppliers and see profit. Offline, and no account needed.

  • Point the camera at a barcode to sell, receive or count
  • Every stock movement is logged, and mistakes are undone, never deleted
  • Reorder lists from low stock, and profit by product
React NativeExpoexpo-cameraSQLite
Android · APK03

Scan any code. Know what you're opening.

A QR and barcode scanner that checks links before you open them, joins Wi-Fi in a tap, and makes styled QR codes for print.

  • Warns about look-alike letters, shortened links and bare IP addresses
  • Reads QR, EAN, UPC, Code 128, Data Matrix and more
  • Styled QR codes exported as PNG or SVG
React NativeExpoReanimatedSQLite
Windows · installer04

Make the desktop yours.

A wallpaper manager that plays wallpapers like a music app: playlists, schedules, a different wall on every monitor, and live desktop widgets.

  • Shuffle, skip and repeat playlists from the tray
  • Schedules for mornings, nights and weekends
  • Per-monitor walls, six widget looks, and it pauses on battery
ElectronReactTypeScriptSQLite
Windows · installer05

Everything you copy, found again.

A clipboard manager in Rust. It keeps everything you copy, finds it as you type, and pastes it anywhere with Ctrl+Alt+V.

  • Instant search across text, links, code and images
  • Quick-paste popup over any app
  • Snippets, pins and folders, with optional encryption
TauriRustReactSQLite
Windows · installer06

Messy folders in, tidy folders out.

A file organiser with a visual rule builder. Drag blocks into a workflow, preview every move, apply it, and undo it if you change your mind.

  • Rules built by dragging blocks: when, if, then
  • A full preview before anything moves, and one-click undo
  • Duplicate finder, bulk rename and scheduled runs
ElectronReactTypeScriptSQLite
Windows · installer07

Every photo you've ever taken, on one timeline.

A photo and video organiser. A timeline you can zoom from years to days, trip albums made for you, look-alike detection, and an encrypted vault.

  • Zoomable timeline from years down to single days
  • Trip albums, EXIF details, tags and favourites
  • Private vault encrypted with AES-256-GCM
ElectronReactTypeScriptSQLite

Next up

Focusly, Memoir & Launchpad

Three more desktop apps on the way: a focus timer, a notes app with a knowledge graph, and a keyboard launcher.

See every app

Stop 04Third MainlandExperience

Four backend and full-stack roles in under a year, from a banking app to a ₦1.6bn IPO platform.

Download my CV
  1. 2026

    SCM Capital Limited

    Full-Stack Developer

    Dangote Refinery IPO subscription platform

    in applications processed
    ₦1.6bn
    investor applications
    1,500+
    • Built the platform end to end: online application, payment, then subscription to the NGX.
    • Issued each applicant a Globus Bank virtual account and confirmed payments in real time over webhooks, replacing manual matching of transfers.
    • Made NGX submission idempotent, so there are no duplicate subscriptions or duplicate debits of the firm's funding account.
    • Added Excel bulk upload and top-up flows, plus staff tools for tracking, reconciliation and investor lookup with role-based access.
    • Handled individual, corporate and minor applicants, checking BVN, NIN, CSCS/CHN, bank and broker details before submission.
    ReactTypeScriptTanStack StartSupabaseTailwindWebhooks
  2. May – Oct 2026

    Lincoln City Property

    Backend Developer

    Mobile banking app for a microfinance business

    • Engineered and maintained the backend services and core business logic behind the app.
    • Designed and tuned relational schemas and queries for reliability, security and speed.
    • Tested, troubleshot and performance-tuned for scale, and documented architectures, APIs and workflows.
    Backend servicesRelational databasesAPI docs
  3. Feb – Mar 2026

    Gurox

    Backend Developer

    • Developed and maintained backend services and application logic.
    • Built and managed database structures and queries, then tested and debugged for performance and scale.
    • Documented processes so the team could pick them up later.
  4. Oct 2025 – Jan 2026

    Agreonpay

    Backend Developer

    • Designed and built RESTful API endpoints for web applications, working with UI/UX designers and frontend developers.
    • Handled server-side logic, data processing and database work, and kept the backend fast and reliable.
    • Helped build frontend screens.
  5. 2 months

    AI Instructor

    Instructor & Mentor

    • Taught how modern AI systems work and how to use AI tools for learning, productivity and building.
    • Covered AI risks (security weaknesses, misuse and limits) so students use it responsibly, with hands-on practice.
  6. 2024 – now

    University

    BSc Software Engineering

    • Studying alongside work. Certificates in Python, Animation and the AI Starter Kit.

Stop 05LekkiFront-end & motion

A language and a CSS framework I designed myself, then front-end builds where motion carries the story: scroll-scrubbed video, 3D models you can turn, and pages that feel like the product they sell.

01

Ometer, my programming language

A dynamically typed language for the web, written from scratch in TypeScript. Source goes through a lexer, a recursive-descent parser and a bytecode compiler, then runs on a stack-based VM with a built-in web framework. The editor at the top of this page runs it.

Ometer landing page: 'Build the web. Your way.' next to an Ometer code sample for a web server
TypeScriptCompiler designBytecode VM
02

FlowCSS, my CSS framework

An animation-first CSS framework in one file: 40+ animations, glassmorphism, 3D tilt, scroll reveals and ready-made components, with no build step. Everything in this screenshot is plain HTML using FlowCSS classes only.

Page built only with FlowCSS classes: gradient headline, glowing buttons, a glass card with avatars and a progress bar, and stat cards
CSSJavaScriptnpm
03

Grand Theft Auto VI tribute

A cinematic fan page for GTA VI: the logo opens into a masked hero, trailer footage scrubs with your scroll, and Vice City characters slide in on layered parallax.

GTA VI tribute hero: Jason and Lucia on a Vice City dock under the Grand Theft Auto logo
ReactGSAPTailwind
04

MacBook Pro product page

An Apple-style product launch page rebuilt from scratch: glowing hero, video-filled M4 chip reveal and scroll-driven feature sections, matched to the original pixel for pixel.

MacBook Pro page hero reading 'Built for Apple Intelligence' above a glowing laptop
ReactGSAPThree.js
05

Suburbia skateboards

A loud street-brand storefront with a 3D skateboard you can customise — deck, wheels, trucks — plus hotspot callouts and hand-drawn type.

Suburbia hero with oversized 'Escape the cul-de-sac' headline and a 3D skateboard
Next.jsThree.jsTypeScriptPrismic

Stop 07IdumotaAll projects

54 projects, from Android and Windows apps to a microservices setup in Spring Boot. Filter by what you're hiring for.

FlowTaskAndroidTask management for small teams, made for phones. Boards, assignments and @mentions that sync live, and keep working offline.React Native, Expo, SQLite, Fastify, PostgreSQLGet itCode
StockPilotAndroidInventory for small shops. Scan a barcode to sell, receive or count, reorder from suppliers and see profit. Offline, and no account needed.React Native, Expo, expo-camera, SQLiteGet itCode
ScanlyAndroidA QR and barcode scanner that checks links before you open them, joins Wi-Fi in a tap, and makes styled QR codes for print.React Native, Expo, Reanimated, SQLiteGet itCode
WalloraWindowsA wallpaper manager that plays wallpapers like a music app: playlists, schedules, a different wall on every monitor, and live desktop widgets.Electron, React, TypeScript, SQLiteGet itCode
ClipNestWindowsA clipboard manager in Rust. It keeps everything you copy, finds it as you type, and pastes it anywhere with Ctrl+Alt+V.Tauri, Rust, React, SQLiteGet itCode
SortifyWindowsA file organiser with a visual rule builder. Drag blocks into a workflow, preview every move, apply it, and undo it if you change your mind.Electron, React, TypeScript, SQLiteGet itCode
MediaVaultWindowsA photo and video organiser. A timeline you can zoom from years to days, trip albums made for you, look-alike detection, and an encrypted vault.Electron, React, TypeScript, SQLiteGet itCode
Whisper — Cross-Platform ChatFull-scale chat application with desktop (Electron), mobile (React Native), web, and backend API versions. Four platforms, one codebase vision.TypeScript, Node.js, React Native, ElectronCode
Reelzzz — Social Media AppFull social media platform with video reels, heavy pagination, Node.js + Cloudinary backend, and TypeScript frontend.TypeScript, Node.js, Cloudinary, MongoDBCode
Ticketti — Event TicketingFull-stack event ticketing platform (v1 and v2) with booking flow, PHP backend, and JS frontend.JavaScript, PHP, MySQLCode

Stop 08SurulereWho's driving

I'm Wealth, a full-stack developer in Lagos who leans towards the back end: APIs, auth, real-time systems and the infrastructure under them.

I learn by building the thing itself. That's how I ended up with Ometer, a language with its own compiler and VM, and FlowCSS, a CSS framework — and why my GitHub has servers in C next to GSAP landing pages.

600+repositories on GitHub
₦1.6bnprocessed by the Dangote IPO platform I built
Right nowOpen to workFreelance projects and full-time backend or full-stack rolesBoard with me
--:--I reply within a day
15+ languages I write
JavaRustGoCC++PythonTypeScriptPHPKotlinDartLispPrologOmeter

Back end

Java · Spring Boot · Node.js · NestJS · Express · FastAPI · Go · Rust · Laravel

Front end

React · Next.js · TypeScript · GSAP · Three.js · Tailwind · Vue · Svelte

Mobile & desktop

React Native · Expo · Flutter · Kotlin · Electron · Tauri

Systems

C · C++ · Rust · x86 Assembly · Sockets · Memory management

Data & cloud

PostgreSQL · MongoDB · MySQL · Supabase · Redis · Docker · Kubernetes · GitHub Actions

Design & 3D

Figma · Blender · WebGL · Canvas · SVG animation

Stop 09ObalendeLast stop

An API that has to scale, a product site that has to move, or a tool nobody has built yet. Tell me what you're working on.

Open to freelance projects and full-time roles