Bolona
- vibe coding
- AI
- women's sports
Women's sports among friends
TLDR:
I know you don’t have time to read a whole portfolio, so here’s what matters:
- ChallengeBuild a prediction game among friends that gives visibility to women's football without feeling like a betting app, and ship it to real users, on my own, with no programming experience. — Go to section: The challenge
- My role & scopeBuild the product end to end: concept, UX, UI, content, marketing and development. Use AI from the PRD to the code, ensuring the quality of design and product decisions. — Go to section: Building with AI
- ResultsThe app is live at bolona.com.br in open beta, running the 2026 Brazilian Women's Série A1 with automatic scores. An average of 20 picks per active user. — Go to section: The pilot in numbers
- Key decisions & trade-offsWorking with picks without being read as betting, by removing any mention of money. Cutting costs with alternatives to paid APIs, like a scraper for the scores. Giving people a reason to open the app during the match, with a quiz that only exists while the ball is rolling. — Go to section: Product decisions
The problem
Overview
Bolona started with a question: why doesn't women's football hold the same emotional place as men's? It's my own product, from a paper sketch to an app in production.
In men's football, rooting is almost always shared: the family together on Sunday, the office pool, the match watched with friends. That shared memory turns a sport into culture. Women's football doesn't have it yet, largely because people don't know the teams or the players.
Bolona exists to build that memory: a prediction game among friends, only for women's football, that teaches about the teams while the group makes its picks.
Why women's football
Women's football still isn't part of the routine of people who love football. Three factors explain why.
Little visibility
Men's football fans know the line-up by heart. In women's football, many people don't know who plays, where or when.
Little ritual
There's no reason to watch together. A pool creates one: every match is suddenly worth something inside the group.
Timing
The 2027 FIFA Women's World Cup takes place in Brazil. The app was designed for the World Cup and validated earlier, in the 2026 Brazilian Women's Série A1.
Where design comes in
Pools already exist: in spreadsheets, in WhatsApp groups, in betting apps. The design work was deciding what this pool should not be, and designing an experience light enough for someone to join a group from a WhatsApp link and make their picks in under a minute.
The project was also a way to test a method: building a real product, end to end, with AI.
The challenge
Three fronts: positioning, the technical build and day-to-day operation.
Not a betting app
Sports betting dominates football advertising, and Bolona had to be the opposite: no money, no prizes, nobody winning from someone else's loss.
Built by a designer
I'm not a developer. Databases, authentication, permissions, deploy and push notifications were new territory, and all of it had to work with real users.
Real data, every day
A pool without up-to-date scores doesn't work. Matches, kick-off times and results had to be right without typing them in by hand every round.
Product decisions
Three decisions defined what Bolona is and, above all, what it isn't.
No money, ever
The first version had an entry-amount slider and four named tiers. It all came out: database column, component and copy. If there's ever revenue, it will come from curated ads, never from users' losses.
Friends, not a public arena
Bolona isn't an open social platform: only people in a group can make picks. Keeping picks among people who know each other is one of the safeguards against addictive behavior. Each group has its own ranking, a single owner and a permanent invite link the owner can close or replace.
A quiz with many jobs
The quiz only opens while the ball is rolling, which gives people a reason to open the app during the match. Everyone's result is visible to the group, one more way to interact. And the questions get people curious about the teams and the players.
Building and research with AI
Starting with a PRD
To bring together the ideas and research I already had, I wrote the PRD with AI. Iterating with Claude, I cut scope where a feature cost more than it was worth and added what the product would need that I hadn't foreseen.
Defining the UI: references
With clear requirements, I ran a benchmark on Interface In Game, a library of game UI screenshots, to define the visual language. The selected screenshots went to Claude, which described each game in a .md along with what I wanted to bring into the product.
From that document, I chose interface by interface.

