TypeScript · React · Next.js · Svelte · Tailwind · React Native · Expo
Luan Taraschi
Full stack software engineer · front to back
I keep a 124-table ERP in production, from requirements to on-call support. In parallel, a fourteen-line fix of mine landed in Meta's text editor after review by someone who doesn't know me. So far, I have opened 220 pull requests in projects I don't own, and 150+ of them have been merged.
- Based in
- Salvador, Brazil (UTC−3)
- Available for
- full-time
- Currently into
- LangGraph, MCP and Claude Code
- Writing code since
- 2019
1-bit · bayer 8×8 move the cursor drag your finger
How I work
I build SaaS and automation with React, Next.js, Node.js, PostgreSQL and Docker, and I came up through software engineering, automation and QA. I am reading Software Engineering at UCSAL, finishing in late 2027.
The two systems I keep have people depending on them every day. On the larger one, the office talks to the system through an MCP server with 67 tools. I take software from requirement to production without handing it off: architecture, data modelling, integration, deployment and the on-call after. From scratch or inside code that already exists, alone or on a team. And I would rather ship the flow that solves the real problem than ship beautiful technology nobody uses.
Working alone for clients has a hole in it: nobody reviews what I write. This is why I started sending fixes to open source projects, where the standard is someone else's, the reviewer does not know me, and the pull request gets in on merit or it does not. Before that came a year interning on a team, with real Scrum: sprint, daily, backlog and retrospective. Both teach the same lesson: code someone else will maintain gets written differently.
A good part of the work happens before any code. At JVB I knew nothing about law, so the system came out of talking to the people who live that routine, and what stayed standing was what helped their day, not what looked good in my editor. Gathering requirements from people who do not speak your technical language is half the job, and no framework does that part for you.
What interests me most right now is agent orchestration: letting AI take the repetitive triage and hand back to a human only what needs judgement. That is what I am building in production with LangGraph, MCP, RAG and API integrations.
Two things I treat as part of the job and not as decoration: tests and accessibility. This site navigates entirely by keyboard, respects anyone who asked for less motion in their operating system, and passes contrast. And one of the fixes that made it into a third-party project was in MathCAT, which turns math into speech and braille for screen readers.
And I have broken things in production. A healthcheck made the system learn the wrong public URL and write attachment links pointing at a host that does not exist. I wrote up the whole path, from symptom to root cause, and what changed afterwards: the full incident.
- Role
- Full stack software engineer
- Based in
- Salvador, Brazil · UTC−3
- In production
- 2 systems, maintained and evolved by me
- Scale
- ~1,000 conversations/month · 300+ cases
- Experience
- 4 years, since my first semester at university
- Languages
- Portuguese native · English fluent
- Open source
- 220 sent · 150+ merged ›
- Published
- 2 npm packages · 2 plugins ›
- Incident
- from symptom to root cause ›
- Tests
- 3,500 automated, with secret scanning blocking every push
- Keyboard
- this whole site, just press Tab
- Resume
- two-page PDF ›
What I have built
Systems with a real user on the other end, that have to wake up working every morning.
JVB: a bespoke legal ERP
An entire law firm ran on spreadsheets and WhatsApp; today it runs on one system. 124 tables, 881 typed endpoints, 3,500 tests, all built by one person.
AI triage on WhatsApp
Around a thousand conversations a month, 100% triaged by an agent before they reach a person. With a guardrail: the bot never gives legal advice.
Dev Tools
Seventeen developer utilities in one panel: OCR, background removal, QR, image conversion, CSS generator. Runs in the browser.
Gesture AI Desk
Controlling the computer with your hand through the webcam: 21 landmarks per hand at 30fps, seven gestures, fully offline and with no API at all.
Seamless AI Dub
An English video goes in, a Portuguese dub comes out: Whisper transcribes, the model translates, TTS speaks and the cut lands back in sync.
There is more on GitHub
Drafts, studies and things that went nowhere. What stood up and got published has its own section right below.
And code of mine runs in projects that aren't mine
Fixes of mine have already landed in Lexical (Meta's text editor framework), pnpm, black, mongoose, syft, isomorphic-git and orval. Each one passed the review of a maintainer who doesn't know me and doesn't owe me anything.
What I publish
No user on the other end here: another developer, who installs this into their own project and gets a broken build if I get it wrong.
lull
Four messages in a row become one reply. A conversation runtime for chat agents: 71.3% fewer model calls, with a number you can reproduce.
eventlaw
The same rule usually exists three times, and the three disagree. Here the law becomes data: one definition tests, verifies recorded traces and monitors production.
anti-slop
Forty-nine marks of work nobody finished, each with the case where it does not apply. It audits and it builds, and the two halves hold each other to account.
merge-odds
Does this project accept outside pull requests, and under what rules? An open dataset, every claim quoted verbatim and pinned to a commit.
The technical decision behind each one, and the command that checks it ›
Browser party games
Games you open on a call with friends, nothing to install. Except the hardest technical problem I solve lives here: keeping dozens of people looking at the same match at the same time, including whoever joins late and whoever drops mid-round.
SOMS
A snippet of a song plays and everyone races to name it first. At the end, a stats card to drop in the group chat.
SUS
The impostor game: everyone gets the same word, except one. Talking, bluffing and voting, in three different modes.
POV
A card with two extremes, a hidden target on the scale and one short clue. The rest of the round is people arguing about what "expensive" means.
Tools of the trade
Node.js · Express.js · tRPC · Fastify · Python · FastAPI · end-to-end type safety with Zod · REST, webhooks and SSE
PostgreSQL · Redis · Drizzle · Convex · Docker · Kubernetes · AWS · Azure · Railway · CI/CD on GitHub Actions · deployment and production upkeep
LangGraph · LangChain · MCP · RAG · OpenAI API · n8n · guardrails and evals · Whisper · MediaPipe · OpenRouter · Claude Code
Vitest · Playwright · unit, integration and regression tests · API testing with Postman · 3,500 tests running on the production ERP
Permission control · action auditing · 2FA · credential vault · OAuth 2.1 · secret scanning in CI · AES-256 encrypted backups · LGPD (Brazilian GDPR)
Timeline
2026 · ongoing
Open source contributor
Fixes in projects that are not mine, by whatever process each one asks for. 220 pull requests opened and 150+ merged so far, including 16 in isomorphic-git (git running in the browser) and 10 in Lexical (Meta's text editor framework). Each one was reviewed by a maintainer who does not know me, and 8 got rejected, one of them for a reason I found fair. The whole set is here.
Nov 2025 · present
Full Stack Software Engineer · Freelance
Five projects delivered in domains I did not know, two of them systems I still maintain and evolve today. In the larger one, a 124-table legal ERP with 881 typed procedures, eight workflows of a ten-person firm moved into a single place, and the case synchronization across five separate systems, once done by hand, now runs on its own over DataJud, REST APIs and webhooks. The triage agent handles around a thousand conversations a month and hands back to a human only what needs judgement. Full cycle: requirements, architecture, database, integration, deployment and operations, with 3,500 automated tests and secret scanning blocking every push.
Oct 2024 to Feb 2026 · part time
Automation Engineer · JVB Advocacia
I started with simple automation, in Python, n8n and REST APIs: a weekly report, a news digest, an email roundup, case updates. As I learned, I built increasingly complex things, until the JVB Kanban came out of it: a case management system that took over the routine of the whole firm. Today it carries more than 300 cases and took some 10 hours of manual work a week off the team, more than 500 hours a year. It runs on PostgreSQL on Railway, integrated over MCP: the AI itself checks case progress and assigns work inside the system.
Aug 2023 to Aug 2024 · 1 year
Software QA Intern · TecnoTRENDS
My first contact with the industry started from the other side: instead of writing the feature, I had to break it. A year validating 8 to 15 tickets per two-week sprint across the academic and financial modules, with Postman, DevTools, and SQL, on a team and with Scrum: sprint, daily, backlog, and retrospective. What I took with me was an intermittent defect in grade calculation, one that corrupted students' academic history and only showed up in a specific scenario. Pinning it down changed the regression coverage and the way the team reported bugs. Hunting for the case nobody tests is what I still do today, now from the side of the person who writes the code.
Let us talk
Tell me what you want to build. I answer in English or Portuguese.