Mauro Genna

Product Engineer

I build AI-powered products from the first customer conversation to production.

I work directly with clients and stakeholders to turn ambiguous requirements into something buildable — shaping scope, technical approach and architecture, then owning the implementation across frontend, backend, data and AI.

I founded Arnie and run it end to end. Before that I led AI-focused client projects at UseTeam in Spain, and shipped production features on an ad-tech platform at Highpoint Growth Networks in the US.

Work

Founder · Own product · 2026 → now

Arnie — 24/7 AI customer support for small and medium businesses

Designed and built end to end, on my own — interface, backend, AI pipelines and the go-to-market around them.

Arnie answers customers across WhatsApp, voice, and web chat — so businesses that can't staff a round-the-clock team never miss a conversation. Built for local retailers, service businesses, and real-estate agencies across Latin America.

  • Shared context engine across chat and voice — PDF and website ingestion, chunking, Postgres full-text + trigram retrieval
  • Per-tenant data isolation across client companies
  • Agents that execute real actions via function calling, not just respond

TypeScript · NestJS · Next.js · PostgreSQL · OpenAI · Retell AI · ElevenLabs

www.arniechat.com (opens in a new tab)

Software Engineer · Highpoint Growth Networks · AI systems · 2024–2026

Giving four AI assistants write access to one production database

AI assistants running in production against real customer data with no unauthorized writes.

Problem
Four different user types — venues, advertisers, admins and internal messaging — needed AI assistance over the same production database, on a platform running across thousands of active screens and hundreds of venues and advertisers. Permissions and context differed radically per role, and a single assistant with direct write access was not acceptable: a hallucinating model could corrupt billing records or leak data across accounts.
Decision
A role-based multi-agent system built on OpenAI function calling, where each role exposes its own scoped toolset. The core pattern is propose/execute: the model never writes to the database — it produces a structured proposal that a human confirms before execution. For admin reporting, a scoped read-only SQL sandbox allows arbitrary queries with zero write surface.
Result
The propose/execute pattern became the team's default for any AI-driven feature touching persistent state.

Where does the model stop and a person take over?

Request
Scoped to the role that made it
Model
Reasons over that role’s toolset only
Proposes
A structured change. No write happens.
Human confirms
A person approves the proposal
Executes
The write is committed
The model's output is a proposal, never a write. Every change to persistent state passes through a human approval before it is committed.

OpenAI function calling · NestJS · Next.js · PostgreSQL

Software Engineer · Highpoint Growth Networks · Billing · 2024–2026

Moving billing ownership in-house without dropping a subscription

Hundreds of active subscriptions integrated with zero disruption to existing customers.

Problem
Customers were billed through an external processor, but Captiview — Highpoint's ad-tech platform — held no record of it. The client wanted billing to run inside Captiview while keeping the processor underneath. The obstacle was that both systems already held records for the same customers and disagreed: an account Captiview showed as onboarded in August had existed in the processor since March. There was no shared key between them.
Decision
Rather than reconciling by hand or trusting one side, I built a system to do it: pull every customer from the processor, match each one to its Captiview account, and compare them field by field so conflicts surfaced instead of being averaged away. Where the two disagreed, Captiview won — its record was the newer one — and that rule was fixed before the first record moved, not decided case by case. The processor's customer ID was then stored on the Captiview account permanently, so every invoice pulled afterwards attached itself to the right customer.
Result
Captiview became the system of record for every subscription, with the full invoice history attached to the customer it belonged to instead of living in a third-party interface.

Two systems held the same customer and disagreed. Which one was right?

Pull
Every customer record out of the processor
Match
Each one to its account inside Captiview
Compare
Field by field, so conflicts surface
Resolve
Captiview wins — its record is the newer one
Link
The processor's ID kept on the account, so invoices land on the right customer
The two systems shared no key and disagreed on dates. Fixing the rule before the first record moved turned hundreds of individual judgement calls into one decision made once.

NestJS · PostgreSQL · Payment processor API · Data reconciliation

The platform: captiview.com (opens in a new tab)

Full Stack Engineer · UseTeam · Voice AI · 2025 → now

Turning resident phone calls into structured, routed records

Deployed across 50+ residential communities in Spain.

