I build scalable backend systems, APIs, and production-ready platforms with a strong focus on architecture, maintainability, and operational reliability.
- Backend engineer focused on scalable APIs, maintainable systems, and production-ready services.
- Co-Founder & CTO at Arxatec, leading backend architecture, infrastructure decisions, and technical execution.
- Comfortable working across system design, cloud-connected workflows, reverse proxies, Docker-based environments, and service integrations.
- Interested in building software that is clear, scalable, secure, and operationally reliable.
Arxatec — a legal-tech platform for Peru: a corpus of public legal documents plus an AI assistant for lawyers. I own the backend, the data plane, and the infrastructure underneath. Three services, talking to each other through explicit contracts:
| Service | What it does | Stack |
|---|---|---|
| Product API | Cases, calendar, documents, chat, finances and billing. 16 modules, 400+ HTTP slices, ~6,800 unit tests, 7 CI gates. | Node · TypeScript · Express 5 · Prisma · PostgreSQL · Redis · BullMQ · Socket.IO |
| RAG microservice | Ingests documents from S3, chunks them, generates embeddings and indexes them in Qdrant to answer with traceable legal context. | Python · FastAPI · LangChain · Qdrant |
| Legal data pipeline | Scraper for Peru's public legal sources: 33 sources in 21 modules, resumable by ledger and checkpoint, with OCR fallback for scanned PDFs. | TypeScript · Puppeteer · Tesseract OCR |
Also: credit-based billing across two payment providers, per-model token accounting for AI usage, and deployment on VPS with Docker, Nginx and pm2.
Arxatec repositories are private. The portfolio has the long version.
- Documentation is never assumed current — it gets checked against the code before anything is built on top of it, and what drifted gets fixed in the same change.
- A dated session record: every audit or decision lands in a folder for that day, declaring the commit it was verified against. Without the commit, a record is an opinion.
- Mechanical verification before anything is called done — lint, types, tests, build. Nothing closes on visual inspection.
- A branch and a pull request per unit of work. Never a direct push to main.
- Backend platforms and multi-service architectures
- Scalable APIs, service integration, and explicit contracts between them
- Data and ingestion pipelines with vector search
- Production-ready infrastructure and technical leadership


