Skip to content
santiago cajal
Blog

I build the platformsthat money and datamove through.

Tech Lead and full-stack engineer in Montevideo. Ten years across fintech, crypto and telemetry — mostly on systems that are not allowed to fall over.

Currently
ContamosFounder · personal project
CriptalaDevelopment Lead
rabbit | iotCo-Founder & CTO

Work

Four systems worth explaining

Each of these solved a problem that could not be bought off the shelf.

  • Contamos

    2026 — present

    from first commit to production

    My own product, built alone: a shared ledger for money kept in several currencies, fiat and crypto, where every movement keeps the rate of its day. Claude or ChatGPT can connect to it, answer from the real figures and write movements down.

    • Laravel
    • React
    • Inertia
    • MCP
    • Paddle
    Visit contamos.xyz
  • Criptala

    2021 — present

    active users

    A crypto trading and payments platform taken from an empty repository to production, with fiat and crypto gateways behind a single API. I own the architecture, the schema and the roadmap.

    • Laravel
    • React
    • Inertia
    • REST API
    • Docker
    Visit criptala.io
  • rabbit | iot

    2025 — present

    and built the platform

    LoRaWAN telemetry ingestion, payload decoding and alerting for farms and industrial sites. Multi-tenant from the first commit, with real-time dashboards on top.

    • LoRaWAN
    • Laravel
    • React
    • Multi-tenant
    • Telemetry
    Visit agro.rabbit.com.uy
  • person-hours per count

    An annual inventory count that occupied five people for twenty hours each. Rebuilt around RFID tags and a reconciliation pass, it now takes one person an afternoon.

    • RFID
    • GeneXus
    • Operations

How I work

AI belongs inside the process, not beside it

Most teams bolt AI onto the end of their workflow: a chat window in another tab, used for whatever felt tedious that afternoon. I have spent the last two years pushing it the other way — into specification, implementation and review, where the constraints actually live and where a wrong answer is still cheap to catch.

What changes is the shape of the work rather than its volume. Writing code stops being the bottleneck, and the bottleneck becomes deciding what is worth building and judging whether what came back is correct. Neither of those is automatable, and both are the parts I would want to be doing anyway. The acceleration comes from collapsing the distance between them.

The practical lesson has been that context beats tooling. Clear specifications, typed interfaces and documented decisions matter far more than which model is answering, because a codebase legible to a new engineer is legible to a model for the same reasons. Most of the work is making the system explain itself — which is worth doing whether or not anything is reading it.

In the loop
Claude Code, MCP, Cursor, Codex
Applied to
Specification, implementation, code review
Beyond the editor
n8n, Slack integrations, internal workflows

Before

The rest of it

  • 2020 — 2024

    BlueBoot

    Software Developer

    Enterprise business software on SAP BTP, with JavaScript on the front.

  • 2020

    Dvelop Software

    Software Developer

    Backend and frontend for Midinero, including the prepaid card recharge system and the Empresas platform.

  • 2016 — 2020

    heXa Sistemas

    Software Developer

    Internal systems for fintech and healthcare clients in GeneXus and Laravel. Home of the RFID rebuild.

BSc in Computer Science, Universidad de la Empresa, Montevideo (2017 — 2022).

Writing

Notes from the work

  1. How to build a remote MCP server in Laravel

    A Laravel MCP server that Claude and ChatGPT reach over OAuth, act as the signed-in user, dry-run bulk writes, log every change and can be revoked at once.

    9 min read

  2. How I built a SaaS alone in four weeks

    The solo founder tech stack behind Contamos: Laravel, managed auth, billing and hosting, plan limits in one place, and tests as the contract.

    7 min read

All posts

Contact

Get in touch

Montevideo, UTC−3.