Skip to content
bytemelPublic

About

Config files for my GitHub profile.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

122 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timothy Mwangi. I make programmes and communities run, and I build the tools they need.

Profile views


Live uptime of the sites I built, checked every 6 hours

> whoami

const tim = {
  base:       "Nairobi, Kenya",
  trainedAt:  "ALX Software Engineering",
  does:       ["product engineering", "programmes", "community"],
  ships:      "production systems, end to end, mostly solo",
  buildsWith: ["Next.js", "Supabase", "Vercel", "Claude Code"],
  wiredFor:   ["Paystack", "M-Pesa", "Africa's Talking", "Resend"],
  rule:       "build it so it runs after I leave",
};

Most of my client code is private. The code I can share is in ./open-source below.


> ls ./shipped --2026

Project What it is
AfriESG Metrics ESG platform: public site and CMS, multi-tenant product app, data collection tool
Epic Prime Investments Land sales site, customer portal, back office CRM
Nawiri Sisters Foundation Donations, events, ticketing, CMS
Mozini Gifts Gift shop: storefront, Paystack and WhatsApp checkout, back office
Amplify Africa Site, academy applications with Paystack, admin
Canvathon Kenya Design competition: briefs, submissions, judging, results
Arkaiv Governance SaaS
magotheinnocent.com Founder portfolio with its own CMS
Docent Animated A to B route links with live tracking
Tafsiri Chrome extension: live meeting captions translated on device (Meet, Teams, Zoom web)
timmwangi.com My site and blog on a Supabase CMS I built

> ls ./open-source

Tools I built for the work I do: running programmes, running communities, and wiring apps for Kenya.

Repo What it does
docent Directions as a short animated route in one link, built for Kenyan phones and data. Next.js, Supabase. Try it
tafsiri Chrome extension: live meeting translation that runs on your own computer with Chrome's built-in AI. Install it
apply-desk Pick a cohort fairly: blind review, even reviewer workloads, conflicts handed on, harsh and lenient reviewers evened out, ranked shortlist. Neon, Vercel. Try it
ask-the-room Live Q&A for panels: questions from phones, upvotes, moderation and a projector view; 300 phones cost one database read every 2 seconds. Neon, Vercel. Try it
mpesa-match Paste an M-Pesa statement and a member list: who paid, who paid part, who owes, and money from strangers. Runs in the browser. Try it
mentor-hours Office hours for hubs and cohorts: mentors open slots, founders book with one link, Postgres makes double booking impossible. Neon, Vercel. Try it
campaign-links A short link per channel, so you know if WhatsApp, LinkedIn or the posters brought the applicants. Link previews counted apart. Neon, Vercel. Try it
event-feedback One QR on the last slide, 30-second answers, live Net Promoter Score before people leave. Neon, Vercel. Try it
judging-desk Fair scoring for hackathons and competitions: cancels out harsh and lenient judges, flags gaps and conflicts. Try it
event-checkin Door check-in on a phone that keeps working when the wifi dies, with QR tickets and two-phone merge. Try it
cohort-pulse Drop in a cohort CSV and see who needs a nudge, with a WhatsApp draft for each. Try it
paystack-mpesa-kit M-Pesa and card checkout through Paystack: signed webhooks, server-side amounts, idempotent settlement. Try the sandbox
sms-kit-kenya Africa's Talking SMS without the surprises: Unicode costs, number cleanup, STOP opt-outs, no double sends. Try it
site-launch-check 20 pre-launch checks for any website, in the browser or one command. Try it
ALX work C and Python from scratch: a UNIX shell, a bytecode interpreter, sorting, binary trees, an AirBnB clone API

> ./activity

Contribution streak

Demo: a bot plays Snake on my contribution graph and eats every green day. Click to play.

Beat the bot
The bot above just ate my whole year without dying. Think you can match it?

> ./pulse --live

contributions, last year .. 1,601
this week ................. 62
current streak ............ 13 days 🔥
longest streak ............ 18 days
best day .................. 157 on 2026-09-27
last public push .......... docent, 12d ago

100-day streak challenge
[███░░░░░░░░░░░░░░░░░] 13/100

today's side quest: Write a post instead of a draft

> cat ./off-the-keyboard

  • I run alumni relations at AfricaHackon and the socials at Hackhouse Africa.
  • I'm product manager at Teckid, an online coding school for kids.
  • At ALX I supported more than 2,000 learners and walked one cohort of 160+ all the way to graduation.
  • I was the main contact for 70+ founders in the first Startup Garage Africa cohort.
  • I'm a Canva Canvassador.

> ./now

  • Building client systems that keep working when I'm not in the room.
  • Getting Tafsiri onto the Chrome Web Store.
  • Writing more about what it takes to build for programmes and communities here.

> ./side-quests --hard-mode

  • Push code 100 days in a row. The counter above keeps me honest.
  • Ship one small, silly project a month, for no reason at all.
  • Build something in a language I've never written.
  • Get a stranger to star one of my repos.
  • Learn psychology properly, then build something with it.
  • Get outside more. Weekly, not "when things calm down".

Running a programme, a community or a startup that needs something to work properly?
Book a call or email me.

$ exit. Thanks for reading.

About

Config files for my GitHub profile.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages