Skills
Technologies, and how I actually use them
Rather than a list of logos, here's how each area of my skill set shows up in real projects — with no invented proficiency percentages.
Category
Backend Engineering
This is where most of my time goes: designing REST APIs with FastAPI and Flask, modeling databases with SQLAlchemy, and building auth systems with JWT and role-based scoping. On Uzima Link, this meant middleware-level authorization across four distinct roles; on the Student Progress Tracker, it meant tracing a data-isolation bug back to an unscoped query and fixing it at the source.
Category
AI & Machine Learning
I use AI/ML primarily as an extraction and reasoning layer on top of a solid backend — turning unstructured input (consultation notes, documents) into structured, validated data via LLM APIs like Gemini. That includes writing structured prompts, defining evaluation criteria for output quality, and building fallback paths for when a model's output doesn't meet expectations.
Category
Frontend
Frontend work supports the backend systems I build rather than standing alone — building the Next.js clients that consume my own APIs means I design endpoints with the actual UI consumption pattern in mind, which is part of why response-contract consistency matters so much to me.
Category
Data
Data work underlies Dataloom directly: understanding how inconsistent schemas and semantic mismatches break reporting across SME tools. I use Python, pandas, and SQL to clean, reconcile, and analyze data before it's usable for any downstream feature.
Category
Testing & Quality
QA training runs alongside my engineering work, not separate from it. I've written a layered Cypress suite (fundamentals through Page Object Model and request interception) against a live platform, and I test my own backend endpoints for contract correctness and access-control boundaries before calling a feature done.
Category
Tools & Engineering Practices
Git and GitHub for version control across every project, Agile/Scrum rhythms from team projects like TraceVolt and EWaste Hub, and a habit of writing down technical decisions — like why a given auth pattern or environment tool was chosen — so the reasoning survives past the moment I made the call.