About
Hello, I’m Tawanda.
At my core, I’m a storyteller - sometimes with words, but often with code. I started using Linux about four years ago, and that changed everything for me. I went from tinkering with self-hosting to deploying full SaaS projects on my own servers. Things broke (often), but each fix became part of my story.
Over the past year, I’ve shipped two production applications. One was a just-in-time purchasing platform with payments, background jobs, caching, and secure Dockerized deployments (more about the others below). Both are still live today.
In my day job, I build Shopify apps at Zapiet, where I help merchants run their restaurant businesses more smoothly and handle complex pickup and delivery.
I like tools that last: Laravel for web, Python for rapid problem-solving, Rust when I want to push performance or build something unusual. My blog is where I write about the lessons learned — not just the wins, but also the missteps and debugging sessions that make engineering a very human craft.
I have a reading list, which is just a bunch of books I've read that I think everyone should read, too.
Outside of code, I’m multilingual (Shona, English, Chinese), a lifelong Manchester City supporter, and an avid reader. I live in Harare, Zimbabwe with my wife.
Career Highlights
I have had the opportunity to build projects for many different platforms, from backend systems, to web apps and mobile applications. The list below is non-exhaustive, and a more detailed overview can be obtained by going through my GitHub.
Professional Experience
Fullstack Developer
Zapiet | November 2023 - Present
PHP (Laravel)
TypeScript (React)
Docker
GraphQL
- Implemented custom pickup/delivery address validation by drawing a map as opposed to using radius or straight-line distance, improving delivery availability accuracy and reducing disputes with customer support over delayed deliveries.
- Increased test coverage to 95% for critical components, ensuring high code quality and confidence in deployments, emphasizing commitment to code quality and reliability.
- Improved database performance, resulting in 50% faster query execution, demonstrating skills in database optimization and performance tuning
- Implemented Shopify GraphQL API integration, replacing deprecated REST API endpoints, and optimized response times by reducing data overfetching.
Software Developer
Chesco Tech | March 2023 - November 2023
PHP
Java (Spring)
TypeScript (React & React Native)
- Built a cross-platform mobile application with React Native + Expo.
- Developed and maintained a supporting RESTful API using Java Spring Boot for the mobile application, handling 1000+ concurrent users with 99.9% uptime.
- Migrated a legacy PHP application to a newer version of PHP, implementing secure database queries through prepared statements and PDO to prevent SQL injection vulnerabilities, resulting in a 80% reduction in security incidents.
- Implemented time-tracking functionality for an HR management system, improving compensation tracking and accuracy by 60%.
My favourite projects
Betterbloq | 2025
Link (beta)
PHP (Laravel)
MySQL
Redis
Docker
AWS
Linux
GitHub Actions
Sentry
Stripe
- Partnered with a real estate developer to design a just-in-time bulk purchasing platform, enabling group deals for coliving spaces.
- Implemented payments with Stripe, monitoring with Sentry, and CI/CD pipelines with GitHub Actions.
- Highly optimized with in-memory caching and background jobs for long-running processes using Redis.
- Deployed as a hardened Docker image on a private VPS, configuring firewall and migrating object storage from S3 to self-hosted MinIO for cost efficiency.
RivalSpy | 2025
Link
Ruby on Rails
Docker
kamal
SQLite
- Built a web application for tracking my team, and mini league rivals by leveraging the Fantasy Premier League API.
- Used solid queue to handle background processes, and recurring tasks such as syncing live updates.
Doorman (open source)
Link
Go
Docker
SQLite
- Built a lightweight, self-hosted analytics tool to track site traffic, reducing resource usage compared to Plausible/Umami by relying on SQLite instead of heavier databases (an instance of this uses about 30MB of RAM).
- Deployed on my personal server to monitor ~1k monthly visits with minimal overhead.
Devnotes | 2025
Link
Rust
- Created a terminal-based note-taking app for personal task logging.
- Early-stage WIP, but already in daily use to track development notes more efficiently than plain text.
Contact
For business inquiries, you can get in touch with me.