-
-
Fullo App Icon
-
Fullo: Interactive Onboarding Flow
-
Fullo: Satisfaction Trio Flow
-
Fullo: Frictionless Check-ins Flows
-
Fullo: Insights (Patterns, Outcomes, Observations, Summaries) Flow
-
Fullo: Craving Coach & Chat Flow
-
Fullo: Full Plate Recipes Flow
-
Fullo: Restaurant Mode Flow
-
Fullo: Home Screen
-
Fullo: Satisfaction Trio
-
Fullo: Satisfaction Trio Add-One
-
Fullo: Check-in
-
Fullo: Hunger Timeline
-
Fullo: History
-
Fullo: Weekly Summary
Inspiration
Shipaton announced a Nutrition & Healthy Eating category built around Abbey Sharp's Hunger Crushing Combo. We bought the book, took notes, and built Fullo around that method before thinking about any other product idea.
The method is simple: combine two or more of protein, fibre, and satisfying fat. No counting, no tracking, no restriction, and no foods you are not allowed to have.
In Fullo, that becomes the Satisfaction Trio: the same three elements, applied to the meal in front of you.
But a book can teach a framework. It cannot learn whether that framework actually worked for you.
Fullo closes that loop.
Her method is the hypothesis. Your afternoon is the evidence.
What it does
Fullo runs one loop, the Fullness Loop:
- Snap or describe a meal in about five seconds. No weighing, no barcode.
- Fullo reads the plate for protein, fibre-rich food, and satisfying fat.
- You get one to three Add-One Suggestions. Fullo only ever adds. It never tells you to remove, swap, or avoid something you wanted.
- A couple of hours later, a Satisfaction Check arrives: how long did the meal hold you, plus energy and cravings. You can answer directly from the notification.
- Your answers become Personal Patterns. Fullo learns from your own experience rather than a calorie target.
The AI makes a hypothesis. Your experience provides the outcome. Fullo learns from the difference.
Around that loop:
- Personal Patterns: what tends to keep you satisfied, with the sample size shown.
- Hunger Timeline: how fullness moves across your day.
- Craving Coach: keep the craving and get pairings that make it more satisfying.
- Restaurant Mode: photograph a menu and get dishes and Add-One suggestions.
- Full Plate Recipes: a swipeable recipe deck plus one personalised recipe a day.
- Meal Replay: every meal, its photo, and what happened afterward.
- Gentle Progress: soft milestones. Missing a day resets nothing.
- Siri and Shortcuts: log meals, ask Craving Coach, generate recipes, analyse photos, or open the camera.
- Live Activity and Dynamic Island: five non-numeric phases between the meal and the check-in.
Seven principles are enforced throughout the product:
add, never restrict · no guilt language · no calorie-first UX · no fake scientific certainty · personal feedback over generic scoring · minimum friction · emotionally safe design
How we built it
The question was never which framework to use. It was:
How do you turn a nutrition framework into software without turning it into a tracker?
The rule must never become a score.
"Two out of three" is one small step away from a ring, percentage, or daily target. Those are exactly the mechanics Fullo is trying to get people away from.
So there is no grade, percentage, empty slot, or daily target.
If something is missing, the user doesn't see a failure state. They simply get an Add-One:
Add a handful of nuts.
The method stays something you do, not something you score.
Teach by doing.
The framework arrives one Add-One at a time, in the kitchen, in about five seconds.
There is no long tutorial. The goal is that after enough meals, people start building the combination themselves before Fullo says anything.
Close the loop a book cannot.
The Satisfaction Check is the most important part of the product.
A couple of hours after a meal, Fullo asks: how long did that meal hold you?
The answer becomes evidence for future Personal Patterns.
The framework provides the hypothesis. The user's real experience provides the outcome.
Stack, briefly.
Fullo is native Swift and SwiftUI on iOS 17+, using SwiftData, WidgetKit Live Activities, and a Notification Service Extension.
The backend uses NestJS, Prisma, and Postgres on Railway. Firebase provides anonymous authentication, with RevenueCat and OneSignal for monetization and notifications.
There is no IDFA and no ATT prompt.
Most importantly, the framework itself is deterministic.
The LLM reads the plate. It never decides what the finding is.
OpenAI handles image understanding and phrasing. Combo evaluation, similar-meal retrieval, and pattern mining use deterministic logic.
Challenges we ran into
Teaching the framework without creating another diet app.
Abbey's framework is simple on paper, but a nutrition app can easily turn it into another checklist, score, or restriction system.
We designed the first experience around doing rather than explaining: snap a meal, receive an Add-One, eat, and report what happened.
The product teaches the framework through repetition rather than a lecture.
Making the AI speak the method.
Generic nutrition models naturally drift toward calories, macros, food avoidance, and generic diet advice.
Fullo uses distilled framework notes for retrieval, with product-level rules enforcing additive coaching and the intended tone.
Knowing when not to trust the LLM.
Vision models are useful for interpreting messy real-world plates and menus, but we didn't want an LLM deciding the actual product logic.
So the architecture separates interpretation from decision-making:
- The model identifies what it sees.
- Deterministic rules evaluate the framework.
- Retrieval finds relevant personal history.
- Pattern logic determines whether there is enough evidence.
copy-guardblocks calorie, gram, and restriction language.- Evidence floors prevent under-supported forecasts and patterns.
LLM for interpretation and communication. Rules for product truth.
Accomplishments that we're proud of
The method survived as software.
Someone familiar with the book should recognise the framework immediately.
Someone who has never read it can practise it one meal at a time.
We didn't simplify the method by turning it into a score or checklist. We designed the product around it.
Additive is enforced in the schema.
The suggestion type has no removal, reduction, or swap operation.
An Add-One can only add something.
The product philosophy isn't just copy that can drift. It is represented in the underlying product structure.
The loop is never paywalled.
Satisfaction Checks are unlimited and free.
Free users get seven meal analyses per week, three Craving Coach tries, three chat replies per day, and unlimited check-ins.
The most important learning loop remains available before someone pays.
Nothing is collected that isn't needed.
No account creation, no email, no IDFA, and no ATT prompt.
Authentication is anonymous. Photos are requested only when needed. User data can be deleted.
What we learned
Practise beats a lecture.
The Hunger Crushing Combo is one rule, but people don't necessarily learn it because an app explains it.
They learn it by using it.
The most important part of onboarding is therefore getting someone through their first real loop: meal → Add-One → eat → check-in.
Retrieve for voice, rule for verdict.
LLMs are good at interpreting messy inputs and communicating naturally.
They are less suitable as the sole authority for a product that needs consistent rules.
Distilled framework notes keep the coach on-method. Deterministic evaluation and evidence thresholds keep the findings consistent.
Building on someone else's framework is mostly saying no.
Scores, streaks, calorie rings, and restrictive recommendations repeatedly appeared as obvious engagement mechanisms.
Each would have made the app more familiar. Each would also have moved it away from the reason we built it.
The difficult part wasn't adding features. It was refusing the ones that would make Fullo look like every other nutrition app.
What's next for Fullo: Hunger & Food Cravings
Validate that the method lands.
The next step is to watch people use the Fullness Loop in the real world, collect feedback, and test whether the framework feels clear inside the product rather than like another diet.
The longer-term ambition is to build an anonymous, aggregate picture of which combinations tend to work for different people, based on ordinary Satisfaction Checks rather than calorie tracking.
Make personal coaching sharper as history grows.
As Fullo sees more completed loops, Personal Patterns and Add-One Suggestions should become more useful.
More history should mean clearer suggestions, never a score, cut list, or restriction system.
Reach more kitchens.
An Android build and localisation beyond English are the next major expansion areas.
The long-term goal stays specific:
get good enough at understanding your hunger that you eventually stop needing the app.
A method you have internalised doesn't require a subscription.
Built With
- apns
- app-intents
- appsflyer
- cloudflare-r2
- docker
- firebase
- gpt-image-2
- ios
- jest
- live-activities
- mixpanel
- nestjs
- onesignal
- openai
- postgresql
- prisma
- railway
- revenuecat
- skadnetwork
- swift
- swiftdata
- swiftui
- typescript
- vector-stores
- widgetkit

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