Southern Brazil — founder, SempreVenda Status building

I run a bar and café. I’m building the POS I wish I had.

At 20, I am building SempreVenda, an offline-first point-of-sale and operating system for restaurants, bars, and cafés in Brazil. I also run the bar and café where I first encountered the problems it solves.

Current status finishing the production version of SempreVenda and preparing it for deployment in a live restaurant environment.

Agnaldo Guerra sitting on a motorcycle at a roadside stop, helmet resting on the handlebars.
Fig. 01 Agnaldo Guerra, southern Brazil.

01 Current work

SempreVenda

A restaurant’s point-of-sale is not a back-office tool. It is in the hands of the staff through every service, and when it stops, trade stops. Most of the systems available here bill forever and take custody of the data the business runs on. The dependence is not only financial: when the record of your sales, your stock, and your history lives somewhere else, so does your ability to keep trading without it.

SempreVenda keeps selling when the connection drops, and the business buys the core system rather than renting it indefinitely. Sales, payments, stock, cash movements, and audit history all resolve against a single transaction model, so there is one answer to what happened during a service rather than four that disagree.

The product covers table service, orders, kitchen and bar production, payments, cash management, inventory, costs, and reporting: the whole of what a shift touches, rather than a checkout screen with reports attached to it.

01

Offline-first operation

The terminal keeps selling when the connection does not.

02

Perpetual ownership

The business buys the core system instead of renting it indefinitely.

03

Centralized transaction truth

One model owns what a sale, a payment, and a stock movement mean.

SempreVenda shift overview: the live kitchen queue on the left, the floor plan with paid and occupied tables on the right, and delivery counts below.
01 Shift overview — kitchen queue, floor, delivery
The floor view on a phone, showing occupied, overdue and paid table counts above a grid of table cards.
02 Table map
A card charge in progress on a phone, waiting for the customer to present the card at the terminal.
03 Taking a card payment
The stock screen listing finished products with unit counts, minimums and sale values, above a purchase list.
04 Stock and costs
semprevenda.app.br (opens in a new tab)

Current status Rust kernel built; features migrating onto it.

02 Founder-market fit

Why I’m building it

I opened a bar at nineteen and later expanded it into a café. I still run it: hiring and paying staff, ordering from suppliers, counting stock, closing the till, reconciling card-terminal payments, and paying the software bills.

That is where I learned what unreliable restaurant software costs in practice. I have seen orders appear on one screen but not another, card-terminal totals fail to match the POS, and a line form at the counter while the terminal restarts. These are not back-office inconveniences; they interrupt service while customers are waiting.

The street frontage of the bar and café: a tiled-roof house behind a low wall, with parasols over the terrace tables. The room full of customers standing and talking during an evening service. A DJ mixing on a controller set up on a table on the terrace of the bar and café.
Fig. 02 The bar and café — the house, and the room in service.

I am not building software for a customer I understand only through interviews. I operate the same category of business I am building for.

03 Technical judgment

Rebuilding the foundation

The first version of SempreVenda proved the product’s scope: it did enough of the job to show the shape of the whole thing. It also spread the rules of the business across the application, so the answer to what a sale was depended on which part of the code you asked.

I stopped adding features. Rather than continue compounding, I rebuilt the transactional foundation as a single kernel in Rust. A kernel here means one piece of the system, and only one, is allowed to decide what happened: every sale, payment, and stock movement is submitted to it, and nothing else may write the record.

Typed commands in, validated state transitions and receipts out, safe to retry, defined behavior on crash, and an audit trail that is written rather than reconstructed. For the operator that means one figure at the end of the night, and a record of how it was reached that nobody had to assemble afterwards. The kernel is finished. The production application is being rebuilt around it, with the interface holding far less authority than it used to.

SempreVenda system layers Four layers stacked from top to bottom: the user interface, which is presentation only; the application layer, which handles orchestration; the Rust transaction kernel, which holds authority; and persistence and audit records, which hold history. Each layer sends work down to the one below it. 01 User interface presentation only 02 Application layer orchestration 03 Rust transaction kernel authority 04 Persistence and audit records history SempreVenda system layers Four layers stacked from top to bottom: the user interface, which is presentation only; the application layer, which handles orchestration; the Rust transaction kernel, which holds authority; and persistence and audit records, which hold history. Each layer sends work down to the one below it. 01 User interface presentation 02 Application layer orchestration 03 Rust transaction kernel authority 04 Persistence and audit records history
  • 01 typed commands
  • 02 validation
  • 03 state transitions
  • 04 receipts
  • 05 idempotency
  • 06 retry safety
  • 07 defined crash behavior
  • 08 append-only audit history
  • 09 reduced authority in the UI
  • 10 one definition of business truth
Why I rebuilt SempreVenda around a Rust transaction kernel

04 Record

I have been building and selling since thirteen

  1. 13

    Design

    Taught myself Photoshop and other Adobe tools. Worked after school at a local design studio, where I learned product photography, client work, and production workflow. Later left to freelance for local businesses.

    ended
  2. 14–15

    Sneakers and web design

    Joined a small sneaker-resale business. My first attempt was a Nike restock bot; it never worked, but I became the operation’s general problem-solver. Later, I sold websites to local businesses.

    A navy and yellow Nike Dunk Low in its box with the retail tag still attached.
    ended
  3. 16

    Coffee

    Built a coffee brand in Minas Gerais. Bought 60 kg sacks directly from farmers, transported them myself, worked with a local master roaster, packaged the coffee, and sold it to businesses and supermarkets.

    Unripe coffee cherries on the branch at a farm. Driving a dirt road between farms, seen from behind the wheel. A roaster holding a wide sieve of sorted green coffee beans.
    ended
  4. 17

    Electrical engineering

    Moved about 1,000 km alone to Ponta Grossa to study electrical engineering. Worked on an electric race-car project and helped organize university events attended by more than 700 people.

    The university electric racing car in the workshop with its battery enclosure opened. Bench equipment, transformers and test leads in the electrical engineering laboratory.
    left
  5. 18

    Boots

    When I could not expand through my father’s boot business, I sourced boots from another factory and built my own sales operation in southern Brazil. It grew enough to hire a salesperson before eventually failing.

    A tan leather boot from the range I sourced, held up in the car. A black leather work boot from the range I sourced, held up in the car.
    failed
  6. 19

    Hospitality

    Opened a bar at nineteen and later expanded it into a café. Running it exposed the operational and software failures that led me to build SempreVenda.

    operating
  7. 20

    SempreVenda

    Built the first version of SempreVenda. When I found its transaction logic fragmented across the application, I stopped feature work, built a central Rust transaction kernel as the single source of truth, and began rebuilding the production app around it.

    building
  8. Outside work

    I play classical piano and improvise jazz and blues. I have competed in boxing and still play tennis. I also cook, make cocktails, and ride motorcycles.

05 The pattern

The pattern

I tend to learn by entering an industry, selling something real, and taking responsibility for the result.

My earlier projects taught me how to start, sell, and move quickly. Their failures taught me that speed only compounds when the underlying system is durable. SempreVenda is the company I am building with both lessons.

07 Contact

Contact

I am currently finishing the production version of SempreVenda and preparing it for deployment in a live restaurant environment.

main.agnaldoguerra@gmail.com