where I've done this
Senior Engineer II, PowerSchool
Product Engineer, Shuru Technologies
Software Engineer, Betacraft Technologies
Systems Engineer, Infosys
SAP Basis operations. Early exposure to enterprise systems and production discipline.
what I've built at work
A few systems I've shaped end to end.
Redesigned attendance report generation
PowerSchool · controlled availabilityAttendance reports for parents were generated eagerly for every recipient the moment a job ran, spawning upwards of 100,000 sub-jobs and hammering the database for reads. For large customers around dates like month-end, a single job could take twelve hours to finish.
The eager generation matched no real requirement, it was just how the legacy system worked. Report open-rate data showed parents almost never opened a report the moment it was delivered. The redesign replaced eager generation with a unique link per recipient and generated the report on open instead of on send, removing the database load for documents nobody was about to read yet. It's rolling out now, and daily queue-latency alerts have already dropped as a result.
Zero-downtime email vendor migration
PowerSchool · ongoingMoved transactional email, upwards of 300,000 sends a day, onto a new provider. Mail delivery is the primary function of the system it runs in, so the migration itself couldn't be allowed to degrade it.
The obvious approach is swapping API keys. At that volume it's also the wrong one: a new sending IP has no reputation with mail providers, and a cold IP taking full volume on day one gets treated as spam. A router ramped traffic onto the new provider up to a computed daily maximum, with everything above that falling back to the old one, so delivery never depended on the new IP earning trust faster than it could.
Rebuilt the customer decommission workflow
PowerSchool · shippedCustomer decommissioning purges PII from the database, backing the data up first in case it's needed later. The parent-child relationships that decide what gets purged were validated by hand, and a few less obvious ones sat outside that coverage — until an engineer decommissioned the wrong customers off a bad ID, and that gap became the actual failure mode.
I led getting the wrongly purged customers back live: writing scripts that pulled the deleted rows out of the pre-purge backup and reinserted them, restoring the accounts with no lasting data loss. The fix that followed replaced manual validation entirely: decommissioning is now a single script that resolves every parent-child relationship itself, including the ones the original process missed, so nothing outside it needs a human to check first.
Internal ATS for a hiring platform
Shuru · 2021–2023The system the operations team ran hiring on: job posting and lifecycle, interview pipelines, candidate filtering and flagging, and the outreach data recruiters worked from. Ten people used it every day.
Before it, hiring ran on an off-the-shelf recruiting CRM alongside spreadsheets for tracking candidates. It was built as a v2 while the existing system kept running, so the ops team could move across when it was ready. Once they did, recurring operational work came off engineering.
Content ingestion for the training product
Shuru · 2021–2023Instructors authored the course material: videos, quizzes, questions, and answer keys. This pipeline took what they produced and loaded it into the backend with no engineer in the loop.
Content nested as modules, sub-modules, lessons, and quizzes, with each quiz holding a handful of questions. A question could be video, image, text, or a combination of them, which meant the client had to render every shape and the API had to stay generic enough to describe them all instead of special-casing each one. Instructors named their files against a convention agreed up front, and the ingestion script used that convention to resolve each asset onto the right place in the structure.
Compliance platform for clinicians
Betacraft · 2019–2021A platform helping clinicians track and meet continuing-education and compliance requirements, built on a rules engine that encoded a demanding, ever-changing set of regulations.
Requirements varied by state and by license type, and they kept changing, so the platform had to absorb updates rather than be rewritten around them. Most of them fitted one underlying model. The remaining fifth were ambiguous enough in interpretation that the rules engine had to grow new capability before it could express them at all, and that minority is where most of the work went. It also integrated with partner systems to pull and reconcile compliance data across sources.
what I've built on my own time
Self-directed builds, 2026 — most with Claude Code as a pair-engineer.
Vision-language model, from the ground up
building · write-up soonA model that can look at an image and describe it in natural language, built and trained end to end from a frozen vision encoder, a trained projector, and an open-source LLM. Not an attempt to invent something new, but to understand exactly how the pieces fit together, from the vision encoder through the projection layer to the language model.
Image and caption, generated together
building · write-up soonA system that generates a stylized image and a matching caption from a single input, rather than generating one and describing it after the fact. Combines an image-generation model with a captioning model trained to stay coherent with it.
Agent harness for product development
building · write-up soonBuilt my own harness for agentic coding rather than taking one as given: a toy project first, then rebuilt against a real product with real requirements as the gaps showed up.
Parallel execution is still the open problem: running multiple agent tasks against a codebase without them stepping on each other. I'm studying how existing harnesses solve it and folding what works back into mine. Planning to publish the harness and what it's built.