DNNR Tech · 2025–present
TJ Near & Hot
An AI discovery app for Trader Joe's shoppers that grew to 100K+ iOS installs a year on organic search alone, with a store rating rebuilt from 1.9 to 4.4 stars.
- Role
- Founder: product, design, iOS/Android, backend, growth
- Team
- Solo
- Timeline
- 2025–present
- Stack
- Flutter, Firebase, Cloud Functions, vector embeddings, Gemini, AdMob

The problem
Trader Joe's has no app, rotates products constantly, and stocks each store differently. Fans trade tips in forums and on social media, but when you are standing in aisle three the question is simple: what is good here, this week? Nothing answered it.
What I built
TJ Near & Hot finds the store near you, shows the items shoppers there are talking about right now, and keeps your shopping list. Under the hood it is an AI discovery engine:
- Semantic search over product embeddings. Shoppers search the way they talk ("something for a quick weeknight dinner"), and vector search returns items by meaning instead of keyword match.
- LLM trust and safety for the community. Every post, photo, and comment passes through an LLM moderation step before it is public, which lets a one-person team run a user-generated-content community safely.
- AI translation of community posts so a tip written in one language is readable in another.
- A popularity signal per store, built from community activity and list adds, which is the data moat: nobody else has item-level popularity by location.



Three decisions that mattered
1. Remove the wall at launch. The first version opened with a full-screen notice about community rules. The data was unambiguous: users who saw it churned 18% more, and day-one retention fell from roughly 10% to 5%. I replaced it with a one-line notice inside the community tab and a non-blocking sheet that appears only when someone tries to post. Retention recovered.
2. Fix the rating before chasing growth. By mid-2026 the app had become the biggest organic funnel in my portfolio, around 290 iOS installs a day, but it carried a 1.9-star rating that was suppressing store conversion on every one of those impressions. I treated the rating as the product's number-one bug: shipped a dedicated rating-rescue release that fixed the issues behind the worst reviews, and moved the review prompt to the moment after a successful action instead of at launch. The rating went from 1.9 to 4.4 stars across 139 ratings in about three months.
3. Make the community pay for itself in retention, not just content. The "Buzz" tab, which surfaces community stats and trending items, lifted daily active use among existing users by 36%. It also showed that new users rarely engaged with it, so I kept the first screen focused on the store and the list, and let the community earn its place on the second visit.
Results
The app is ad-supported and profitable on its own. It also became the template for how I run the other apps: analytics standards, an LLM moderation module, and a feedback pipeline were all built here first and then shared.
What I'd do next
Retention is the next lever. At this funnel size, every additional point of 30-day retention is worth roughly 55% more daily active users, which is why the current roadmap is about the second session, not acquisition.


