AI PRODUCT ENGINEER · FULL STACK WITH AI · AVAILABLE

I build AI products end to end, with code that stays maintainable.

TypeScript, React, Node.js and NestJS for the product; LLMs and agents where they add value. I work remotely for Latin America and Spain, and I can start right away.

Download CV (PDF, Spanish) See case studies LinkedIn

How I work with AI

I work with ODD (Organic Driven Development), a workflow on top of Gentle Shell: agents write code, I decide, ask and verify. Every request follows the same six steps and leaves a trail that can be reviewed.

  1. I authorize and understand

    I read the request and separate what is a change from what is a question. If a product decision is missing, I ask one question and wait.

    Clear scope
  2. I explore before proposing

    I read the code I am about to touch and the project memory in Engram: decisions, errors already solved and conventions.

    Context with evidence
  3. I write the feature document

    A file in odd/tasks with specs that quote the request word for word, the tasks and a log of every decision. It is what the agents read.

    Specs · Tasks · Log
  4. TDD, task by task

    First the failing test, then the code and the green test. I delegate independent tasks to agents, each with allowed files that never overlap.

    RED → GREEN
  5. I verify by risk

    If it touches security, data or contracts, an independent verifier and an adversarial review run. If not, my own checks are enough.

    Independent verification
  6. I close and keep a record

    Small commits of about 400 lines with Conventional Commits, a report of what was tested and what was not, and the lessons saved in Engram.

    Small PRs · Memory
Real cases with ODDWhat the process left in each project: specs written with the literal request, logged decisions and the scale of the result.
ProjectSpecsLogged decisionsScaleWhat it showsSource
LLM productlaburo 27 48 180 tests Two independent reviewers audited security and resilience before the first email went out. Private repo
SaaS for cafésUNNA 21 49 1,400 tests Mercado Pago, ARCA and pre-orders were reviewed separately before merging. ODD document 
Open dataCongreso Abierto 39 47 442 pages Name matching pinned with real cases as tests before publishing. ODD document 
Video studioMr.Mauroo Studio 23 692 3,300 tests No video is rendered if the automatic critic scores it below 8. Private repo

Everyday tools

  • Gentle ShellOrchestrates the agents and the ODD flow
  • ClaudeThe model that writes and reviews code
  • Subagentsexplore, worker and verify: they research, implement and verify in parallel
  • EngramMemory of decisions across sessions
  • gentle-designCanvas to design and comment on screens
  • GitHub ActionsCI on every PR

What I don't delegate

  • The architecture and the boundaries between modules
  • Product decisions
  • Any send, release or deploy
Article · 10 minHow I work and what I use hexagonal, DDD, SRP and DRY for

Case studies

LLM PRODUCT · 2026

laburo

Go, Bubbletea, SQLite, LLM, Gmail API, OAuth, Exa

Problem

Applying to 10 jobs a day with personalized messages takes hours, AI-written emails are spotted instantly, and finding freelance clients without spamming is hard.

What I did

  • Go TUI and daemon that find jobs, freelance requests and clients in Spanish-language sources, Telegram channels and public LinkedIn posts through the Exa search API, without logging into LinkedIn.
  • It only keeps contacts with a valid email (format, filler and disposable-mailbox blocklists, DNS MX record) and filters by language and by my stack.
  • Drafting with an LLM from a verified profile and real texts of mine, with stylometric checks and prompt-injection guards: the posting text is data, never an instruction, and foreign links, emails or phone numbers are rejected.
  • Sending through the Gmail API with OAuth PKCE and send-only permission, the token in the Keychain, a daily cap in SQLite and uncertain sends blocked so nothing goes out twice.
  • B2B prospecting with per-country legal rules: only Argentina, Chile, Colombia, Mexico and Uruguay, generic addresses, one email per company, a legal footer and an unsubscribe list.
Key algorithmStylometric analysisvariation in sentence length, AI filler phrases and repeated openings so every email sounds human.How it works →

Result

In real use: the first applications went out on November 3, 2026. 180 tests across 10 packages, built with TDD and independent security and resilience reviews.

TECHNICAL CO-FOUNDER · 2026

Healthtech platform (confidential)

NestJS, Next.js, TypeScript, PostgreSQL, Drizzle, Playwright, AWS (S3, KMS, IAM)

Problem

Handling medical records demands real privacy: per-patient isolation, auditable consent and zero tolerance for leaks.

What I did

  • Modular monolith in NestJS and Next.js with hexagonal architecture per context (auth, consent, clinical records).
  • PostgreSQL with forced Row Level Security, AES-256-GCM encryption and deterministic HMAC for searches, TOTP MFA for practitioners.
  • Consent with append-only history, CSP, rate limiting and E2E tests with Playwright on a real disposable stack.
  • Encrypted backups on AWS: S3 with SSE-KMS, Object Lock and versioning, a least-privilege IAM user and a fully tested restore.
  • I defined the architecture and orchestrated AI agents, reviewing every PR before merge.
