Inspiration
Many households today have a drawer full of receipts, a half-remembered shopping list, and the recurring feeling that something useful is being lost. A receipt shows what was bought, but it rarely becomes a reliable memory. Most shopping apps start with an empty list.
We wanted to make everyday grocery decisions calmer: turn the evidence a household already has into a useful starting point for the next shop, without pretending that AI knows more than the people who live there.
What it does
Lista Calista turns household photos, handwritten notes, and grocery receipts into a smarter shopping list.
Family members can share fridge or cupboard photos through a messaging app. Gemini identifies visible products, while the household confirms their current state before they affect the list.
Users can also add grocery receipts from the camera, gallery, PDF, or another app. Gemini extracts reviewable purchase details that build Purchase Memory. Together with handwritten requests and confirmed household inputs, this creates a Smart List with a clear reason behind every item.
Lista Calista never assumes what is missing. Gemini proposes; the household decides.
How we built it
We built Lista Calista as a native iOS and Android app with React Native, Expo, and TypeScript.
The mobile app uses Firebase for authentication, household data, and private media storage. Cloud Run and Cloud Tasks handle server-side processing. Gemini runs through Vertex AI on Google Cloud, turning receipts, household photos, and handwritten notes into structured proposals.
Gemini output is never treated as fact. Versioned Zod contracts validate every response, deterministic rules preserve uncertainty, and the app requires human review before a proposal can affect Purchase Memory or a Smart List.
Challenges we ran into
The difficult part was not calling a model. It was making an AI workflow trustworthy enough for household decisions.
Receipts are messy, household photos are incomplete, and handwritten notes are ambiguous. We had to distinguish what Gemini could observe from what it could infer, then make uncertainty visible instead of silently filling gaps.
We built the product so that every proposal is reviewable, weak results remain recoverable in History, and confirmed evidence—not model confidence alone—can influence Purchase Memory or a Smart List. Keeping private media out of logs and protecting the Gemini key behind a server-side workflow were equally essential.
Accomplishments that we're proud of
We are proud of the boundaries as much as the AI. Lista Calista keeps accepted tickets in History, preserves uncertainty, explains the reason behind proposed list items, and never treats a photo as exact inventory or a model response as a final decision.
We also built the full native mobile product, server-side Gemini processing on Google Cloud, and the Pro entitlement path, moving from an idea to a product that can be tested in real household routines.
What we learned
We learned that useful AI for household decisions must be humble.
The best result is not an answer that sounds certain; it is a clear proposal with its evidence, limits, and next action. A receipt records what was bought, a photo shows what is visible, and a handwritten note shows what someone requested. They should never be treated as the same kind of truth.
What's next for Lista Calista
Next, we are preparing Lista Calista for its first real household routines: completing store release, validating the full experience with early users, and learning which inputs create repeat value week after week.
The product will evolve from remembering purchases to helping households save on the next shop: using live supermarket price data, optimizing a list for each nearby store, suggesting where to buy each item, planning efficient shopping routes, and building a clear record of grocery spending across the year.
The direction remains the same: practical financial support for everyday household decisions, with transparent AI and people in control.
Built With
- expo.io
- firebase
- gemini
- google-cloud
- react-native
- revenuecat
- typescript
- vertex
Log in or sign up for Devpost to join the conversation.