Emotora | Flutter AI Mood Journal App Template

Bluehost Shared Hosting

Emotora | Flutter AI Mood Journal App Template

Emotora is a complete AI mood-journal app template built with Flutter, GetX and Material 3 — a one-line intention in the morning, a ten-second check-in at night, and three short questions that get written up into a finished journal entry. 17 screens, light and dark themes, and every screen works with no API key and no network.

Demo Instructions — the sign-in screen is a mock and contacts no server, so any credentials are accepted. Use demo@emotora.app / demo1234, or simply tap Sign in with the fields left empty. There is no account to register, no API key to enter and no network required: Demo mode is on out of the box, so every AI screen answers on the device.

AI disclosure — Emotora is an AI-assisted template, and this is exactly what that means here. The written parts 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 or your end user supplies an API key for: Google Gemini (the shipped default), OpenAI or Anthropic Claude. No AI service, API key or usage credit is included with this item, and those providers bill their own usage separately under their own terms. Nothing leaves the device until a key is entered — Demo mode is on out of the box and composes every write-up locally from the user’s own entries. Everything else in the app is ordinary Dart: streaks, mood tallies, the shape of the chart and the on-device safety check are all computed in plain code, never asked of a model. The files you download contain no AI-generated media — the item ships zero image assets, every illustration is drawn by a CustomPainter at run time, and the three bundled typefaces are licensed under the SIL Open Font License 1.1 (full text at assets/fonts/LICENSES.txt).

What’s in the package

  • Full Flutter source — 17 screens, light and dark, GetX architecture (View → Controller → Service → Model, lazy bindings per route)
  • A local mood engine in plain Dart: streaks, mood tallies, which activities fall on the better days and the shape of the stream chart, all computed on the device from the entries themselves
  • Three AI providers as plain REST clients — Google Gemini (default), OpenAI, Anthropic Claude — bring-your-own-key, no vendor SDKs
  • Demo mode, on out of the box: every screen populated, every signature interaction working, with no key at all
  • Offline HTML documentation — every screen, a feature walkthrough with two animated GIFs, provider setup, connecting your own storage, publishing a wellness app, renaming the app, re-theming, project structure, a terminal glossary and troubleshooting
  • Four runtime dependencies in total, and zero image assets — every illustration in the UI is painted at run time

Who is this for

Developers shipping a journal, mood-tracking or self-reflection app who want the hard parts already decided: what the model is asked for, what is computed in code instead of asked of a model, and what the app does when someone writes that they are not coping. The reviews of every competing app in this category say the same thing in different words — the buyer could not get the backend running. This one runs on flutter run.

There is nothing to deploy

Emotora | Flutter AI Mood Journal App Template

No Firebase, no server of yours, no account for your users to make. Entries, moods, activities and every figure on the insights screen stay on the device; the one request the app can make is the AI write-up, and only when someone presses a button to ask for one. Entries live behind a service layer whose methods already return Futures, so pointing it at Hive, Isar, SQLite or your own API is a change in one file and no screen changes. Four dependencies in total — get, http, flutter_secure_storage, cupertino_icons — and no vendor AI SDK, so no provider package can break your build.

Three questions, then a page

Emotora | Flutter AI Mood Journal App Template

A fixed sequence of three short questions on stepped cards, each answerable with a tap, then the answers are written up into a journal entry in the user’s own first person. Not a chat window: what comes out is a page, it can be edited before it is kept, and there is no conversation to maintain or scroll back through. This is the screen that makes an entry possible on a day when nobody feels like writing one.

A ribbon, not a line chart

Emotora | Flutter AI Mood Journal App Template

A month of feeling drawn as a river, painted on canvas with no charting package. Height is how pleasant the day was, thickness is how strongly it was felt, and a break in the ribbon is a day nobody wrote — not a zero, because a day without an entry is not a bad day. Feelings are not a quantity, so the chart refuses to plot one: three things are encoded at once and none of them is a number the reader could try to make go up.

Ten seconds is a whole entry

Emotora | Flutter AI Mood Journal App Template

Three full-screen cards — the mood, how strongly it was felt, one line for tomorrow — finishable in ten seconds, and the first card alone is already a complete answer. The days worth capturing most are the days nobody has the energy to write about, which is why the shortest path through this app still produces a real record rather than a skipped day.

One screen, two states

Emotora | Flutter AI Mood Journal App Template

Today asks for an intention when the user wakes up and for an account of the day after dinner. It is one screen with two faces, switching on the clock or by hand, and the evening half carries the morning’s intention forward so the finished entry holds both halves of the day. A journal that shows the same thing at 7am and at 10pm is asking the same question twice.

The counting is done on the device, and the model is only asked for the words

Streaks, mood tallies, the shape of the chart and which activities fall on the better days are all computed in plain Dart and handed to the AI as given facts, with the prompt telling it not to recount them. A model asked to count its own input answers confidently and sometimes wrongly, and the reader has no way to tell — so it is never asked. That line, drawn in the architecture rather than in the prompt, is why the numbers on the insights screen are the same numbers the tests check.

Three providers, or none at all

