ES

Backend Engineer

Jhonny Sanes

Building scalable backend systems

I design and build production-ready backend architectures, APIs, and infrastructure for scalable products. Focused on maintainability, performance, and real-world deployment.

  • Node.js + TypeScript architecture
  • API design & service integration
  • Queues, real-time & RAG pipelines
  • Docker, VPS, Nginx

About

Backend engineer focused on architecture, scalability, and production-ready delivery

I work on backend platforms, scalable APIs, and infrastructure-aware systems with a strong focus on maintainability and real deployment conditions. My approach combines software architecture, service integration, and hands-on execution from technical design to production.

What I build

  • Maintainable backend platforms and multi-service architectures
  • Scalable APIs and explicit contracts between services
  • Data and ingestion pipelines with vector search (RAG)
  • Queues, background jobs, and real-time flows
  • Authentication, permissions, and production-ready infrastructure

How I work

  • Architecture-first, but implementation-oriented
  • Focused on maintainability over unnecessary complexity
  • Measure before optimizing: the bottleneck is rarely where it looks
  • Mechanical verification — lint, types, tests, build — before calling anything done
  • Comfortable working from system design to deployment

Core stack

  • Node.js
  • TypeScript
  • Express.js
  • PostgreSQL
  • Prisma
  • Redis + BullMQ
  • Docker
  • Nginx
  • Python + FastAPI
  • Qdrant

Environment and tooling

I am comfortable working in Linux-based environments and I value practical, efficient setups for development and deployment workflows.

  • Ubuntu GNOME
  • Linux Mint XFCE
  • Arch Linux + Hyprland

Projects

A legal-tech platform: backend, data, and infrastructure

Arxatec is a Peruvian legal platform built as several independent services that talk to each other through explicit contracts. My scope is the backend, the legal data pipeline, and the infrastructure underneath — the web clients are outside it.

Arxatec

Legal-tech platform · Peru

Scope: backend, data, and infrastructure

Private repositories

A corpus of public legal documents plus an AI assistant for lawyers. A scraper feeds the corpus, a Python microservice indexes it and answers RAG queries over it, and a Node API carries the product itself: cases, calendar, documents, chat, and billing.

Node.js TypeScript Express 5 Prisma 7 PostgreSQL Redis BullMQ Socket.IO Python FastAPI Qdrant LangChain AWS S3 Docker Nginx
  • Vertical Slice Architecture: every endpoint is a self-contained unit owning its domain, data, and presentation layers — 16 modules and over 400 HTTP slices in the main API.
  • Cross-repo contracts that cannot be changed in a single repo: the canonical source catalog has its SHA-256 fingerprint pinned in the test suites of three repositories at once.
  • Migrated the assistant chat from Python to Node while keeping the SSE contract the client already consumed frozen.
  • Credit-based billing across two payment providers (MercadoPago and Polar), per-model token accounting, and metering of AI usage.
  • VPS deployment with Docker, Nginx, and pm2 — including diagnosing failures that only surface in production, such as the ESM/CJS crash-loop of the Prisma 7 client on Node 22.

The services

arxatec-lawyer-service

Product API · Node.js

Express 5 API in strict TypeScript over PostgreSQL with Prisma. Cases, contacts, calendar, documents, kanban, chat, finances, notifications, and billing.

  • 16 modules, 400+ HTTP slices, and roughly 6,800 unit tests
  • Background work with BullMQ and Redis; real time over Socket.IO and SSE
  • PDF/DOCX generation, OCR, and S3 storage
  • Seven CI gates: lint, types, test types, dependency boundaries, tests, and build
Express 5 Prisma 7 PostgreSQL Redis BullMQ Socket.IO Zod Jest

arxatec-lawyer-assistant

RAG microservice · Python

FastAPI service that ingests documents from S3, splits them, generates embeddings, and indexes them in Qdrant to answer with verifiable legal context.

  • Ingestion pipeline: extraction → chunking → embeddings → Qdrant + PostgreSQL
  • Every answer traceable back to the document and its official source
  • Ingestion bottleneck measured rather than assumed: the cost was not Qdrant (0.4% of the time) but one embedding request per chunk, issued serially
  • Schema migrations with Alembic and SQLAlchemy
