Southern Brazil — founder, SempreVenda Status in build

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

I’m the founder of SempreVenda, an offline-first point-of-sale and operating system for restaurants, bars, and cafés in Brazil. At twenty, I am building the product while continuing to operate the kind of business it serves.

See the product Demo — coming shortly

Current status completing the production application around the finished Rust transaction kernel and preparing the system for deployment.

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 turned it into a bar and café. I still run it. I hire and pay the staff, order from suppliers, count stock, close the till, reconcile the card machines, and pay the software bills.

That is also where I met the problem. I have watched a service run on a system that disagrees with itself: an order that exists on one screen and not another, a card machine that reconciles to a figure the POS will not confirm, a counter queue while a terminal restarts. Those are not reporting inconveniences. They are the service.

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 the Adobe tools. Worked after school at a local design studio, where I learned product photography, client work, and production workflow. Left to freelance for local businesses.

    closed
  2. 14–15

    Sneakers and web design

    Joined a small hype-sneaker resale venture. My first attempt was a Nike restock bot; it never worked, but I became the operation’s general problem-solver. Later I sold web design work.

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

    Coffee

    Built a coffee brand in Minas Gerais. I bought 60 kg sacks directly from farmers and 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.
    closed
  4. 17

    Electrical engineering

    Moved about 1,000 km alone to Ponta Grossa to study electrical engineering. Worked on an electric racing-car project and helped organize university events for 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. The house in Ponta Grossa at night, cars and a motorcycle in the garage.
    left
  5. 18

    Boots

    My father declined to let me expand his boot business, so I sourced boots from another factory and built my own sales operation in southern Brazil. It grew enough for me to hire a salesman. The venture eventually collapsed.

    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.
    collapsed
  6. 19

    Hospitality

    Opened a bar and expanded it into a bar and café. Running it is where I found the operational and software problems that led to SempreVenda.

    operating
  7. 20

    SempreVenda

    Built the initial product, judged its architecture insufficiently trustworthy at scale, and completed a central Rust transaction kernel. I am rebuilding the production application around it.

    in build

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 completing SempreVenda’s production application and preparing it for deployment in hospitality businesses.

main.agnaldoguerra@gmail.com