I learned the whole stack because nobody else was going to.
I started in IT support, fixing other people's software. Three years later I design, build, deploy and maintain the systems a multi-purpose cooperative runs its members, elections and payroll on — alone, on our own servers. This page explains how that happened and what I want next.
- Started in IT support
- 2023
- Promoted to full-stack
- 2024
- Systems in production
- 5
- Architecture to deploy
- Solo
Three people read this page. Here's the answer to each.
Hiring managers
“Can he do the job without hand-holding?”
Every system below went from an empty repo to real users with me as the only engineer. I set the scope, made the calls, and lived with the consequences.
Engineering leads
“Will he work well on my team?”
Working alone taught me to document decisions and write code my future self could pick up cold. I want reviewers now — people who will tell me when I'm wrong.
Founders and clients
“Can he take this from idea to live?”
Database design, API, frontend, Docker deploy, and the handover docs. You get one person accountable for the whole thing, not a handoff chain.
Support ticket to production platform, in four chapters.
- 2023
IT support, and a legacy system nobody understood
Learned the business before I ever wrote code for it.
My first professional role, at Agdao MultiPurpose Cooperative, was front-line IT support — network issues, system errors, and whatever broke on someone's desk that morning.
I spent my spare hours reading the company's internally built desktop system instead of waiting for the next ticket. Its architecture, its data model, where it hurt. I wanted to know why things broke, not just how to restart them.
Knowing the legacy system end to end is why I was trusted to replace it — that knowledge, not a credential, opened the next door.
- 2024
Promoted to full-stack developer, handed the rewrite
Shipped my first production system solo, with no one to ask.
Within a year I was promoted and given one project, alone: rebuild the Members Information System. The old desktop app was slow to search and sat on a codebase nobody wanted to open.
I measured before I rewrote. The slowness wasn't the queries — the columns people searched by had no indexes. So I kept the proven business logic, added the missing indexes, and rebuilt the interface on the web. Search went from seconds to instant.
I taught myself the stack the slow way, the way everyone did before AI assistants: NestJS, Next.js and React, MySQL and PostgreSQL, Docker. No senior engineer, no pair, no autocomplete.
Late in the year came the next migration — the cooperative's election system, which became a delegate-based platform used in real elections, alongside an event system that handles attendance at district assemblies. Both run on-premise and feed the legacy core through data pipelines I designed from scratch.
- Found the real bottleneck — missing database indexes, not the queries or the UI
- Migrated a legacy desktop app to the web without rewriting proven business logic
- Owned architecture, schema design, backend, frontend, and deployment
- Shipped on-premise on Docker, with GitHub Actions to Docker Hub to on-prem deploys
- 2025
Undid my own over-engineering, then added AI
Judgment caught up with ambition.
I had built the HRIS as microservices behind an API gateway, because that was the architecture I most wanted to learn. By mid-year I admitted it was a mistake: for our scale and a team of one, it cost far more operational overhead than it returned.
So I walked it back to a straightforward three-layer design and split the HRIS and MIS onto their own servers, which I provisioned on our private cloud.
Only then did I bring Claude and Cursor into the workflow. Because I already understood every layer from first principles, I knew what to ask for, what to accept, and what to throw away. I still make the architectural calls; AI compresses the typing between them.
- Replaced microservices and an API gateway with a three-layer architecture
- Provisioned and split the HRIS and MIS onto separate private-cloud servers
- Adopted AI-assisted development on top of a foundation built without it
The developer who built without AI is the reason the developer with AI is reliable.
- Now · 2026
One platform, and room for a bigger problem
Ready to bring the same ownership to a team.
This year I built a centralized platform for the cooperative that brings Time Deposits, the MIS, Collections, and reporting under one roof. Its dashboards run on the accounting system's Excel exports, which I parse into the numbers management actually decides on.
I've proven I can take a product from zero to production alone. What I want now is the part solo work can't give me: engineers who challenge my decisions, a codebase more than one person depends on, and problems bigger than I can hold in my head.
- Unified Time Deposits, MIS, Collections, and dashboards in one platform
- Turned accounting Excel exports into the analytics management runs on
The four beliefs behind every decision above.
Full ownership
A bug is never someone else's layer. I learned the whole stack so nothing in a system I ship is a black box to me.
The user is a real person
I started by fixing software for the people stuck using it. I still ask whether the person on the other end will understand what I built.
Shipping over polishing
No system is ever finished — it ships, then adapts. I'd rather get it in front of users and learn than perfect it in private.
Willing to be wrong
I adopted microservices, then tore them out when the cost showed up. Reversing my own decision is part of the job, not a failure.
What that looks like on a Tuesday.
Measure before rewriting
The MIS didn't need a rewrite, it needed indexes. I look for the real bottleneck before proposing the expensive fix.
Production is the finish line
Typed TypeScript, Docker, Nginx, CI/CD, and on-prem deploys I maintain myself. Code that isn't running isn't done.
Write it down
Working alone forces documentation. Decisions, schemas, and handover notes exist so the next person isn't me from memory.
AI as a tool, not an authority
I direct Claude and Cursor, review every diff, and reject what drifts. Speed without giving up understanding.
A team that will argue with me.
I'm based in the Philippines, work remotely, and am open to full-time roles and select contracts globally. Solo work taught me to own outcomes; it also taught me what I miss without review. I want product work with real users, engineers who push back on my design, and a codebase where my decisions have to survive someone else's reading.
- Full-stack product work — TypeScript, NestJS, Next.js, Postgres
- Teams that review code and expect me to defend a decision
- Systems with real users and real consequences when they break
- Remote-first, full-time or a high-impact contract
Connect on LinkedIn
Get in touch
Tell me what you're building.
If you need someone who can own a product end-to-end — or a full-stack teammate who already knows what it costs to get one live — I'd like to talk.