FastAPI LangChain Qdrant SQLAlchemy Alembic AWS S3 Poetry

arxatec-scrapping

Legal data pipeline · TypeScript

Scraper for Peru’s public legal sources: 33 sources covered by 21 modules, all producing the same ingestion contract.

  • Resumable by design: ledger plus checkpoint per source, so a retry never duplicates
  • Per-source anti-blocking (throttling, headers, residential IP), documented case by case
  • OCR fallback for scanned PDFs the backend rejects
  • A single smoke command returns a PASS/FAIL verdict before a module is called done
TypeScript Puppeteer Cheerio Tesseract OCR Qdrant PostgreSQL AWS S3

How it stays maintainable

The platform is large enough that memory does not scale. What keeps it workable is a habit: never assume documentation is current — check it against the code before relying on it, and fix what drifted in the same change.

  • Dated session record: every audit or decision lands in a folder for that day, declaring the commit it was verified against.
  • The reasoning lives in each unit’s README rather than scattered comments — over 570 of them across modules, features, and slices.
  • Mechanical verification before anything is called done: lint, types, tests, and build. Nothing closes on visual inspection.
  • A branch and a pull request per unit of work; never a direct push to main.

Experience

Professional experience

Experience across backend engineering, software architecture, infrastructure, deployment workflows, and hands-on technical execution.

Arxatec

Co-Founder & CTO

Dec 2024 — Present

Lima, Peru — Remote

Leading the technical direction of a legal-tech platform while working hands-on across backend engineering, system design, infrastructure, deployment, and AI-assisted services.

Node.js TypeScript Express 5 PostgreSQL Prisma Redis BullMQ Socket.IO Docker Nginx Python FastAPI Qdrant AWS S3 Groq
  • Defined the backend architecture and engineering standards: Vertical Slice Architecture across 16 modules and 400+ HTTP slices, with CI gates that enforce them.
  • Designed and built the product API with Node.js, TypeScript, Express 5, PostgreSQL, and Prisma, covered by roughly 6,800 unit tests.
  • Built the legal data plane end to end: a scraper covering 33 public sources, a FastAPI ingestion and RAG service, and a Qdrant vector index shared across services.
  • Coordinated multi-service integration, including migrating the assistant chat from Python to Node without breaking the SSE contract already in use.
  • Implemented credit-based billing across two payment providers, with per-model token accounting for AI usage.
  • Managed infrastructure decisions including VPS environments, reverse proxy configuration, Dockerized services, deployment strategy, and production incident diagnosis.

La Base Cowork

Software Engineer / Tech Lead

Jul 2024 — Present

Huancayo, Junín, Peru

Contributing across web development, API integration, infrastructure support, server environments, and technical leadership in multiple initiatives.

  • Developed and maintained websites, web platforms, and implementation-focused digital solutions.
  • Built and integrated APIs for internal systems and client-facing platforms.
  • Configured and managed VPS and local server environments, including Nginx-based deployments.
  • Supported technical planning, engineering decisions, mentoring, and execution quality across projects.

TID

Software Intern / Software Analyst

Feb 2024 — Aug 2024

Huancayo, Junín, Peru — On-site

Early professional experience focused on software maintenance, module expansion, bug reduction, and support for PHP-based business systems.

  • Improved internal software and platform functionality.
  • Supported module expansion in existing business systems.
  • Worked on bug reduction and software quality improvement.
  • Assisted users and contributed to system support and adoption.

Contact

Let’s build something solid

Available for backend engineering, software architecture, backend-focused product development, and technical collaboration.

Work setup

I work best in remote or semi-remote environments that allow focused execution, clear technical communication, and well-structured collaboration. This setup helps me stay productive while contributing effectively across backend development, architecture, and deployment workflows.

Remote or semi-remote collaboration
Clear technical communication
Focused execution and autonomy
Structured delivery and maintainability