Building with AI
With the PRD and references ready, I moved to Claude Code with one rule: always explain decisions, alternatives and trade-offs, and leave every choice to me. The paper sketches first became a prototype with mock data, to validate the flow before investing in a database.
To use tokens efficiently from the start, I applied a spec before code method:
- Context files (CLAUDE.md) with the project's fixed rules, so I didn't have to re-explain the stack and business rules every session.
- Only four living documents: DESIGN.md (visuals and tone), COMPONENTS.md (structure), PLAN.md (scope, decisions and backlog) and STATUS.md (what's real and what's still mock). More documents than that produced conflicting information, so I consolidated.
- A short plan before every change, with the "how I'll know it worked" criterion written up front.
- Start small: one table and one permission rule tested before copying the pattern to the others.
- Test mode vs. build mode: while I tested, Claude only logged findings in the backlog. Building was my call.
- Automatic guardrails: a script that fails if anyone uses a color outside the design system, instead of relying on memory.
With every version built, I tested the real flow as a user. Many findings became improvements: the missing toast when saving a group name, the dropdown that cut off long lists, and the profile, which had turned into a pile of links with no separation and was reorganized into sections.
Launch and challenges
The launch was an open beta, in the 2026 Brazilian Women's Série A1, with no paid media. The challenges went beyond the screens.
Legally safe
Since the product handles real people's data, avoiding legal risk shaped security decisions and features I cut, like a chat. It also led to a minimum age of 18 (younger accounts are deleted on the spot, with no data kept), Terms of Use, a Privacy Policy, an offensive-name filter and a way to report.
Low cost
As a personal project, cost weighed on every technical choice.
Marketing at match pace
The Instagram had to keep up with each round and invite people to make their picks and take the quiz. To post from anywhere, without a computer, I built a story generator that turns the day's matches into a post, straight from the database.
Scores without a paid API
Automating results would have meant paying for a sports data API. The alternative was a scraper for the CBF website, built with what I learned in a Python course, that updates scores and kick-off times automatically.
Google's approval
Getting approval to show the Bolona brand on the Google sign-in screen took a very long time. It's the kind of problem AI can't solve for you.
Experience
Home and picks
Ranking
The ranking shows points, exact scores and correct results. Tiebreak goes by points, then exact scores; if it's still tied, it's a real tie. I cut the "who picked first" rule from the original plan because it rewarded speed, not knowledge.
Groups can see the ranking by round, a filter over the competition ranking that doesn't reset the running total. On each participant's profile, every round shows the position she held at the end of it.

Live quiz
Result
The pilot in numbers
An organic pilot, with no money spent on promotion. The base is small; those who joined made about 20 picks each.
41
people signed up during the pilot, all organically.
51%
of them made at least one pick, or 21 active users.
423
picks, about 20 per active user.
61
quizzes taken by 8 people, almost 8 matches each: those who tried the quiz came back.
Results
Beyond the numbers, the pilot left the product ready to grow.
From paper to production
Bolona is live at bolona.com.br, in beta, with sign-in, a database and real users in the 2026 Brazilian Women's Série A1.
Ready for the World Cup
The architecture already supports multiple competitions. Turning on the 2027 Women's World Cup is content work (teams, matches and questions), not code.
A brand, not just an app
An active Instagram, with content generated from the matches themselves, and a clear stance: Bolona is not a betting app.
Key learnings
Owning the whole product, not just the experience, changed the weight of every decision. Usability had to be balanced against legal requirements, cost, and technical limits. The age check, the terms of use, and the semi-automated score updates all came out of that balance.
I didn’t become an expert in databases, permissions, or deployment, but I gained enough familiarity to assess the technical cost of a design decision before proposing it.
On Bolona, I worked as a product designer in the literal sense, caring about what gets built and how it reaches people. And I learned firsthand that usability, even though it’s my specialty, isn’t enough for a product to succeed: it also takes a lot of effort and investment in marketing. But that’s a story for another chapter.


