Desire Kaleba, lead engineer in Nairobi

I build products alone, and run them in production.

PageVow has paying customers and has never spent on marketing: 123 people have made 600+ pages with it. VelaBid runs real-time car auctions in an invite-only beta. I built both alone. At StartupBlink, I lead seven engineers on a platform 40+ governments rely on. I work AI-first, and I review and own everything that ships.

// things i built

two products, built and run alone
01 / product

PageVow · founder, solo engineer

Personal pages for birthdays, proposals, graduations and weddings: letters, albums and invitations. 123 people have made 600+ pages, about five each, and nobody found it through an ad. AI writes from the customer’s own notes, and nothing is published unchecked.

pages_generated
600+ from 123 users
team_made_requests
79
marketing_spend
0 (first $200 came organically)
TypeScript Turborepo · Next.js · NestJS · Drizzle · PostgreSQL · Cloudflare R2 · Paystack
02 / product

VelaBid · founder, solo engineer

An auction marketplace for rare performance and collector cars, in an invite-only public beta: listings, timed auctions, real-time bidding, watchlists, messaging and notifications.

bids
validated on the server
soft_close
late bids extend the auction
settlement
state transitions with failure recovery
TypeScript Turborepo · Next.js · NestJS · Drizzle · PostgreSQL (RDS) · Socket.IO · BullMQ/Redis · Stripe · S3/CloudFront

// git log --career

7 years in production · startups in the US, Canada, Europe, Israel and Africa
  1. Oct 2023 → now
    Lead Full-Stack Engineer @ StartupBlinkI lead seven engineers on a startup-ecosystem intelligence platform that ranks 300,000+ startups across 118 countries and that 40+ government clients rely on. An end-to-end platform refactor I led raised engagement 35% in 5 months.
    • ~18M requests a month
    • ~70% cache-hit rate
    • 2+ deploys a week
    • deploy time −50%
    my work there, as a case study →
  2. Oct 2022 – Sep 2023
    Full-Stack Engineer @ StartupBlinkJoined as an engineer; became lead a year later.
  3. Sep 2022 – May 2023
    Software Engineer (contract) @ Entendre FinanceServerless Node.js for crypto accounting across millions of on-chain transactions. Later acquired by MoonPay.
  4. Feb – Dec 2022
    Node.js Mentor & Curriculum Developer @ Side HustleMentored 1,800+ developers, wrote the backend curriculum and made 50+ training videos.
  5. May 2021 – Jul 2022
    Senior Backend / Full-Stack Engineer @ Manaknight DigitalAPIs across 5 client products, remote with a Toronto team. Cut latency 67%.
  6. Oct 2019 – May 2021
    Software Engineer, Backend/Cloud @ FastoServicesAWS Fargate, SNS and SQS, Docker, Terraform and Ansible in Kampala. Set up Datadog observability.
  7. Aug – Oct 2019
    Full-Stack Engineer @ FulusiReact, Redux and Django, in Kampala.
BSc Computer Science · International University of East AfricaAWS Certified Cloud PractitionerAdvanced React (Triplebyte)

// how i build

AI-first. Human-reviewed. Owned by me.

I use coding agents (Claude, Codex), MCP integrations, custom skills and multi-agent workflows for implementation, refactoring, testing, debugging and architecture analysis. They make me fast. They don't make the call. I review everything before it ships, and I own what happens after.

  1. 01Agents draft. I review every change before it ships, and I own the result.
  2. 02At StartupBlink I brought this to a team of seven: coding agents, MCP integrations, custom skills and multi-agent workflows, all under human review.
  3. 03On PageVow the rules are written down for the agents: no change without its tests, no bug fix without a test that fails first. 373 test files so far, from unit tests to 52 Playwright journeys.
  4. 04PageVow holds its own AI to the same standard: unchecked model output never gets published.
  5. 05I run what I ship: Cloudflare and Redis in production, 2+ deploys a week, and deploy time cut by half.
~/pagevow/CLAUDE.mdthe rules my agents work under
18## Testing — every change ships with its tests
19- Every new feature and every behaviour change comes
with tests in the same commit. No tests, not done.
20- Every bug fix adds a regression test that fails
without the fix (check it by reverting the fix once).
27- Tests never call real services (OpenAI, R2, Paystack,
email) and never use the real .env keys; the suites
refuse to run if they see one.
28- Never weaken, skip or delete a test to get green.
If a test is wrong, fix the test and say why in the
commit.
# 373 test files · 52 Playwright journeys

// stack.graph

Every tool here is wired to the jobs and projects where I used it, with what I actually did. Click anything, type a name, or walk it with the arrow keys.

33 tools · 7 places · 50 links · every link comes from my CV or my code
TOOLS · 33WHERE I USED THEM · 7
LANGUAGES & RUNTIMESFRAMEWORKSDATAPAYMENTSCLOUD & DELIVERYOBSERVABILITYWORKFLOW & AI
WHERE I USED THEM
LANGUAGES & RUNTIMES
FRAMEWORKS
DATA
PAYMENTS
CLOUD & DELIVERY
OBSERVABILITY
WORKFLOW & AI
// contact. email works best.desirekaleba@gmail.comNairobi, Kenya · UTC+3 · working remotely · English, French, Swahili