Ontonathon: Our Unfiltered Failure Log | Onton

Ontonathon Progress

Onton is a next-generation search and discovery engine. We’re a tight-knit San Francisco-based team building the future of shopping.

Day 1

Goal: ship two major features in two days. 1) Saved searches with async multi-search support and 2) a chat interface for product Q&A and comparisons.

The Wins

The Fails

Biggest Lesson

We're better at dividing work than at deciding what work to do. Should've shipped a rougher v0 faster instead of trying to design the perfect solution upfront. Plan less, ship more.

Day 2

We launched! Got both features live. And then everything broke.

The Wins

The Fails

Biggest Lesson

We would have caught it if we had a working dev environment. The search bug that killed 1.5 hours would've been obvious if we'd prioritized dev setup earlier. Testing components individually doesn't mean you've tested integration.

Day 3

With launch behind us, we're improving performance, fixing bugs, and making things actually feel good to use.

The Wins

The Fails

Biggest Lesson

More powerful hardware does not mean better results. When you change one thing (GPU, Python version, search implementation), expect everything downstream to break in unexpected ways. Latency optimization is extremely gnarly. So many variables to control for, and it's incredibly sensitive to small changes.

Day 4

The final push.

The Wins

The Fails

Biggest Lesson

If you feel like there's a better way, fight for it. Alex and Aditri had a working 1.5-2.5 second solution but pushed for better and got to 0.3 seconds. Also, you can't ship effectively without stable dev environments. When you can't test your own changes locally, you're flying blind. Context switching to test for each other kills momentum, especially during crunch time.