Emotora is an entire AI mood-journal app template constructed with Flutter, GetX and Materials 3 — a one-line intention within the morning, a ten-second check-in at evening, and three brief questions that get written up right into a completed journal entry. 17 screens, mild and darkish themes, and each display screen works with no API key and no community.
Demo Directions — the sign-in display screen is a mock and contacts no server, so any credentials are accepted. Use [email protected] / demo1234, or just faucet Sign up with the fields left empty. There isn’t any account to register, no API key to enter and no community required: Demo mode is on out of the field, so each AI display screen solutions on the system.
AI disclosure — Emotora is an AI-assisted template, and that is precisely what which means right here. The written elements of the app — the composed journal entry, the weekly reflection and the reply to a check-in — are generated at run time by a third-party AI service that you just or your finish person provides an API key for: Google Gemini (the shipped default), OpenAI or Anthropic Claude. No AI service, API key or utilization credit score is included with this merchandise, and people suppliers invoice their very own utilization individually underneath their very own phrases. Nothing leaves the system till a key’s entered — Demo mode is on out of the field and composes each write-up regionally from the person’s personal entries. Every part else within the app is strange Dart: streaks, temper tallies, the form of the chart and the on-device security verify are all computed in plain code, by no means requested of a mannequin. The recordsdata you obtain comprise no AI-generated media — the merchandise ships zero picture property, each illustration is drawn by a CustomPainter at run time, and the three bundled typefaces are licensed underneath the SIL Open Font License 1.1 (full textual content at property/fonts/LICENSES.txt).
What’s within the package deal
- Full Flutter supply — 17 screens, mild and darkish, GetX structure (View → Controller → Service → Mannequin, lazy bindings per route)
- A neighborhood temper engine in plain Dart: streaks, temper tallies, which actions fall on the higher days and the form of the stream chart, all computed on the system from the entries themselves
- Three AI suppliers as plain REST shoppers — Google Gemini (default), OpenAI, Anthropic Claude — bring-your-own-key, no vendor SDKs
- Demo mode, on out of the field: each display screen populated, each signature interplay working, with no key in any respect
- Offline HTML documentation — each display screen, a characteristic walkthrough with two animated GIFs, supplier setup, connecting your individual storage, publishing a wellness app, renaming the app, re-theming, venture construction, a terminal glossary and troubleshooting
- 4 runtime dependencies in whole, and nil picture property — each illustration within the UI is painted at run time
Who is that this for
Builders delivery a journal, mood-tracking or self-reflection app who need the exhausting elements already determined: what the mannequin is requested for, what’s computed in code as an alternative of requested of a mannequin, and what the app does when somebody writes that they don’t seem to be coping. The critiques of each competing app on this class say the identical factor in several phrases — the client couldn’t get the backend operating. This one runs on flutter run.
There may be nothing to deploy
No Firebase, no server of yours, no account on your customers to make. Entries, moods, actions and each determine on the insights display screen keep on the system; the one request the app could make is the AI write-up, and solely when somebody presses a button to ask for one. Entries dwell behind a service layer whose strategies already return Futures, so pointing it at Hive, Isar, SQLite or your individual API is a change in a single file and no display screen adjustments. 4 dependencies in whole — get, http, flutter_secure_storage, cupertino_icons — and no vendor AI SDK, so no supplier package deal can break your construct.
Three questions, then a web page
A set sequence of three brief questions on stepped playing cards, every answerable with a faucet, then the solutions are written up right into a journal entry within the person’s personal first individual. Not a chat window: what comes out is a web page, it may be edited earlier than it’s stored, and there’s no dialog to keep up or scroll again by. That is the display screen that makes an entry doable on a day when no person appears like writing one.
A ribbon, not a line chart
A month of feeling drawn as a river, painted on canvas with no charting package deal. Peak is how nice the day was, thickness is how strongly it was felt, and a break within the ribbon is a day no person wrote — not a zero, as a result of a day with out an entry just isn’t a nasty day. Emotions are usually not a amount, so the chart refuses to plot one: three issues are encoded without delay and none of them is a quantity the reader may attempt to make go up.
Ten seconds is a complete entry
Three full-screen playing cards — the temper, how strongly it was felt, one line for tomorrow — finishable in ten seconds, and the primary card alone is already an entire reply. The times price capturing most are the times no person has the power to write down about, which is why the shortest path by this app nonetheless produces an actual report reasonably than a skipped day.
One display screen, two states
In the present day asks for an intention when the person wakes up and for an account of the day after dinner. It’s one display screen with two faces, switching on the clock or by hand, and the night half carries the morning’s intention ahead so the completed entry holds each halves of the day. A journal that exhibits the identical factor at 7am and at 10pm is asking the identical query twice.
The counting is finished on the system, and the mannequin is barely requested for the phrases
Streaks, temper tallies, the form of the chart and which actions fall on the higher days are all computed in plain Dart and handed to the AI as given info, with the immediate telling it to not recount them. A mannequin requested to rely its personal enter solutions confidently and generally wrongly, and the reader has no method to inform — so it’s by no means requested. That line, drawn within the structure reasonably than within the immediate, is why the numbers on the insights display screen are the identical numbers the assessments verify.
Three suppliers, or none in any respect
- Google Gemini — the shipped default. A key’s free and wishes no bank card, so your customers are by no means despatched to a billing type
- OpenAI and Anthropic Claude
- Demo mode, switched on out of the field: each write-up consists on the system from the person’s personal entries, so the app solutions for something they kind with no key and no community — not a folder of canned pattern textual content
Each supplier is a plain REST shopper behind a one-method interface that is aware of nothing about journalling, which is why the identical three adapters serve all three of this app’s very totally different requests. Including a fourth supplier is one class and one catalog entry, with no display screen adjustments. Mannequin names expire, and this template is constructed for that: the mannequin id is an editable setting, a retired identify produces a plain-language error with a button straight to the sector that fixes it, and the documentation has a piece on updating it. It’s the single most typical criticism about AI templates, and it’s dealt with right here reasonably than left for you.
Written with take care of what this type of app receives
An on-device key phrase verify — offline, earlier than something is shipped wherever — exhibits a assist card with actual helpline numbers when the writing suggests somebody is struggling, and the AI prompts themselves forbid prognosis, remedy and scientific language. Nothing is scored and nothing is recorded, and the entry is saved precisely as written. The bundled helpline checklist is a place to begin, and the documentation has a piece on changing it with the providers for the international locations you ship to, alongside the disclaimers an app of this type wants earlier than it goes on a retailer.
There’s a entire app across the writing
Past the 4 signature screens: an entry archive grouped by month; a dominated month calendar the place every day carries a mood-colored rule whose size is the depth; a full entry web page and a distraction-free writing floor; full-text search with eight temper filters; supplier settings; a assist display screen with the bundled helpline listing; a four-digit passcode with its personal drawn keypad; onboarding, sign-in and sign-up; and a mock paywall. 17 screens in all, each one themed twice, mild and darkish, each full.
Constructed to be handed over
- Full Flutter supply, GetX, analyzer clear — 85 assessments cross, together with the temper arithmetic, the streak edge instances and the on-device security verify
- API keys and the passcode are saved within the Keychain on iOS and EncryptedSharedPreferences on Android — by no means in plain preferences
- All demo knowledge in a single file: ninety days of pattern journal with real looking gaps in it, so the insights display screen has one thing true to say on first launch
- Zero picture property — the temper stream, the ink effectively, the calendar guidelines, the onboarding plates and the app mark are all painted at run time, so there is no such thing as a art work to license and nothing to maintain in sync
- Typefaces are bundled, not downloaded — the UI renders identically offline and on a chilly first launch
- A particular stationery design system: ink plum on cool mist paper with a sage accent, Lora + Public Sans typography (Lora Italic reserved for the app’s personal voice), and a dominated letter-card form with a binding margin and a header rule drawn in the identical cross as the cardboard. Each token is centralized, so the entire app re-skins from one shade file
Get it operating in 5 minutes
- Unzip, then
flutter pub get flutter run— Demo mode is already on, so the app is absolutely populated with ninety days of pattern journal- Non-compulsory: paste a supplier key in Settings to have a dwell mannequin do the write-ups
Necessities
To run and construct the supply code you want the Flutter SDK (model 3.29 or newer) and Dart 3.7 or newer, along with a Flutter-ready IDE — Android Studio or Visible Studio Code with the Flutter & Dart plugins. Runs on each Android and iOS from a single Flutter codebase (Materials 3, null-safe).
Third-party prices and sincere limits
Emotora runs completely on the system, however the written elements — the composed entry, the weekly reflection and the reply to a check-in — are produced by a third-party AI supplier that you just or your customers provide a key for. Connecting it to a dwell supplier akin to Google Gemini, OpenAI or Anthropic will contain these third-party providers, which will incur their very own separate prices and are usually not included on this merchandise. Solely the passage a person chooses to have written up is shipped, and solely to the supplier whose key that person equipped; nothing is uploaded wherever else.
What just isn’t included
- No backend and no account system. Signal-in is a mock that contacts no server — the seam is drawn the place your API name goes, and the documentation walks by it
- Entries are held in reminiscence. The journal is seeded with ninety days of pattern entries and resets when the app restarts; wiring a persistent retailer is a documented one-file change and is left to you. The one issues written to disk are the person’s API key and passcode
- The subscription display screen is a mock — no cost code, receipt validation or retailer product is included
- No push or native notifications / reminders — nothing within the package deal schedules something
- No scoring, no prognosis, no scientific something. The protection verify surfaces a card of actual helplines and does nothing else — it doesn’t charge the entry and it doesn’t report that it fired. The bundled helpline checklist is a place to begin you might be anticipated to exchange for the international locations you ship to
- No AI supplier key or credit score is included, and no net or desktop construct is shipped or supported
Assist and updates
Questions concerning the merchandise undergo the feedback tab on this web page, which is the place I learn them. Assist covers the code because it ships: getting the venture to construct, the documented setup steps, supplier configuration, and defects in what’s included. It doesn’t cowl your individual modifications, third-party supplier outages or pricing adjustments, or constructing new options to order.
Please word
This app is a journalling companion. It’s not a medical system, and the writing it produces just isn’t medical, psychological, authorized or monetary recommendation. It can not assist in an emergency.
Changelog
v1.0 — preliminary launch.

