01
End-to-end SaaS
Architecture, backend, frontend, mobile and deployment. I do not outsource what matters — I deliver the full stack, from schema to component.
Full-stack software engineer
I build products end to end — architecture, backend, frontend, mobile and AI agents — in sectors where business rules are dense and the margin for error is thin. Five products today on the same technical foundation, at different stages: one already in production with a client, two in client staging and two in internal testing.
Available for contract work
By the numbers
How I work
01
Architecture, backend, frontend, mobile and deployment. I do not outsource what matters — I deliver the full stack, from schema to component.
02
Schema-level isolation in PostgreSQL, decoupled Laravel modules, no data leaking between clients. The same pattern replicated across five products.
03
AI agents operate on the products' real data through MCP, under each tenant's permission scope — tooling for the technical and support team, not a chatbot exposed to the end customer.
04
Design system, shared template and CI with a real gate. A new product starts with multi-tenancy, RBAC and authentication already in place — not from scratch.
Selected work
Clients cannot be named publicly. I can go into detail under NDA — just ask.
CASE / 01
Public procurement
Multi-tenant platform for public-sector agencies to plan and run their own procurement processes: an Annual Procurement Plan (PCA) with a Demand Formalization Document (DFD) per item, incremental consolidation and fiscal-year controls with deadline alerts. A compliance checklist per process variant, with an AI-generated opinion, a product catalogue and a general registry of suppliers and responsible parties.
In a recent consolidation I merged three modules into one and took the product from four business modules down to two — proving parity across 345 routes, with no migration re-run on any of the five schemas. In client staging.
Architecture · Backend · Frontend · AI
CASE / 02
Public sector
The largest product in the portfolio: a modular platform for city halls and public agencies, isolated per municipality at the schema level. Modules for budgeting, fleet, assets, scheduling and HR with payroll and timekeeping — each client enables only what they use.
I shipped the budgeting and fleet modules end to end, rewrote the authorization layer (RBAC) after finding a serious cross-tenant access flaw, and made the database audit trail immutable. In internal testing.
Architecture · Backend · Frontend · AI
CASE / 03
Tax
Cross-referencing service invoices, receipts with no matching invoice and federal tax authority statements into a revenue cube with propagated measures. A domain where a badly implemented rule does not produce a bug: it produces an unjustified tax assessment.
I rebuilt the federal tax authority activity catalogue for the current layout, fixing a bug that inflated or masked reported revenue, and wrote the module first screen-level test suite. In client staging.
Backend · Frontend · Tax rules
CASE / 04
Citizen services
Mobile app for public services with a single codebase running on iOS, Android and web. Public venue booking, municipal taxi service with offline support, payslips with income tax and social security statements, city financial indicators and a water and sewage portal.
Published on both stores and in use by citizens — not a prototype.
Mobile · Frontend · Integrations
CASE / 05
Support and internal knowledge
A platform that centralizes the company knowledge and support, today split across the other products: a ticket queue with classification and SLAs, an internal wiki with full-text search, and a hybrid search engine (RAG) over manuals, articles and technical docs. That knowledge is exposed through MCP to a local LLM, used as a support chat agent and for code completion during development.
I shipped the first two milestones of the ticketing module and the foundation of the hybrid search. In internal testing — another developer on the team has already shipped a feature end to end on the same foundation.
Architecture · Backend · Frontend · AI
Platform work
Much of what I deliver is not a product feature: it is the foundation the other products — and the other developers — rely on.
A Vue 3 component library shipped as a private npm package and versioned with semver. A single canonical source shared by three products: fixing one component fixes all three at once.
The starting point for a new product, already carrying schema-based multi-tenancy, global and local RBAC, authentication, PDF generation and the core modules. Time from decision to a working screen drops from weeks to days.
There was one MCP server per product, each a copy of the same scaffold with the same dozens of duplicated tools — which produced the same bug in three places at once. I designed the unified server that resolves the connection per product at runtime and replaces all three, proving coverage case by case before retiring each one.
Stack
About
Software engineer focused on SaaS platforms in complex domains. I work with Laravel, Vue 3 and multi-tenant PostgreSQL on products serving public procurement, municipal government, tax, payroll and citizen services — from the app already in production to the ones in client staging and internal testing.
I got here by a crooked path. I was a personal trainer, lived abroad between 2014 and 2018 working in hostels in Chile and Norway, and led a CrossFit coaching team for three years. I joined the company I am at today in 2021, in an administrative role; I moved into development in 2024 and now I lead its innovation team.
Coaching people teaches something that carries straight into software: you answer for someone else's outcome, and a lapse in judgement has physical consequences. That is where my discomfort comes from with a system that passes its tests but that nobody has ever opened on screen.
I consolidated products that started out separate into one coherent technical platform: the same modular architecture, the same tenant isolation model, the same design system, the same quality gates. That is what lets me ship a new feature in any of them without relearning the terrain.
I work with AI agents that operate on the products' real data through MCP, under each tenant's permission scope — internal tooling for the technical and support team, not a chat layer for the end customer. I also supervise an intern and write the onboarding documentation: part of my job is making sure someone else can get into the code without having to ask me.
Everywhere I have been, I made a difference. And every time I left, I left behind people who carried the work forward — or improved on what I built.
Let us talk
Open to opportunities and contract work. For details under NDA, drop me an email.