📖 30 Lessons from 30 Years is now available for pre-order.
A reflection on growth, leadership, failure, and purpose from three decades of life.
Pre-order:
https://t.co/1U1iUaQlkP
Turning 30 today. Grateful for every lesson, challenge, and opportunity along the journey.
Excited to unveil:
📖 30 Lessons from 30 Years
🎙️ Ideas & Insights
🌐 Personal Website
🚀 30–40 Vision
30 Years of Learning. The next decade of building starts now.
11 years. 2 exits. 1 truth: 🏛️
Stacks die, but pillars remain:
Integrity (Handle the edge cases)
Clarity (Junior-friendly PRs)
Resilience (Handle the failures)
Architecture is a marathon. Let's build for the long game. 🚀
The 2026 "Winner's Stack" for SaaS: 💻
Runtime: Node.js / Bun
Safety: tRPC + Zod
Data: Postgres (Vector) + Redis
Scale: BullMQ (Queue everything)
The stack doesn't make you, but it makes you unstoppable. ⚡️
2 exits changed how I write code. 🏛️
The "Founder-Engineer" mindset:
Critical Path only (No bloat)
Maintenance = Liability (Use "Boring" stacks)
Speed to Value (Ship & Validate)
Don't just solve tickets. Protect the asset. 🚀
Most AI startups fail on unit economics. 📉
Scaling AI requires "Token Intelligence":
Model Routing (Cheap for simple, Pro for complex)
Prompt Caching (Don't re-run intent)
Local Embeddings (Edge > API)
Efficiency is a moat.
Location is a legacy constraint. Talent is global. 🌍
Leading remote teams at 10mg Health (UTC+1) requires Asynchronous Excellence:
Document-first (If it’s not written, it’s not real)
Loom > Meetings
Outcomes > Hours
The cloud is the new HQ.
How do you approve insurance in milliseconds? 🛡️
At Insurpass, we built deterministic risk engines:
Tiered Rules (Logic > Guessing)
Real-time data hooks (KYC/Fin)
Immutable Audit Trails (State snapshots)
Accuracy > Speed.
In Fintech, your API is the product. 💳
At Zeeh Africa, we boosted API adoption by 470% by focusing on:
The 5-Minute Rule (Time-to-first-call)
TypeScript SDKs (Intellisense > Docs)
Built-in Idempotency
Growth is an engineering job.
257 freelance projects taught me more than any textbook. 🎓
Lessons from the trenches:
Users care about problems, not stacks.
MVP = Minimum, not Messy.
Use a "Boring" stack (Next.js) to ship faster.
I build to finish. 🚀
60% performance gains aren't about hardware; they’re about fixing "Silent Killers." 🏎️
Kill N+1 queries.
Use Redis for expensive calculations.
Optimise Next.js bundles for mobile users.
Stop driving with the handbrake on. ⚡️
Webhooks are the silent backbone of SaaS. 🔗
Scaling integrations (Stripe/Zeeh) requires an Event-Driven mindset:
Listener: Validates & Queues ONLY.
Worker: Handles logic via BullMQ/Redis.
Retries: Exponential backoff for 3rd party lag.
Your Database Schema is the Source of Truth, not the UI. 🗄️
My rules for production-grade PostgreSQL/Prisma:
Index every WHERE/JOIN clause.
Atomic migrations only. No manual DB edits.
Use Archive strategies > Soft Deletes.
Clean data = Clean code.
In 2026, TypeScript isn't a choice; it’s a requirement. 💻
But true TS mastery isn't just about variables. It’s about:
Type safety at the boundaries (Zod/tRPC)
Discriminated Unions > Optional fields
Zero any policy
Velocity requires types.
AI is a feature, not a business model. 🧠
As a YC Startup School & Techstars Alum, I ask:
Is this an LLM problem or a RegEx problem?
What are the Unit Economics (Cost-per-token)?
Are we building a moat or a wrapper?
Don't let the hype outpace the ROI.
RAG is easy to demo, hard to scale. 📚
For 10k+ docs at 10mg Health, "close enough" isn't an option.
Semantic Chunking (Meaning > Length)
Hybrid Search (Vector + Keyword)
Re-ranking (Context precision)
Precision is the goal.
SaaS is moving from "AI-Enabled" to "Agent-Driven." 🤖
A chatbot talks; an Agent executes. My stack for <5% failure:
Planner Agent (Steps)
Tool Use (Real APIs: Stripe/Zeeh)
Critic Loop (Self-correction)
The Agent is the new UI.
If your AI features run on the main request cycle, you can't scale. 📉
LLMs are slow; your API shouldn't be. My blueprint:
User hits endpoint -> BullMQ Job
Background worker handles LLM/Vector logic
Webhook updates UI
Build for resilience.
Stop treating LLMs like a "Black Box." 🤖
In production, hope isn't a strategy. My reliability stack:
Force JSON with Zod/Instructor
LLM-as-a-Judge for audits
Version prompts like code
AI is 10% prompting, 90% engineering. 🛠️
I’ve navigated 2 startup exits. An acquirer doesn't just buy your users. They buy your Technical Maturity. 🏛️
Due diligence looks for:
48hr dev onboarding
Security by Design
Observability
Is your code an asset or a liability?