← Back

What a Necklace in a Brazilian Airport Taught Me About Product Design

The first time I went to Brazil, I fell in love with the place. The energy, the food, the people, all of it turned up to a volume I wasn’t used to. On my last day, walking through the airport, I passed a jewelry shop selling Brazilian gemstones. In the display case was this gorgeous tourmaline necklace, deep green with flashes of blue, and the price tag seemed shockingly reasonable.

I walked in. Told the woman behind the counter I wanted to buy it for my mom. She wrapped it up, ran my card, and showed me the total on the terminal.

It was ten times the number on the tag.

She smiled and pointed at the tag again. There it was, in small text: 10x. The number I’d been looking at wasn’t the price. It was the monthly installment.

That was my introduction to parcelamento, the Brazilian system of buying in installments. In Brazil, almost everything of significance is bought this way, not because people can’t afford things, but because that’s how commerce works. Retailers compete on installment terms, not just sticker price.

I left the shop empty-handed.

At the time I thought it was just a funny travel story. Then I moved to Brazil.

I spent four-plus years building products there: classifieds marketplaces, fraud prevention, and ML-powered content moderation. That airport moment turned out to be the first of many times I learned that Western product assumptions simply don’t transfer.

At OLX, one of the largest classifieds platforms in Latin America, we explored adding user profiles to increase trust. Real photos, names, bios. Focus groups loved it. But I’d spent enough time on the platform (talking to sellers, reading DMs, seeing how people actually behaved) that something felt off. In a marketplace where women were already getting harassed in messages, making every seller’s identity visible felt like it would create new problems.

Before we wrote any code, I ran a simple test. Identical clothing listings: one where the seller wore the dress, one where it was laid flat. The version with a person got more messages, but most were men commenting on her appearance, unrelated to the transaction. The flat-lay version kept conversations on price, condition, and logistics. The focus groups said “build it.” The field said “don’t.”

Then there was the one that stayed with me longest. Identical iPhone listings performed very differently depending on the hand holding the phone. A white hand versus a Black hand resulted in measurably different click-through rates. Same phone, same price, same copy. This wasn’t a feature we could fix with a toggle. It was the platform reflecting something about the society it operated in. The kind of thing that makes you rethink what “trust signals” actually mean.

These aren’t edge cases. They’re the norm when you build outside the US and Western Europe. Every market has its own version of the necklace.

After years of accumulating these lessons, I realized they were stuck in my head. I could spot the CPF issue or the Pix gap in a teammate’s PR, but that didn’t scale.

So I built Market Lens, a tool that audits your codebase for market-specific cultural, UX, and product issues. Point it at your project and it scans your code, producing a scored report with file paths, line numbers, and fix recommendations. For Brazil, it checks 15 categories across roughly 70 items: Pix support, CPF collection, Brazilian vs European Portuguese, performance on budget Android over 3G.

If you’re building for a market you didn’t grow up in, the biggest risk isn’t getting the language wrong. It’s getting the defaults wrong, the ones you don’t even realize you’re choosing. Like a price tag that means something completely different than what you think.

Check it out on GitHub.