Problem
The building owner took the incident calls himself and could not answer them all. Residents reported by phone, in their own words and at any hour, so reports arrived incomplete or never arrived — and nothing kept a consistent record of what had been said or when.
Decision
A voice agent on Retell AI that runs an interview rather than a transcription. It asks what happened, how long ago, and whether the caller is on site, and does not close until it has all three. The answers become a categorised incident written to the system, and the owner is notified with the category already applied. Each call is recorded and scored for tone, so the owner can see whether the person was calm, nervous or angry before deciding what to handle first.
Result
The owner stopped being the phone line. Every report is logged, categorised and delivered with the caller's state attached, without anyone answering or transcribing it by hand.

What does the agent have to know before it can hang up?

Required before the call can close

  • What happened
  • How long ago
  • Whether the caller is on site

All three present — the incident is filed, categorised, and the owner notified.

Retell AI · NestJS · Next.js · Sentiment analysis

How I work

I start with the problem behind the request.

Before writing anything I want the workflow it sits in, the constraint that shaped it, and what the client is actually trying to achieve. Requests usually arrive as a solution someone already picked — the useful work is finding the problem it was meant to solve.

Ambiguity is the normal starting condition.

Requirements rarely arrive complete. I work with clients and stakeholders to turn them into something buildable, contributing to decisions about scope, technical approach, architecture, integrations, and what is worth doing first.

Design is a conversation, not a handoff.

When there is a designer I want to be in the file before it is final — what is feasible, what will break, what is worth changing — and then build in parallel, adjusting together when the implementation shows something the mockup could not. When there is no designer, I own the UX and UI myself.

I own the whole path, not a slice of it.

Frontend, backend, database design, third-party integrations, AI systems, deployment. Owning the full path is what keeps the decisions at each layer consistent with the product decision that started them.

Shipping is the middle of the work.

Once something is in production I iterate on it — against stakeholder feedback and against how it actually gets used. That is usually where the real requirements show up.

Experience

May 2026 — PresentRemote · Argentina

Founder & Full Stack Engineer · Arnie

Founded and built an AI support platform for SMBs, owning everything from problem discovery and customer conversations through architecture, implementation and go-to-market.

Apr 2025 — PresentSpain · Remote · Concurrent contract

Full Stack Engineer · UseTeam

Lead AI-focused client projects from the first conversation through architecture, implementation and production delivery, in a team of four engineers shipping 5+ products for international clients.

Mar 2024 — Aug 2026US · Remote · Concurrent contract

Software Engineer · Highpoint Growth Networks

Built features end to end across a production ad-tech SaaS — database, backend and frontend — in a team of five, and led the frontend itself: architecture and UX/UI, reworking the existing surface and directing the new one. Shipped the multi-agent AI system, and the migration that brought billing and its customers in-house from an external provider.

Apr 2023 — Mar 2024Spain · Remote

Frontend Developer · Synergiart SL

Built customer-facing web applications from Figma handoffs, owning each project from design handoff through to production.

Highpoint and UseTeam were independent contracts and ran concurrently. Arnie is live and stays in maintenance rather than active development. I'm available for a full-time role now.

Full Stack Web Development — Henry (2023) · Frontend Development — NextU (2022)

Capabilities

Product engineering

Take a product from the first customer conversation to production — requirements discovery, stakeholder collaboration, technical decisions, delivery.

End-to-end ownership · Client-facing development · MVP delivery

Interface

Own the UX and UI when there is no designer, and work from Figma with one when there is — starting at the feasibility conversation, not at the handoff.

Design systems · Component architecture · Figma to production

AI products

Build agents that execute real business actions rather than only answering, and the retrieval layer that grounds them.

OpenAI function calling · AI agents · LLM integrations · RAG · Retell AI · ElevenLabs

Full stack

Ship the whole surface, from data model to the interface a customer actually uses.

TypeScript · React · Next.js · Node.js · NestJS · Tailwind · Zustand

Systems & data

Design the architecture and data model behind multi-tenant SaaS, subscriptions and payments.

PostgreSQL · MongoDB · Technical architecture · Database design · Payment systems

Contact

Currently open to Product Engineer roles.

If you are hiring for a role where one person owns the product decision and the code that follows from it, or you want to talk about Arnie for your business, write to me.

Mauro Genna