Compare
Joel Transport vs WDDNG vs Makunike.com AI Twin
The problem, what was built, the stack and the outcome, next to each other.
Clear · Up to 3 at a time
In common
- Shared stack: none in common
- Both kinds of work: Web
- Order: Joel Transport (Dec 2022 – May 2023) → WDDNG (Jan 2026 – present) → Makunike.com AI Twin (Oct 2026)
Swipe sideways to compare ›
Joel Transport ›
Online booking platform on AWS
WDDNG ›
South Africa's wedding marketplace, with two apps on Google Play
Makunike.com AI Twin ›
This website: a portfolio you can interview by phone call or chat
At a glance
- Role
- Lead Engineer
- When
- Dec 2022 – May 2023
- Length
- 6 mo
- Status
- Live
- Type
- Web, Platform
- Role
- Founder / Full-stack & Mobile Engineer
- When
- Jan 2026 – present
- Length
- 10 mo so far
- Status
- Live
- Type
- AI, Mobile, Web
- Role
- Designer & Engineer
- When
- Oct 2026
- Length
- 1 mo
- Status
- Live
- Type
- AI, Web
The problem
Centralised the customer journey and operational data, reduced manual hand-offs and set up a documented AWS foundation.
South African couples plan across fragmented directories, WhatsApp messages and opaque “price on request” listings, while many international tools don't support local multi-ceremony wedding journeys.
Portfolios are static, but hiring conversations aren't. A recruiter wants to know whether I've shipped mobile apps, a hiring manager wants a production story in STAR form, and a sourcing agent wants structured answers it can compare. A PDF CV can't do any of that.
What was built
Led architecture and hands-on engineering for an online booking platform: Python APIs and the AWS deployment architecture, integrated with Paystack, Sage Accounting, Zoho Bigin and Zoho SalesIQ.
A Next.js and Supabase marketplace with two Kotlin / Jetpack Compose Android apps on Google Play: one for couples, one for vendors. Thuli, the AI planner, is a LangGraph supervisor coordinating 16 specialist agents.
A digital version of me that holds a real interview by phone-style voice call or text, grounded only in material I curated. It changes what's on screen as it answers, logs what it can't answer so I can teach it, records and QA-scores every call, and is reachable by other AI agents over MCP and A2A.
Stack
- Python
- AWS
- Paystack
- Sage
- Zoho
- Next.js
- Supabase
- PostgreSQL
- Kotlin
- Jetpack Compose
- LangGraph
- Zod
- Paystack
- Azure
- LangSmith
- Next.js 15
- React 19
- Tailwind CSS v4
- GPT-6.1 (Azure, Responses API)
- gpt-realtime-2.1
- WebRTC
- text-embedding-3-small
- Supabase pgvector
- TypeSafe Jev
- MCP
- A2A
- Azure Blob
- LangSmith
- Vercel
Highlights
- Python APIs and AWS deployment architecture
- Paystack, Sage Accounting, Zoho Bigin and Zoho SalesIQ integrations
- Two Kotlin / Jetpack Compose Android apps published on Google Play
- Thuli: a LangGraph supervisor coordinating 16 specialist agents through Zod-typed handoff tools
- Per-agent model selection, token metering and LangSmith tracing
- SSE streaming that renders vendor cards and progress during an answer
- Generative UI: the model calls typed navigate and show_panel tools, streamed to the browser as NDJSON events
- Phone-call voice on gpt-realtime-2.1 over WebRTC, with every call recorded, transcribed and QA-scored
- TypeSafe Jev in ten places: routing, tool selection, interview mode, guards, lead scoring, grounding, triage, FAQ review, agent vetting and call QA
- Self-improving RAG: weak or ungrounded answers land in a ranked CMS inbox and become FAQs
- MCP and A2A servers with request vetting and rate limits for agent-to-agent interviews
Infrastructure choices
- AWS
- Supabase with PostgreSQL RLS
- Vercel serverless (Next.js route handlers)
- Azure OpenAI
- Supabase Postgres + pgvector (HNSW)
- TypeSafe Jev
- Azure Blob Storage
Outcome
Centralised the customer journey and key operational data, reduced manual hand-offs and established a documented AWS foundation for future development.
The marketplace runs across web and two production Android apps, giving couples structured planning tools and vendors better-qualified enquiries with date, budget and guest-count context.
The twin never invents a fact about my career: when it doesn't know, it says so and I'm notified. Intent-matched navigation fires within about a second, before the first answer token. Every call is recorded, transcribed and scored so review starts with the calls that need it, and one knowledge base serves text, voice, MCP and A2A.