Inspiration
Groceries are the biggest line in a Brazilian family's monthly budget, and the exact same product can cost 30–50% more at one supermarket than at another a few blocks away. Nobody has time to open ten retailer apps one by one. JeremIA (a pun on Jeremias + IA, Portuguese for AI) started as a personal tool to stop overpaying for the weekly shop and grew into a full product — with Jeremia the capybara, magnifying glass in paw, as its mascot.
What it does
JeremIA searches more than 100 Brazilian supermarket and wholesale retailers in parallel and shows the best price for a product side by side, in seconds.
- Search or scan — type a product name or scan its barcode. EAN/GTIN matching guarantees you're comparing the exact same item; name-only matches go through size, brand, required-word and multipack gates.
- Compra Rápida (Quick Shop) — build a basket, pick your retailers, and get the whole basket totalled per store, ranked by best value with found-item counts.
- Nearby stores — retailers are split into "near you" and "farther away" from your location, so the cheapest price is one you can actually get to. The shopping list opens a Google Maps route to your chosen store.
- Shopping list — grouped by retailer, with quantities, price tracking and completion progress.
- Favorites — save products and re-run the comparison in one tap.
- Super Ofertas (Hot Deals) — a community feed where users post, like and comment on deals they spotted in-store.
- Brazilian Portuguese UI, light and dark mode, and a hand-crafted design system ("Sacola") with a 3D-rendered mascot that reacts across the app.
How we built it
- Flutter + GetX for iOS and Android from one codebase, with a shared pure-Dart core for product search, matching and pricing.
- Backend (.NET + SQL Server) for accounts, favorites, the deals feed, the geolocated store directory and the free-tier ticket system.
- RevenueCat (
purchases_flutter) powers JeremIA Pro on both stores: one offering with monthly and annual packages, a 7-day free trial on the annual plan, entitlement-based gating, andsyncPurchasesself-healing for stale customer profiles. The RevenueCat app-user-id is our backend account id, so a subscription follows the user across devices and sign-in providers (Google, Apple, email). - Firebase for auth, push notifications and Remote Config-driven version gating.
- An AI second opinion (TypeSafe Jev) verifies fuzzy name-only matches, so a "Coca-Cola 2L" never gets compared against a 350 ml can.
Monetization strategy (HAMM Award)
Free users get 2 full price comparisons per day (reset at midnight, no rollover) — enough to feel the value on a real shopping trip, not enough to replace the subscription. JeremIA Pro (US$9.99/month or US$79.99/year, 7-day free trial on annual) unlocks unlimited comparisons and Compra Rápida basket totals.
The paywall shows monthly and annual side by side with the monthly-equivalent price on the annual card. The daily counter chip in the app doubles as the upsell moment: the paywall appears exactly when a user runs out of free comparisons mid-shop, when the value is most tangible. Every comparison is a server-issued ticket, so the free limit cannot be bypassed client-side, and Pro status is checked against both the RevenueCat entitlement and the backend. Next: price-history and price-drop alerts as a Pro-only retention hook, and a RevenueCat Funnels web checkout.
Design (RevenueCat Design Award)
JeremIA shipped with a from-scratch design system: a One Orange Rule (orange marks exactly one call-to-action per screen), colourless chrome, role-based colour tokens that flip cleanly to dark mode, a bundled type scale, and a 3D capybara mascot with dedicated poses for empty states, loading, errors and the paywall (dark-mode-specific renders, never colour-keyed). Judges: look at the search loader, the Compra Rápida totals screen, the empty-state mascots, and the paywall.
Social good (RevenueCat Peace Prize)
Food inflation hits low-income Brazilian families hardest, and they have the least time to shop around. JeremIA makes price transparency across the whole retail market free for everyone — two comparisons a day, no ads, no data selling — and the community deals feed lets neighbours tip each other off about in-store promotions that never make it online.
Challenges we ran into
- Every retailer publishes prices differently, and some vary them by region — getting one consistent, comparable price out of each of them.
- Matching products across retailers that list the same item under different barcodes or names.
- App Store subscription territory availability is separate from app availability — the US paywall showed no prices until each product was enabled per territory.
- Keeping cold start fast while fanning out to 100+ retailers with per-retailer timeouts and fail-open verification.
Accomplishments that we're proud of
- First public release on Google Play on August 31, 2026 and on the App Store on September 3, 2026; US availability on September 13.
- A single Flutter codebase with a design system polished enough to go from 1.0 to 2.0 during Shipaton.
- Coverage of more than 100 retailers, continuously health-checked so results stay reliable.
What we learned
Shipping the paywall early with RevenueCat let us iterate on pricing and trial length without app updates, and building the free tier as a server-side quota turned the paywall into a natural moment in the shopping flow instead of an interruption.
What's next for JeremIA
Price history and price-drop alerts for favorites, more Brazilian states and chains, an English UI, and a web-to-app funnel via RevenueCat Funnels.
Testing instructions for judges
The app UI is in Brazilian Portuguese. Key labels: Buscar = Search, Escanear = Scan, Comparar preços = Compare prices, Favoritos = Favorites, Lista = Shopping list, Ofertas = Deals, Perfil = Profile, Mensal/Anual = Monthly/Annual.
- Install from the App Store (US) or Google Play.
- Sign in with Google, Apple or email. Allow location to see nearby stores (optional).
- Search "arroz 5kg" or scan any grocery barcode — the comparison runs across the retailers chosen during onboarding.
- Pro: open Perfil → JeremIA Pro → Anual and start the 7-day free trial (App Store). Free users also get 2 full comparisons per day without subscribing.
Demo video
The 20-second demo is in English; the phone screens inside it show the real Brazilian Portuguese UI. Portuguese version: https://youtube.com/shorts/sEAdz-6KFBc
Built With
- .net
- dart
- firebase
- flutter
- google-maps
- revenuecat
- sql-server

Log in or sign up for Devpost to join the conversation.