
Product Design & Full-Stack | Vira Entretenimento
Year
Role
Duration
Team
Tools
View Project
Vira is an events company that wanted to sell tickets, run the door and, later, on-site spending without depending on a third-party platform. That means handling real money: Pix, installment card payments, chargebacks, producer payouts, Brazil's half-price ticket law, the right to withdraw and LGPD.
Co-founder leading product and technology: business rules, design, code, infrastructure, and the documentation my partners use to run it on their own.
Live at viraentretenimento.com.br, with Mercado Pago in production, a real-money dry run passed and the first paid event on sale, six weeks after the first commit.
Vira's in-house ticketing platform: a public event storefront, an in-page checkout with Pix and cards in up to 12 installments, a passwordless buyer account, a back office where my partners publish events and track sales and payouts, phone-based door control, and an internal handbook generated from the repository itself. Built with Next.js, Prisma and Postgres on a server in Brazil, with Mercado Pago behind an interface that lets us swap gateways without touching business rules.
Small events companies usually sell tickets through a third-party platform. The audience becomes the platform's customer, the buying experience is the platform's, and the company has no say over fees, payout timing or what happens at the door. Vira wanted the opposite: its own product bringing together ticketing, door control and, in a second phase, on-site spending.
The challenge wasn't building a checkout screen. It was handling other people's money safely from day one: Pix and installment cards, chargebacks, producer payouts on a set schedule, the legally required 40% half-price quota, a seven-day right to withdraw and separate LGPD consent. And doing it in time for the first paid event, on a team of four co-founders where I'm the only one who codes.

For tickets, Vira collects and pays the producer out: without holding the money there's no way to cover chargebacks. For on-site spending, balances stay with a licensed institution, never with Vira. Each sale's split is recorded at the moment of charging.
The fee is negotiated per event and recorded on each ticket, like the price. Negotiating a different rate tomorrow never rewrites what someone already paid.
Pix costs a fraction of a card payment. It comes first and pre-selected; cards are still there, in full or up to 12 installments, without the spotlight.
The 40% half-price quota and the 60+ quota are calculated automatically for every batch. The fire department's capacity is a hard sales limit. A ticket already used at the door can't be refunded.
Accepting the terms, getting news and sharing data with sponsors are three separate checkboxes. The third can be declined at no cost.
For house parties, the storefront and checkout show only the city. The full address goes on the ticket and in the buyer's email.
Checkout opens in a modal over the storefront, with the system's own checkout page inside. Pix, cards and terms acceptance live in one place, with no duplicated payment code. Closing the modal loses nothing: if you close it mid-Pix and reopen, you're back on the same QR code. To make this safe, the system now refuses to be framed by any other site; only the checkout page accepts the storefront.
The buyer account is optional and passwordless: the account is the email, access is by one-time code and lasts 30 days on the device. It groups every CPF bought under that email, like a family, and shows valid tickets and purchase history.

Each partner owns an area: operations, sales and finance. The back office was designed so none of them needs me day to day. They create events and ticket batches, publish to the storefront, write the copy, pick the cover and see the result in a live preview before saving. Finance tracks what came in, what went back and payouts per event, with each installment's date calculated in business days and a spreadsheet for reconciliation.
Cancelling a ticket refunds through Mercado Pago automatically, with the right rule: on a buyer's withdrawal the fee is kept; if the event is cancelled, the refund is full and the fee comes out of the producer's share.


Door control runs on the staff member's phone. The device opens a shift with an event pass, with no password typed at the line, reads the QR code with the camera and answers in solid color, readable from a meter away. Never color alone: approved shows the name, denied shows the reason, and check asks for the half-price or 60+ document. Every entry is recorded under the shift that scanned it.

With four co-founders making decisions, the risk was decisions getting lost in WhatsApp threads. I set up a password-protected internal handbook built from the repository itself on every deploy: decisions made and pending, back office and door manuals, business rules and the status of every feature.
Journeys are drawn as swimlanes per actor, from buyer to payment gateway, with each step's status: working, in rehearsal or still to build. They come from data files, and CI checks that every step marked as done points to code that exists. The page that says what works can't lie without breaking the build. For people who learn by watching, I generated short videos per partner, with Blender and GSAP, covering each flow.

I built Vira with Claude Code as an engineering partner. The split was clear: I define the product, the business rules and what ships or waits; the AI writes, tests and documents, always through pull requests, with CI as the judge. What made it work was turning decisions into things that can be checked: a rule you can verify by reading the code becomes a CI gate, and a partners' decision becomes a handbook entry in the same PR that changes the screen. That way speed didn't cost trust, in a product that handles money.
In six weeks Vira went from first commit to a live ticketing platform on its own domain. Mercado Pago went to production on September 30, and the real-money dry run passed: Pix, full and installment card payments, payment notification and automatic refunds. The first paid event is on sale on the storefront, and my partners publish and track events without going through me.
The next steps are in the handbook itself, marked as still to build: door control that keeps working offline, cashless spending inside the event, and pre-filled checkout for account holders.