Emotora | Flutter AI Mood Journal App Template
  • Google Gemini — the shipped default. A key is free and needs no credit card, so your users are never sent to a billing form
  • OpenAI and Anthropic Claude
  • Demo mode, switched on out of the box: every write-up is composed on the device from the user’s own entries, so the app answers for anything they type with no key and no network — not a folder of canned sample text

Every provider is a plain REST client behind a one-method interface that knows nothing about journalling, which is why the same three adapters serve all three of this app’s very different requests. Adding a fourth provider is one class and one catalog entry, with no screen changes. Model names expire, and this template is built for that: the model id is an editable setting, a retired name produces a plain-language error with a button straight to the field that fixes it, and the documentation has a section on updating it. It is the single most common complaint about AI templates, and it is handled here rather than left for you.

Written with care for what this kind of app receives

An on-device keyword check — offline, before anything is sent anywhere — shows a support card with real helpline numbers when the writing suggests someone is struggling, and the AI prompts themselves forbid diagnosis, treatment and clinical language. Nothing is scored and nothing is recorded, and the entry is saved exactly as written. The bundled helpline list is a starting point, and the documentation has a section on replacing it with the services for the countries you ship to, alongside the disclaimers an app of this kind needs before it goes on a store.

There is a whole app around the writing

Emotora | Flutter AI Mood Journal App Template

Beyond the four signature screens: an entry archive grouped by month; a ruled month calendar where each day carries a mood-colored rule whose length is the intensity; a full entry page and a distraction-free writing surface; full-text search with eight mood filters; provider settings; a support screen with the bundled helpline directory; a four-digit passcode with its own drawn keypad; onboarding, sign-in and sign-up; and a mock paywall. 17 screens in all, every one themed twice, light and dark, both complete.

Built to be handed over

Emotora | Flutter AI Mood Journal App Template
  • Full Flutter source, GetX, analyzer clean — 85 tests pass, including the mood arithmetic, the streak edge cases and the on-device safety check
  • API keys and the passcode are stored in the Keychain on iOS and EncryptedSharedPreferences on Android — never in plain preferences
  • All demo data in one file: ninety days of sample journal with realistic gaps in it, so the insights screen has something true to say on first launch
  • Zero image assets — the mood stream, the ink well, the calendar rules, the onboarding plates and the app mark are all painted at run time, so there is no artwork to license and nothing to keep in sync
  • Typefaces are bundled, not downloaded — the UI renders identically offline and on a cold first launch
  • A distinctive stationery design system: ink plum on cool mist paper with a sage accent, Lora + Public Sans typography (Lora Italic reserved for the app’s own voice), and a ruled letter-card shape with a binding margin and a header rule drawn in the same pass as the card. Every token is centralized, so the whole app re-skins from one color file

Get it running in five minutes

  1. Unzip, then flutter pub get
  2. flutter run — Demo mode is already on, so the app is fully populated with ninety days of sample journal
  3. Optional: paste a provider key in Settings to have a live model do the write-ups

Requirements

To run and build the source code you need the Flutter SDK (version 3.29 or newer) and Dart 3.7 or newer, together with a Flutter-ready IDE — Android Studio or Visual Studio Code with the Flutter & Dart plugins. Runs on both Android and iOS from a single Flutter codebase (Material 3, null-safe).

Third-party costs and honest limits

Emotora runs entirely on the device, but the written parts — the composed entry, the weekly reflection and the reply to a check-in — are produced by a third-party AI provider that you or your users supply a key for. Connecting it to a live provider such as Google Gemini, OpenAI or Anthropic will involve those third-party services, which will incur their own separate costs and are not included in this item. Only the passage a user chooses to have written up is sent, and only to the provider whose key that user supplied; nothing is uploaded anywhere else.

What is not included

  • No backend and no account system. Sign-in is a mock that contacts no server — the seam is drawn where your API call goes, and the documentation walks through it
  • Entries are held in memory. The journal is seeded with ninety days of sample entries and resets when the app restarts; wiring a persistent store is a documented one-file change and is left to you. The only things written to disk are the user’s API key and passcode
  • The subscription screen is a mock — no payment code, receipt validation or store product is included
  • No push or local notifications / reminders — nothing in the package schedules anything
  • No scoring, no diagnosis, no clinical anything. The safety check surfaces a card of real helplines and does nothing else — it does not rate the entry and it does not record that it fired. The bundled helpline list is a starting point you are expected to replace for the countries you ship to
  • No AI provider key or credit is included, and no web or desktop build is shipped or supported

Support and updates

Questions about the item go through the comments tab on this page, which is where I read them. Support covers the code as it ships: getting the project to build, the documented setup steps, provider configuration, and defects in what is included. It does not cover your own modifications, third-party provider outages or pricing changes, or building new features to order.

Please note

This app is a journalling companion. It is not a medical device, and the writing it produces is not medical, psychological, legal or financial advice. It cannot help in an emergency.

Changelog

v1.0 — initial release.

0 average based on 0 ratings.

coderqh

coderqh

Visit Author's Portfolio

View Portfolio
Last Update 2026-09-05
Created 2026-09-05
Sales 0
Discussion Comments
Software Version Flutter 3.x
Files Included Dart YAML JavaScript JSON .kotlin .swift
Video Preview Resolution