✳ Nairobi, Kenya
- WhatsApp+254 799 756 331
- Emailhello@muvevi.com
- LinkedInlinkedin.com/in/muvevi
- GitHubgithub.com/mutua-muvevi
- Twitter / X@muvevi
Available for freelance & full-time roles.
Let's build something great.
Ideas worth
writing
down.
Engineering deep-dives, design system notes, motion craft, and lessons from shipping real products in East Africa. 11 articles and counting.
GSAP ScrollTrigger + Lenis in Next.js App Router — the right way
Every tutorial gets the Lenis + ScrollTrigger wiring wrong. Here's the exact setup that avoids jitter, scroll conflicts, and the memory leaks nobody warns you about.
Building for 3G — lessons from shipping in East AfricaFeatured
Shopify pages that load in 1.2s in London take 9s in Nairobi on a decent connection. Here's what actually moves the needle when your users are on 3G and mid-range Androids.
Design systems when you're a team of one
Most design system advice assumes a 12-person team, a Storybook instance, and a design tokens pipeline. Here's what actually makes sense when it's just you.
WebGL fragment shaders in Next.js without React Three Fiber
R3F is great until you only need a fullscreen shader — then it's 200KB of overhead for a triangle. Here's the minimal Three.js setup for background shaders in App Router.
M-Pesa Daraja API integration in Next.js — a complete guideFeatured
Safaricom's docs are incomplete and the sandbox is unreliable. Here's what actually works for STK Push in a Next.js API route, with error handling for the edge cases they don't document.
Pricing your freelance work in Nairobi — what I learned the hard way
Undercharging doesn't get you more clients. It gets you worse clients. Three years of freelance pricing mistakes, what fixed them, and the framework I use now.
Tailwind v4 in production — what actually changedFeatured
Lightning CSS, CSS variables everywhere, and no config file. After shipping two production apps with Tailwind v4, here's the honest review.
Next.js App Router patterns I use on every project
Parallel routes, intercepted routes, server actions — the App Router is powerful but the docs bury the patterns. A practical guide to what I actually use.
TypeScript + Zustand v5 — the patterns that work at scale
Zustand is deceptively simple. At scale, the lack of opinions becomes a problem. Here's the patterns I landed on after building 10+ stores.
GSAP text animations with SplitType — the definitive guideFeatured
Split text animations are everywhere. Most implementations have subtle bugs — wrong stagger direction, no SSR guard, missing cleanup. Here's the version that holds up.
What I learned shipping a SaaS MVP in Kenya
Payment integration, mobile-first infrastructure, and why your onboarding flow needs to work on a 5-year-old Android. Lessons from the first six months.
Got a topic you want covered?
Reach out on LinkedIn or WhatsApp — I take suggestions seriously.