Huff is building one place where the people who know you can find out what you actually want. Seven weeks after Note #1, here’s how far that has come.
In Founder’s Note #1 I said what was next: shared lists, much better at reading any shop link, and a Huff that works for families spread across countries. All three are now real, and people are using them.
This is the update. What we learned, what we built and why, where the numbers are, and what we’re taking on next. Mostly small fires. One medium one.
What we learned
1. People don’t live where the dropdown says they do.
The single biggest reason people failed to sign up wasn’t a bug. It was a country picker.
In September, 64% of failed signups were “that’s not a valid phone number”. The US rejected half of what people typed, and the UK rejected even more. These were Indians abroad typing their Indian number while the picker sat on +1 or +44.
My favourite fact from that week: every valid Indian number is also a valid German one. Phone numbers are not a type system.
2. Things still fail quietly.
Last time I said almost nothing went wrong loudly. That is still true, and I’ve stopped finding it charming.
One in five shares from the iOS share sheet were failing. The login it borrowed from the app expired an hour after you last opened Huff. So if you shared something at lunch, it worked. If you shared it at dinner, it went into the void, politely.
About a quarter of everyone who ever signed up got rate-limited by our own login provider. The cause was the app asking for a fresh login token on every single request, all at once, like a toddler at a buffet.
3. Privacy you can feel beats reach you can count.
In Note #1, the rule was one-way. If you had my number saved, you could see my list. We’ve now made it mutual. You both have to have each other saved.
This cost us. About three in ten visible friend pairs went dark overnight. We did it anyway, because “someone I don’t remember can see my wishlist” is the one sentence that kills a product like this.
4. The internet is not a database. It is a weather system.
We scraped one eBay listing three times in one day. It came back priced in Indonesian rupiah, then US dollars, then Brazilian reais. Somewhere an Indian user was looking at a trading card that cost 2,147,880,000 of something.
The lesson: never trust a price you didn’t ask for from the right country.
What we built, and why
We got much better at reading shops.
This is the one I’m proudest of, so it goes first.
When you share a link to Huff, our server has to visit that shop and work out the name, the picture and the price. In August, we were bad at it. About 35% of the things people added came back broken: no price, no picture, or a product card that just said “Amazon.in”.
Today that number is 8%.
That’s not one clever fix. It’s dozens of small, unglamorous ones:
- A sweep that quietly retries failed products every hour, so a shop having a bad day doesn’t mean your item has a bad life.
- Spotting “soft 404s”: products that have been delisted, but where the shop still serves a cheerful page saying nothing at all.
- Refusing to call a scrape “done” when the price is missing. One shop’s pages were empty shells that our scraper had been happily marking as perfect.
- Pinning each shop to the right country, so your trading card stops arriving in Brazilian reais.
- Custom handling for shops that fight back, from Zepto to Flipkart to a trading-card site whose product pages contain the product’s name zero times.
The last 8% is the long tail, and the long tail has a lot of shops. We’re coming for it.
Lists, and categories to go with them.
As promised. One shared link can now go to your wishlist and to several lists in one go. List owners choose who can add to them.
We also taught a small AI model to sort every item into one of 13 categories, so you can filter a list down to “just the books”. Before this, 92% of items had no category at all. And one shop had every product hardcoded as “fashion”, including the ones that weren’t.
A share sheet that actually saves.
The iOS share extension now has its own long-lived login. Sharing at dinner works as well as sharing at lunch.
A login screen that lets people in.
We stopped stampeding our login provider. We now accept the code from any SMS you were sent, not just the latest one, which turns out to matter when two arrive at once. And we gave up on an SMS auto-fill library that, it turned out, could never have worked. The commit was titled “remove the library that never could”.
A Home feed.
The newest thing, still switched on for only a few phones. Once a friend has three or more things on their list, Huff opens on a feed of what the people you know actually want. Double-tap to like. It ends with “All caught up!”, which is the only social feed I know of that wants you to leave.
Smaller, but felt.
- Long wishlists on Android stopped stuttering. A 70-item list was using nearly four times its graphics memory budget.
- Nudges for empty wishlists, a note when your gift is revealed, and a way for friends to say “please put something on your list”.
- The app now knows you might not be in India. Shop examples, the onboarding tour and address forms change with your country.
Where we are
Those people now live in 10 countries, up from 9.
Last time I said the gap between “things added” and “things gifted” is the whole company. Here’s the honest update: wishlists nearly tripled, gifts nearly doubled. The gap got wider. That’s exactly why the Home feed exists.
The column I’m quietly proudest of is the small one. In August, the US had exactly one Huff user, our lonely pioneer. Today there are 13. The UK went from 7 to 16, and the UAE from 9 to 16.
Those are not big numbers. But my bet is that most of them are people abroad getting a link from family back home, which is the version of gifting that genuinely hurts, and the one Huff was built for.
What we’re solving for now
1. The last 8%.
The long tail of shops is long. Some sites block every data centre on earth. Some are empty pages that build themselves in your browser. One shop’s “high-resolution” product images all decode to 78 by 98 pixels, which is roughly the size of a postage stamp’s opinion.
We built an AI reader for pages like these. It worked well, and it cost more than we wanted to spend, so it’s paused while we make it cheaper.
2. Getting contacts to sync.
Huff only works if your phone tells it who you know, without telling us anyone’s number. Too many people still finish signing up and never sync. Some deny permission. Some phones suspend the sync halfway and leave it wedged. Every one of those people opens Huff to an empty room.
3. Making mutual visibility feel fair.
The mutual rule protects people, but it also means “why can’t I see my sister’s list?” now has a real answer: she hasn’t saved your new number. We’re working on telling people that clearly, in the right country code, without making it feel like a scolding.
4. Closing the gap between wanting and gifting.
This was the real problem in August, and it still is. The Home feed is our first proper swing at it: show people what their friends want, at a moment when they might act on it.
5. Testing on real phones.
For the record, most of this was built and tested on simulators and a small pile of personal devices. Real phones in real pockets keep teaching us things simulators never mention.
Gifting isn’t a discovery problem. It’s a “what does my sister actually want” problem. Every week, Huff gets a little better at answering it.
Operator
If you shared something to Huff in August and it showed up as a grey box, try again. We owe you one.
