Lifestyle template
Moonday AI Journal & Daily Reading App
An evening journal for iOS and Android: write or speak the day, get a short AI reflection and one question back, see moods as moons, and start the day with a reading from the real sky.
- 18 screens
- iOS & Android
- Sample data
- Updated Oct 19, 2026
- Verified release
Free to copy · Full source · No credit card
Screens
6 screens from the working app.
What’s inside
- Works with no backend: a sample journal of 24 entries, check-ins and 3 weekly recaps, dated back from today
- Entries stay on the phone; an optional Backup copies entries and moods to your Supabase tables
- AI reflection on an entry: a short mirror, one follow-up question to answer inline, and themes
- Daily reading built on the moon's real phase and sign, computed on the device, cached once a day
- Mood check-ins drawn as moon phases, a month calendar of moods, a trend line and what moves your mood by tag
- Dictated entries: record with expo-audio, transcribed by the AI service
- Moonday Pro through RevenueCat with sample prices until you connect RevenueCat to sell
- Crisis words get a supportive note with helplines instead of a reflection; the app says it is not therapy
About this template
Overview
Moonday is a two-minute evening journal. The person writes or speaks their day, checks in a mood on a five-step scale drawn as the moon filling (Rough to Bright), and can ask for a reflection: a short mirror of what they wrote and one gentle question back. Each day has a reading built from the moon's actual phase and sign, computed on the phone, written for reflection rather than prediction.
With .env blank the app runs in sample mode: a sample journal, designed sample AI answers and a preview of the Pro plans marked as sample prices. Each screen says once that its content is a sample. Connecting Supabase switches every service to the person's own data.
Key features
Today: the daily card with the moon of the day, tonight's prompt with Write and Speak, the mood check-in with feeling words, the week as moons and the streak
Entries: prompt, mood, text or dictation, feelings, tags, up to four photos; edit and delete with undo
Reflections: ask with the cost in view (3 a week on the free plan), answer the question inline, themes collected for Insights
Journal: entries by month with how each month mostly felt, search, tag filters
Insights: 30 days free, 90 days and the year with Pro; month calendar of moods, trend line, tag influence, weekly recaps, reflection themes
Privacy: entries on the device, Backup off by default, export as text, Delete my data on the phone and the server
Evening reminder as a local notification (phone builds), onboarding with optional birthday for the reading
Light and dark themes, Lora serif headings, a drawn moon in place of clip-art
Screens
Welcome, onboarding, Moonday Pro plans, Today, Today's reading, new entry, entry with its reflection, Journal, Insights, weekly recap, You, reminders, privacy and backup, your details, a support page with helplines and paced breathing, About, and in-app privacy policy and terms.
AI and backend
AI runs through one Supabase Edge Function, ai, which calls Gemini with your key kept on the server. The app signs in anonymously; there are no accounts. Moonday asks for permission before its first AI call.
reflect (1 unit): an entry's text, mood, feelings and tags to a mirror, a question and themes; the free plan's 3 a week are counted on the server
daily-reading (1 unit, once a day per device): the date, the moon's phase and sign and an optional birthday to a theme, three sections and a prompt; free users get the first section in full
weekly-recap (2 units, Pro): a week of entries to a summary, highs, lows, a pattern and an intention
transcribe (1 unit): a spoken entry to text
Safety: an entry with crisis words gets a supportive note with helplines (988, Crisis Text Line, findahelpline.com) instead of a reflection, checked on the server and again on the phone
Entries stay on the phone. Backup, off by default, copies entries and moods to the entries and moods tables, readable only by their anonymous user; turning it off deletes that copy. Photos are not backed up.
Monetisation
Free: journal, moods, 3 reflections a week, today's card and the first section of the reading, 30 days of insights. Moonday Pro: every reflection, the full reading, weekly recaps, 90 days and the year. Sold through RevenueCat with an entitlement named pro; the RevenueCat webhook grants Pro on the server to the same anonymous user. Until RevenueCat is connected the plans show as sample prices and nothing can be bought.
Setup
Connect Supabase and apply the two migrations, add GEMINI_API_KEY and deploy the functions, connect RevenueCat to sell Pro, check the reminder and helpline settings for your market, then rename and restyle. The steps below are written for your coding agent.
What you get
- Full source — Expo and React Native in TypeScript, as an app in your workspace.
- Live preview — try every change in your browser or on your phone.
- Verified release — it compiles and every screen opens without errors.
- AI assistant — change anything by chat; each change uses credits.
- Builds and store upload — iOS and Android builds, sent to the App Store and Google Play from Publish.
- No credits to copy — the copy itself costs none.
Made with an earlier version of FluxNative. Your copy works as it is; ask the agent to update it for app languages, currencies and About links.
What you need
- A FluxNative account — the Free plan holds up to 2 apps.
- No backend to start — it runs on sample data until you connect yours.
- Creator or higher — for native builds and store upload.
- Store accounts — Apple Developer Program (US$99 a year) and Google Play (US$25 once), to publish.
What’s in the source
- screens
- 18
- files in your copy
- 350
- lines written for this app
- 6,249
- ready-made UI components
- 129
App text in English and Vietnamese
Tech stack
- Expo SDK
- 57.0.22
- React Native
- 0.86.3
- React
- 19.2.8
- TypeScript
- 6.0.3
- Expo Router
- 57.0.21
- Supabase JS
- 2.112.3
- RevenueCat
- 10.9.1
From this release’s package.json.
Design system
- Headings
- Lora
- Body
- System font
- Light and dark mode
- Liquid glass
- Capsule buttons
- Raised cards
Set up after you fork
Your copy opens with the AI assistant that built it. Do the steps in order: connect what a step asks for under Server, then send each prompt.
Connect Supabase
Server › Backend › Supabase. Apply both migrations, turn on anonymous sign-ins in the Supabase dashboard, and write the public URL and anon key to .env. Sample data disappears once connected.
Prompt for the AIConnect this app to my Supabase project (Server › Backend › Supabase) and write EXPO_PUBLIC_SUPABASE_URL and EXPO_PUBLIC_SUPABASE_ANON_KEY to .env (keep .env.example's keys empty). Apply supabase/migrations/20261019000000_ai_kit.sql, then supabase/migrations/20261019010000_moonday.sql (Backup tables entries and moods, the weekly reflection count reflection_uses, and delete_my_ai_data). Remind me to turn on Authentication › Sign In / Providers › "Allow anonymous sign-ins" in the Supabase dashboard and to keep the anonymous sign-in rate limit low. Then confirm the app no longer shows the sample journal.
Turn on the AI
Server › API keys & secrets: add GEMINI_API_KEY, deploy the ai function, and set the daily unit allowances. Moonday spends 1 unit per reflection, reading or dictation and 2 per weekly recap.
Prompt for the AIUnder Server › API keys & secrets, add GEMINI_API_KEY (from Google AI Studio). Set AI_FREE_UNITS_PER_DAY to 10 and AI_PRO_UNITS_PER_DAY to 60 for Moonday (1 unit per reflection, daily reading or transcription, 2 per weekly recap; the free plan is also capped at 3 reflections a week by reflection_uses). Deploy the ai Edge Function from supabase/functions/ai and push those secrets. Test it with { "task": "usage" } as a test user, then write one entry in the app and ask for a reflection to confirm the reflect task answers.
Sell Moonday Pro
Server › Monetization: connect RevenueCat, create the pro entitlement with a monthly and a yearly product, and set the webhook secret so Pro is granted on the server.
Prompt for the AIConnect RevenueCat under Server › Monetization and write EXPO_PUBLIC_REVENUECAT_IOS_KEY and EXPO_PUBLIC_REVENUECAT_ANDROID_KEY to .env. In RevenueCat, create an entitlement named pro, a monthly and a yearly subscription product, and a current offering with both packages. Save a long random REVENUECAT_WEBHOOK_SECRET under Server › API keys & secrets, deploy supabase/functions/revenuecat-webhook with JWT verification off, push the secret, and point RevenueCat › Integrations › Webhooks at https://<project-ref>.supabase.co/functions/v1/revenuecat-webhook with the header Authorization: Bearer <secret>. Update PLAN_PREVIEW in src/services/iap/index.ts to my real prices.
Reminders and helplines for your market
The evening reminder is a local notification that needs a phone build. The support page and crisis note list US helplines; replace them with lines for the countries you publish in.
Prompt for the AIReview HELP_RESOURCES in src/services/ai/safety.ts and the support page (src/features/support/SupportScreen.tsx): keep findahelpline.com and replace the US lines (988, Crisis Text Line) with the crisis lines for the countries I publish in, keeping the supportive tone. Check the reminder copy in src/services/reminders/index.ts and the notification preview in src/features/profile/RemindersScreen.tsx say what I want, and tell me that reminders need a new phone build to work.
Set your icon, store IDs and legal pages
Rename the app, replace the icon, retune the colours, and point the legal links at your own privacy policy, terms and support pages.
Prompt for the AIRename the app from Moonday to my app's name everywhere a person sees it (app.json name and slug, bundle identifier and package, copy on Welcome, About, the paywall and the legal pages). Replace assets/icon.svg and assets/adaptive-icon.svg with my icon and render icon.png, adaptive-icon.png and favicon.png. Retune brandSeed and the overrides in src/theme/brand.ts to my colours, keeping tertiary as the colour of the moon. Replace the text in src/features/legal/ with my privacy policy and terms, and set EXPO_PUBLIC_PRIVACY_POLICY_URL, EXPO_PUBLIC_TERMS_URL and EXPO_PUBLIC_SUPPORT_URL in .env.
How to use this template
- Use the template to get an editable copy, with its source, in your workspace (Templates).
- Ask the AI assistant for the changes you want, in plain words (Work with the assistant).
- Try each change in the live preview, or on your phone (Preview).
- On Creator or higher, build it for iOS and Android and send it to the stores (Publishing overview).
Licence and support
Licence
You own the app made for you; the template’s code stays InspireUI’s and is licensed for use in your apps (Terms › Our intellectual property).
Help
- Guides to templates, the assistant and publishing.
- Contact support from Help; replies usually within 1–2 business days.
- In your copy, ask the AI assistant about any screen or file.
Made by FluxNative
Support policyQuestions
Is it free?
Copying a free template costs nothing, not even credits; a Premium one is a one-time purchase per website. Chat changes and builds use credits.
What do I own?
You own the app made for you. The template’s code stays InspireUI’s and is licensed for use in your apps (Terms › Our intellectual property).
Do I need to know code?
No. Ask the assistant for changes in plain words; the full source is there when you want it.
Does it come with a backend?
No. A full app names the backend it needs and you connect your own under Server; a design runs on sample data.
Can I change the design?
Yes. The Design tab sets the brand colour, colours, fonts and corners at no credit cost; the assistant changes the rest.
Which plan do I need to publish?
Creator or higher builds and uploads to the stores, with your own Apple and Google accounts. A Premium template’s app builds on any plan once its website is connected.
Can I download the source?
Yes, with Download source or Push to GitHub, once your workspace has bought a plan, credits or a paid template. A Premium template’s app also needs its website connected.
What if it was made with an earlier FluxNative?
Your copy works as it is. Ask the assistant to update it for newer features such as app languages and currencies; it is the last setup step.
Ready to make it yours?
Start from Moonday AI Journal & Daily Reading App and change anything by chat. Your copy comes with the full source.
Free to copy. No credit card required.