
I’m moving abroad, and once the date was set I looked around and added up the dozens of things someone still had to buy, pick up and pay for before I left, from the sofa and the fridge to the bed, the shelf and the coffee machine.
I already knew how this usually goes, with one listing per item and one conversation per buyer, where people ask if it’s still available, ask if you can do less, agree to pick it up on Saturday and then vanish on Saturday. The usual way, I’d spend my last weeks haggling over a sofa on WhatsApp.
I decided it wouldn’t go that way and that, instead of negotiating item by item, I’d run an auction, where I put everything on a site, anyone interested bids and the highest bid wins. The auction sets the price, and the only conversation left is arranging the pickup.
I called it Subasta, Spanish for “auction”, because many of the buyers speak Spanish and pay in pesos.

What I learned from Gabriel’s project
Subasta was inspired by a project by Gabriel Teixeira, who built a very similar system with the same idea, and I learned a lot from the problems his ran into. Many people missed being told when someone outbid them, and booking the pickup was an improvement he added along the way, so Subasta was born with both.
The rest is mine, and it comes from the perspective I have as a director of product, after working on many products, of caring for the experience on both sides, for the people bidding as much as for whoever is behind it running everything. Seeing the management problems his system had, I designed my side from scratch, with the pricing logic and a flow where I create and maintain items by talking to Claude, through a connector linked to the Admin panel.
I don’t code
I’m not a developer, I’m a director of product, and all of Subasta was built in conversation with Claude, from the screens and the database to the emails and the rule for who wins. I started on a Monday at 3:43 pm, and by 9 pm the site was ready.
But I didn’t open the chat asking for “an auction site”, and I spent the first 45 minutes without a single screen, just writing the product down with Atlas, the documentation method I’ve been testing at work. There I wrote what Subasta is, the rules nothing can break, like “I talk as little as possible” and “money never goes through the site”, and what happens in every situation, even the odd ones, like two bids in the same second.
That’s what made the AI get it right, because it didn’t have to guess anything when the decisions were already made. I wrote about this idea in When good taste becomes a commodity, where I explain that getting to a beautiful screen is easy now and that what makes a product work are the decisions that come before it.
The email that blocked everything
My favorite decision in Subasta came from a mistake of mine, because in the first version I asked people to confirm their email before placing their first bid. It made sense for security, but it stopped people at the worst possible moment, when they were excited and one tap away from joining the auction, and I was sending them off to dig a code out of their inbox.
So I flipped it, and today the first bid only asks for a name, email and WhatsApp number and goes through right away. Right after, the site asks if you want to know when someone outbids you, and if you confirm your email you get the alerts and unlock the tabs that until then show a padlock, while if you skip it you keep bidding as usual. The ask is the same, but now it arrives as a reward, where before it was a wall.

An auction for one person to run
On my side the challenge was different, because I’d be handling everything alone in the middle of a move, so the Admin panel was built for me to get things done fast. Items are born in a conversation with Claude and I just upload the photos, and when an item closes it shows up in a to-do list, with a button that opens the winner’s WhatsApp with the message already written.

What stays
Subasta is small and has an expiry date, since it ends when the last piece of furniture leaves the house, but it still showed me clearly where my work has changed. Writing code is no longer the hard part, and what really took time was the 45 minutes thinking through the rules and the hours watching friends test it on their phones, with each odd moment turning into a fix.
For now the code stays with me, and when the auction is over I’ll tell you how it went.
Written by Matheus Sá. Disagree or want to add something? Write to me.