Vinicius Morandi

AI in production, with cost tracked and alerts when it gets it wrong

Software Engineer — LLMs in production · TypeScript · React · Node.js · AWS

AI in production, with cost tracked and alerts when it gets it wrong.

Five years of full-stack engineering. For the last two, I've been putting LLMs into the tax workflows of banks and multinationals: document reading, cost per call, and Slack hearing about drift before the client does.

01

Cases

3 min to import 353 documents
LLMs in production

Document intake that used to take hours

Registering a folder of tax documents by hand took hours of analyst time. Now OCR plus OpenAI import 353 documents in 3 minutes and human review takes 10 more. Every call logs its own cost, and when a result drifts from the expected pattern, Slack hears about it before the client does.

OpenAIOCRobservability
40+ chart types
Multi-tenant dashboard

Tax analytics for banks and multinationals

I owned Taxly's analytics module from the first commit in June 2025 to production. Today it's 95 backend endpoints and five ready-made views that each enterprise client arranges its own way. Every chart is there because someone needs it to make a tax decision.

ReactRechartsmulti-tenant
84endpoints with proven parity
Rearchitecture

Rebuilding the module without breaking behavior

Before changing a line, I froze the behavior of all 84 endpoints with characterization tests and a semantic comparator. The migration ran in phases, and each phase shipped only when parity matched. No behavioral regression reached production.

characterization testssafe refactor

Same period: a filter contract shared by 6 modules (FiltersV2) and a permissions rework across 340 files that surfaced a long-standing async race condition.

02

Experience

May/2025 — today

Taxly · Software Engineer

Owner of the analytics module from zero to production, integrations with dozens of government portals, and the 84-endpoint rearchitecture with proven parity. When something breaks, I fix the cause, not the symptom.

NestJSReactPostgreSQLOpenAI
May/2024 — Mar/2025

Sagui.AI · Software Development Specialist

AI-based website and app generators, WhatsApp automation, and the migration of the codebase to Vue 3 + Nuxt with broad test coverage.

Vue 3NuxtDenoAI
“Consistent, above-average delivery and results. Any team is lucky to have him on board.”
Márcio — Lead Software Engineer, Sagui.AI
“His ease getting along with others and his brilliance as a programmer set him apart on any team.”
Fábio — CEO, Sagui.AI
Apr/2023 — May/2024

Only Control · Full-Stack Developer

A platform for US nonprofits: invoices, proposals, donations and sweepstakes, with Stripe integration and a UI/UX redesign.

Vue 3NuxtLaravelStripe
2021 — 2022

Early years · Eccosys and Includer

Logistics and e-commerce APIs, ERP dashboards, and the habits of keeping code alive in production.

PHPAngularReactPostgreSQLLaravel
03

Lab

Personal project · WIP

grifo

Ask about Brazilian tax law or live company data, and every claim points at the exact span or API response behind it. A second model audits each claim, deterministic gates audit the auditor, and a question the evidence cannot support gets refused. Built to practice RAG, tool calling and LLM evals.

Screen recording of grifo answering with sources, calling a tool and refusing an ungrounded question
eval at 13/13 across two model families · answers audited claim by claim
Personal project · WIP

docpipe

Pull fields out of documents without reviewing every one by hand: a queue, retries guided by the model's previous error, and human review only where confidence drops. Built to practice dead-letter queues, versioned evals and LLM guardrails.

Screen recording of docpipe processing documents
versioned eval — 100% field accuracy on a synthetic golden set
Personal project

Wooper

Real-time 1v1 Pokémon battle simulator with a server-authoritative engine that validates every move. Built to practice WebSockets and a real deploy: AWS ECS Fargate through GitHub Actions.

Screen recording of the Wooper battle simulator demo
engine covered by unit tests · deployed from CI
04

Skills

On top, what I use every week. Below, what I've already shipped to production.

Every week

  • TypeScript
  • React
  • Next.js
  • Node.js
  • NestJS
  • PostgreSQL
  • Prisma
  • AWS
  • Docker
  • OpenAI
  • LLMs
  • Tailwind CSS
  • Git
  • PHP
  • Laravel

Shipped with

  • JavaScript
  • Python
  • Go
  • Vue
  • Angular
  • SCSS
  • Deno
  • Flask
  • SQL Server
  • MySQL
  • MongoDB
  • RabbitMQ
  • CI/CD
  • GitLab
  • Bitbucket
  • Azure DevOps
05

Education & Competitions

Competitions
Jun 2026

Code@Night 2026/1 — SAP Edition · 8th of 40 teams

SAP office · São Leopoldo, RS · Jun 2026

Dec 2025

Code@Night 2025/2 — ADP Edition · 5th of 40 teams

Unisinos · Porto Alegre, RS · Dec 2025

Education
Mar 2022 – in progress

B.Sc. in Computer Science

University of Caxias do Sul (UCS)

Feb 2019 – Feb 2022

Technical Diploma in Internet Computing

IFRS · Bento Gonçalves Campus

Need someone who keeps production up?

If this is how your team likes to work, write me.

Outside the commit log: reading, petting Cherry
, and throwing punches as Viscous in Deadlock every now and then.