Hi, I'm Tom Vuma.
I build web applications and backend systems across React, Node.js, .NET and C# — with a focus on writing code that solves real problems and makes products genuinely easier and more enjoyable to use.
Building things that make a difference
Quick Facts
- Johannesburg, South Africa
- Software Dev Intern @ YellowDot SA
- Code College — Full Stack Software Development
- React · Node.js · .NET
I'm a Software Developer with hands-on experience across the full stack, working with React, Node.js, .NET, and C# to build web applications and backend systems. I'm especially drawn to writing code that solves real problems and makes products genuinely easier and more enjoyable to use.
I'm constantly picking up new tools to stay sharp and keep growing as a developer — whether that's shipping a permissions API to production, running QA on live systems, or exploring new stacks in my own time.
Where I've been building
Software Development Intern
YellowDot SA is a mobile technology company partnered with MTN, Telkom, Vodacom, and Cell C to deliver digital content — trivia and gaming, video portals, subscriptions, and smart messaging (SMS/USSD) — to subscribers across South Africa's major networks.
- Develop across the full stack (React, Node.js, .NET) on a multi-tenant SaaS platform used to manage services, partners, and marketing campaigns for network operator clients.
- Design and build backend and frontend features end-to-end, from requirements through to production deployment.
- Run daily QA on live trivia games, writing detailed test cases and reports that feed directly into release decisions.
- Collaborate cross-functionally with frontend and backend teams, writing detailed test cases and coordinating handoffs.
SMS Campaign System
Node.js batch-processing system for a FIFA prediction/trivia SMS campaign reaching 200,000+ MTN subscribers — streaming, validating, de-duplicating and segmenting subscribers before sending via the MTN-Kannel gateway.
Campaigns UI
Built the Campaigns feature of a multi-tenant SaaS platform, letting non-technical staff create and manage marketing campaigns end-to-end — linking operators, providers and affiliates, and tracking budgets.
Tenant Permissions API
Designed and built a tiered permissions system controlling tenant access, delivering the full backend API — create, list, view, revoke — validated against a live database and shipped to production.
Automated Failed-Job Email Alerting
Built an automated alerting pipeline that notifies the data team via email whenever a data ingestion job fails, replacing manual pipeline monitoring. Integrated Airbyte's failure events with an n8n workflow that authenticates with Microsoft and sends real-time failure alerts through Microsoft Graph — enabling immediate visibility into pipeline issues without constant manual checks.
Things I'm building on my own time
VibeMetrics
2026 — PresentAn automated reporting tool for South African social media freelancers and agencies, replacing manual client reporting with a fast, automated alternative. Currently building the core architecture, integrating the Meta Graph API to pull Facebook/Instagram performance data, and using the Claude API to auto-generate client reports. The landing page is live — the tool itself is still in active development.
Supply Chain API with Role-Based Security
November 2025A Java/Spring Boot API for managing enterprise logistics, with role-based access control across Admins, Suppliers, Warehouse Managers, and Customers — covering user management, inventory, and order flows behind a proper security layer.
Technologies I work with
Frontend
Backend
Databases
Tools
Quality Assurance
Learning the craft
Full Stack Software Development
Software Engineering Bootcamp covering full-stack development end to end — from programming fundamentals through MERN, SQL, Java, and Spring Framework.
View CertificationsNational Senior Certificate
Completed matric, laying the foundation before moving into full-time software development study.
Let's build something together
Open to new opportunities, collaborations, or just a chat about code.