Software engineer and product builder.
I am a software engineer and product builder based in the San Francisco Bay Area, studying Computer Science at Sonoma State University. I grew up in Rwanda around farming and hands-on work, and I have spent time in landscaping, scaffolding, and construction since moving to California. That is not a detail I mention for color — it is why the problems I pick tend to live outside the office.
Most of my work starts the same way: someone is doing something difficult, the software available to them assumes conditions that do not hold, and the gap costs them money or attention or safety. A technician cannot type notes with gloves on. A florist cannot answer the phone during a rush. A student cannot afford to miss a shift offer, and cannot afford to check their phone every ten minutes either.
I build the whole system rather than a slice of it, because in these problems the interesting decisions sit at the seams — between the capture surface and the pipeline, between a model's output and what a human is willing to trust. I would rather ship a narrow thing that survives real use than a broad thing that only works in a demo.
What I pay attention to
Systems that fail in the right direction
Every product I build has a defined behavior for uncertainty. FocusGate forwards the message when triage is unsure, because a false interrupt is annoying and a missed shift offer is expensive. ACT refuses to answer live diagnosis questions at all. Choosing the failure direction is a design decision, not an error path.
Evaluation as a first-class surface
If a model is in the product, there has to be a way to score it, catch the regression, and prove the fix. SecondLine's harness grades sixteen scenarios across six dimensions and rewrites the agent policy from the failures. Without that loop, 'it seems better' is the only claim anyone can make.
Data models before features
The parts of ACT I am most confident in are the ones where the schema came first — recordings, marks, moments, questions, answers, knowledge objects, outcomes. Tenant scoping and provenance are much cheaper to enforce in the model than to bolt on later.
Interfaces built for the actual body using them
One-button capture, glove-friendly tap targets, offline upload retry. The constraint that shapes the interface is usually physical, not visual.
How I decide what to build
Find the problem that refuses to fit in a box
The problems worth building for are the ones where the obvious tool already exists and still does not work. Focus modes block apps but cannot read a message. Drone platforms sell maps but do not close the loop on whether the spray decision was right.
Be specific about what is proven
A July 2026 audit of ACT's production data showed that what looked like traction was my own app testing, and that five published lesson cards had been compiled from nothing. I deleted them and reset the corpus to zero. Knowing which of your numbers are real is part of the engineering.
Keep the human where the judgment is
Automation runs between approval gates, not around them. In ACT nothing publishes itself; a lead technician approves every lesson before an apprentice sees it.
Ship the loop, not the demo
A demo shows one path working once. A loop keeps working when the upload fails, the transport changes, or the model gets it wrong. Most of the engineering is in the second one.
Experience
Founding engineer — ACT
Actober AI (independent project) · San Francisco Bay Area
Building the capture-to-lesson system for HVAC field work: React Native client, FastAPI backend, media pipeline, and review-gated publishing.
- Designed the data model and built the FastAPI backend behind a Postgres-backed durable job queue, deployed on Fly.io.
- Implemented the React Native capture flow — glove-friendly moment marking, consent state, and retryable uploads.
- Built per-account tenant scoping so cross-account identifiers return 404 across the entire API, covered by tests.
- Ran an audit of the production corpus that showed the apparent usage was internal testing, and reset the corpus rather than report it as traction.
Treasurer, Region I
Student Senate for California Community Colleges (SSCCC) · Sacramento, CA
Held the regional budget: tracked expenses and reimbursements, built reporting, and taught other students how the process worked.
- Tracked budgets and produced reports and spreadsheets for ongoing expenses and reimbursements.
- Built dashboards in Sheets and Excel for tracking and transparency.
- Led “Budget 101” workshops so other student leaders could use the process themselves.
Software Developer & Student Support
Mendocino College · Ukiah, CA
Two concurrent campus roles over the same period: software development for the college's Sustainable Technology Program, and front-line technical support for students, staff, and visitors.
- Wrote software for the Sustainable Technology Program.
- Logged and tracked support requests and resolved common technical issues.
- Supported classroom and event A/V setups and troubleshot problems live during events.
- Helped staff and students with campus equipment and trained others on Google Workspace and Microsoft Office.
Activities Director
Associated Students of Mendocino College (ASMC) · Ukiah, CA
Planned and ran campus programming — logistics, setup and breakdown, on-site supervision, and coordination with clubs and campus partners.
Artificial Intelligence Engineer — internship
Reality AI Lab · San Francisco, CA · Remote
Worked on ReX, an AI career coach for learners, built on OpenAI and Google Gemini models.
- Developed coaching behaviour intended to follow a learner through the phases of a career search rather than answer one question at a time.
Java Software Engineer — internship
Web3 Labs · San Francisco Bay Area · Remote
Backend engineering in Java and Spring.
Record



Education
B.S. Computer Science
Sonoma State University · Rohnert Park, CA
Coursework across systems, architecture, and applied machine learning.
Leadership
Treasurer, Region I
Student Senate for California Community Colleges
Owned regional budget tracking and reporting, and ran “Budget 101” workshops so other student leaders could work the process without me.
Activities Director
Associated Students of Mendocino College
Planned campus programming end to end — timelines, logistics, setup and breakdown, and on-site supervision with clubs and campus partners.
Programs & fellowships
Fellow
ColorStack · Remote
ROCm apprenticeship
AMD AI Academy · San Francisco, CA · On-site
AMD GPU architecture, ROCm, HIP programming, kernel execution, and performance optimisation. The certification it leads to is listed under Recognition.
Startup School
Y Combinator · San Francisco, CA
Startup School 2024, AI Startup School 2025, and Startup School 2026.
Scholar
CodePath · Remote
Intermediate technical interview preparation — data structures and Python.
Emerging Leaders Series
Goldman Sachs
Recognition
AMD ROCm Certified Associate
AMD AI Academy
First place — CalHacks 2025
CalHacks · Berkeley, CA
A social engineering build, entered solo.
Second place — voice AI hackathon
San Francisco
eyebrain, entered solo: ask your security cameras what happened instead of scrubbing hours of footage — a local, on-device voice agent over multi-camera video.
Two-time winner — BNR Schools Quiz Challenge
National Bank of Rwanda
A national competition on financial education run by Rwanda's central bank. Two wins captaining the team from Groupe Scolaire Officiel de Butare.
Second place — Building Humane Tech hackathon
Building Humane Tech · San Francisco
Team Alma, with Candace Lee, Roddsi Sarkar, and Mark Lovell. The build put stopping cues into an AI chat interface — deliberate friction between prompts, so a conversation can be paused instead of followed down a rabbit hole.
Write-up
What I want next
Join an engineering team where I can own features end to end — schema, API, interface, and the measurement that says whether it worked.
Keep building in domains where software meets physical work, and keep the evaluation honest enough that I can tell when it is not working.
Finish my Computer Science degree at Sonoma State University (May 2027).
Or go back to the selected work.