Key algorithmBlind index with HMACsearch by national ID or email without decrypting sensitive data.How it works →

Result

More than 800 small PRs reviewed and internal security, SRE and privacy audits. Private code under a confidentiality agreement.

SAAS PRODUCT · LIVE DEMO

UNNA

NestJS, Next.js, TypeScript, Prisma, PostgreSQL, Mercado Pago

Problem

A take-away café needs to sell fast at the counter, take QR payments, issue invoices and control cash and stock without paying for a system built for large restaurants.

What I did

  • Monorepo with NestJS, Prisma and PostgreSQL and a Next.js web app, with the domain in its own package and hexagonal architecture.
  • Mercado Pago QR payments: each café connects its account through OAuth, tokens are stored encrypted and the signed webhook records each payment exactly once.
  • ARCA electronic invoicing with protected sequential numbering, pre-orders with online payment, a rush-hour mode and a public order screen.
  • Postgres row locks for payments, stock and business edits, and sessions with single-use rotating tokens.
Key algorithmCursor pagination and time-based leaseslists of thousands of orders in milliseconds and ARCA numbering without duplicates with two registers at once.How it works →

Result

Public demo running on Vercel, Render and Supabase. More than 1,400 tests and CI on GitHub Actions.

OPEN DATA · LIVE SITE

Congreso Abierto

Astro, TypeScript, open data, GitHub Actions

Problem

Data about the Argentine Congress is spread across several official sources, with different formats and names that do not match each other.

What I did

  • Static Astro site with 442 pages generated at build time from the open data of the Chamber of Deputies and the Senate API.
  • Name matching across sources to link trips, committees, bills and votes to each legislator.
  • Trip comparison by distance bands, global search and related profiles by bloc, province and committee.
  • Versioned data snapshot and automatic weekly updates with GitHub Actions.
Key algorithmJaro-Winkler and robust statisticsmatch names across official sources (99.6 % in committees) and compare trips with the median and MAD.How it works →

Result

Public site with data on deputies, senators, trips, bills, committees and votes.

VIDEO STUDIO BUILT IN CODE · ACTIVE CHANNEL

Mr.Mauroo Studio

TypeScript, Remotion, Zod, AI agents, YouTube Data API

Problem

Producing weekly videos for YouTube and LinkedIn by hand does not scale, and uncontrolled AI produces generic pieces.

What I did

  • My own CLI (mrm) in TypeScript that validates every plan with Zod before producing anything.
  • Storyboard and an automatic critic with a minimum score before rendering with Remotion.
  • The same plan produces the long video, Shorts, the LinkedIn piece and carousels.
Key algorithmPer-frame visual fingerprinta 4×3 grid per image to detect repetitive storyboards before rendering.How it works →

Result

Mr.Mauroo YouTube channel launched in October 2026, about AI and entrepreneurship.

LIVE FRONTEND DEMO

SeatFlow Studio

Next.js, React, TypeScript, SVG, Zustand, Zod

Problem

Building seating plans for events with hundreds of seats by hand is slow and error-prone.

What I did

  • SVG editor with rows, tables and areas, multi-select and bulk labeling by pattern (A1–A10).
  • State with Zustand and JSON import/export validated with Zod.
Key algorithmPattern expansionturn A{1..10} or {A..C}{1..2} into every label of a row of seats.How it works →

Result

Public demo running. State is saved in the browser; it is not a backend service.

SeatFlow Studio editor with a seating plan

Other projects

Experience

  1. Jul – Nov 2026 · Full-time contractor

    Frontend Developer · Leren Consulting

    • Built frontend and tooling for e-commerce on Tiendanube/Nuvemshop with JavaScript, Liquid/Twig and NubeSDK.
    • Automated the team's workflow checks with scripts and end-to-end tests in Playwright, with accessibility criteria.
  2. Oct 2025 – present · Remote, self-employedCurrent

    Partner Expert Consultant · 4Latam

    • I build and maintain web apps with Node.js, React and MongoDB, integrate systems and provide remote support.
  3. Oct 2024 – Jun 2025 · Remote (Spain)

    Backend Developer · Dazlab

    • Built a backend for video games with Node.js, Parse Server and WebSockets: data modeling, CRUD and Stripe payment integration.
  4. Mar – May 2024 · Remote

    Full Stack Developer · Hows Advisor

    • Developed a B2B platform with React, TypeScript, Node.js and Sequelize, with state in Zustand and Stripe payments.
  5. Dec 2023 – Apr 2024 · Remote (Spain)

    Full Stack Developer · Packar

    • Implemented C2C/B2B features with Next.js, TypeScript, Node.js, NextAuth and MongoDB; 143 PRs merged into the team's repo.

Stack and education

Education and languages

  • 2023
    Henry BootcampFull Stack Developer
  • 2018–2022
    Universidad Nacional de Mar del PlataAudiovisual Communication
  • Languages
    Native SpanishEnglish B1

Contact

Available for a remote role as an AI Product Engineer or full stack developer.

Download CV (PDF, Spanish) LinkedIn GitHub