pull down to refresh

The idea was simple: March Madness deserves a bracket pool that doesn’t rob you blind, and it is a fun, simple idea to try building with all these fun new AI tools.

Most pools take 10-30% off the top. I looked at that math and said, "Absolutely not." So off I set to make BracketSats — a Sweet 16 bracket pool that runs entirely on Bitcoin and returns 99% of entry fees to players. It’s $10 entry in sats, pure on-chain. How did I get there? How did it go?

THE LIGHTNING MISTAKE (OR: HOW TO LOSE YOUR MIND AT 2 AM)
I started with building with Polsia, thinking to use the Lightning Network. Fast! Cheap! Seemed perfect for micro-transactions! I got pretty far. Then reality hit me like a folding chair to the face: mobile wallets do not handle Lightning the same way. Some entries failed silently. Some stayed in limbo. At 2 AM, fueled by panic and an impending deadline, I made the call: Rip it out. Burn it down. Go on-chain only.

On-chain is sloooooow, sure. But it’s verifiable. BIP84, P2WPKH, 0-conf for $10 entries. Every entry is a transaction on the blockchain. You can watch your sats move in real-time. There’s no ambiguity, no "is this pending?" — just clear, immutable proof that you are in the tournament. Turns out, when you are in a 48-hour sprint to launch before tip-off, clarity beats shiny new tech every single time.

THE DEADLINE GAMBLE AND THE SAVINGS ACCOUNT DRAIN
Let me paint a picture of what it’s like racing to get an app built before a hard deadline: It is pure, unadulterated chaos. Like March Madness itself. March Madness is known for major upsets, which is what makes it so fun. Just a year ago, I would have had to get an engineering team, months of writing design docs, and doing QA testing. Instead, I built the absolute riskiest version that might actually work, threw it live, and iterated from there. It is just jawdropping the times that we are living in.

It also feels so palpable because I took this huge leap of faith moving to Prospera, in Roatan, HN. I walked away from Corporate SaaS, because I was tired of being told I couldn’t just be myself. My last boss, who fired me (who was a friend and recruited me) told me that I had to change my voice, tempo, and intonation. She knew me. My voice. How do you change your voice? I can’t stand being fake. I don’t want to change my voice. I just want to be me.

THE ALTERNATIVE IS TOO HORRIBLE TO COMPREHEND
I’ve been watching my savings account drain; it’s like watching a horror film where you are the victim, and the monster is just your rent bill. But the real boogie man in the closet is the idea that you might have to go back to corporate SaaS. Fifteen hours of back-to-back horrible, awful, soul-crushing Zoom calls that leave you looking like a zombie. You know the ones. The ones where you have to pretend to care about "synergy" and "Q3 OKRs" while a middle manager named Brad asks you to update a Jira ticket for the fourth time this week. I would rather stab myself with an icepick in the eye.

BUILT BY AI, TESTED BY HUMANS (WHO ARE VERY TIRED)
The entire app was shipped via AI agents. Not theoretical, not a cute demo—actually deployed and running. ESPN API integration, HD wallet xpub derivation, bracket advancement logic, mobile optimization, payout waterfall design. Every piece was built by Claude agents orchestrated through Polsia, deployed to production in real-time. This is the promise of AI co-founders finally working. Not a chatbot. I’ve been keeping up with vibecoding and AI, and have been having fun playing with all the new tools. To watch the way it has evolved - so fast. It was month over month. Then week over week. Then it was the Clawbot rush, but I didn’t get around to setting it up because I have been hustling working (my insanely busy fun job that does not pay anywhere near a fat SaaS job) Actual agents that build, test, deploy, and iterate while I stress-eat pizza and take shots of Fireball.

THE UTXO PROBLEM (OR: WHY T. WAS RIGHT AND I FEEL LIKE A NEWBIE ASSHOLE)
I was so proud of the shiny new toy that I had built all by myself. Tomahawk, a seasoned Bitcoiner, pulled me aside and told me about UTXO consolidation. Basically, the $10 entry fee is kind of a terrible idea from a Bitcoin UX perspective. When you're dealing with small satoshi amounts, you create a ton of UTXOs that pile up in people's wallets. It's messy. It's inefficient. It's the kind of thing that makes Bitcoin nerds wince.

Shit. I had already deployed and have $10 entries, can’t change it now. Tomahawk was right. I knew Tomahawk was right. I still know Tomahawk is right.

So I'm just... living with it. Feeling like asshole. Knowing that I've created a wallet bloat for every single player who enters. It's the kind of decision that keeps you up at night, right alongside the panic about whether the blockchain will actually confirm your transactions in time.

Sorry, I hear you. I just can't fix it right now. Next time, promise.

WHY THIS MATTERS (EVEN THOUGH I'RE ALREADY FEELING GUILTY ABOUT IT)
Every major sportsbook takes 15-25%. They got fat and lazy on the assumption that players had nowhere else to go. I'm proving them wrong.

Our house fee isn’t a rent-seeking middleman tax — it’s purely operational. My AI bill is now higher than my rent, and I was already worried about my rent. So I’m being completely transparent: 1% of each entry funds the game itself. And maybe a little bit goes to me, so I don’t have to face the horrible SaaS boogeyman. 99% goes to the players who built the best bracket. That’s it. No surprise mechanics. No hidden juice. The code runs the game. The blockchain confirms the winners. The payments are final.

BracketSats is L I V E (PLEASE COME PLAY AND TELL YOUR FRIENDS)
We only have a few more hours till the Sweet 16 games start. I am taking entries right now at https://bracketsats.polsia.app. Payouts are distributed automatically after the tournament ends based on bracket accuracy.

For the hardcore Bitcoin crowd: I have full transparency on payout logic, wallet derivation, and fee distribution in the code. Run your own validation. I don’t need your trust — the blockchain provides the proof.

Bitcoin-native apps need to be boring and reliable, not polished. I chose boring. The bracket UI is dead simple. (Also, I’ve heard the black and orange is so Las Vegas 2025) The payment flow has one path. The contract logic has no flashing features. It just works.

Don’t rip me too hard. May your picks be good, your sats be plentiful, and may I never have to update a Jira ticket for Brad ever again. And Tomahawk, if you're reading this: I owe you a beer. Thanks for all the feedback.

I don’t see my name amongst the participants but I paid.

4d09df3e2421359d38f76084b13b4df68e23a7bdd41962de57a1a543fd988fc3

reply

I joined.

You should connect with @SatSquares. He didn’t March madness brackets but with onchain or lighting payments.

reply

Will you circle back to LN in the future?

reply

Thanks so much!

reply
2 sats \ 0 replies \ @gsc360 18h

Amazing effort, hope to see something like that for the world Cup, congrats 🎉 👏

reply