
AIdeas: Mornist
I wake up at 5:40 AM every day now. Six months ago, I could not get out of bed before 9. No amount of loud alarms, math puzzles, or guilt-tripping productivity videos changed that. What changed was understanding one thing: waking up is not a sound problem. It is a willpower problem. And willpower, like any muscle, can be trained, but never by force. That realization became Mornist.
App Category
Daily Life Enhancement
My Vision
My grandfather woke at 5 AM every day of his life, not because an app told him to, but because he had trained himself over decades. I wanted to bottle that process. Not the discipline of a lifetime, but the method behind it.
Mornist is a personal AI coach that trains your willpower to wake up early, gradually, without guilt, and without shame. The philosophy fits in six words: "1 Alarm. 1 Chance. No excuses."
Here is the core idea. I borrowed a training principle from elite athletics called periodization, the science of cycling between stress and recovery. Coaches know you cannot push an athlete every single day. The body breaks. So they alternate: push, push, consolidate, recover. I applied this exact principle to wake times and built what I call the 2-1-1 protocol:
- Day 1: Wake 15 minutes earlier than yesterday
- Day 2: Wake 15 minutes earlier again
- Day 3: Hold — stay at the current time so the body adapts
- Day 4: Recovery — step back 15 minutes so willpower can refill
- Then the cycle repeats at a higher baseline
If you currently wake at 8:00 AM, Mornist does not throw you at 5:30 on day one. It starts you at 7:45. Then 7:30. Then holds. Then recovers to 7:45. Next cycle begins at 7:15, past your previous best. Over weeks, 6:00 AM stops feeling like punishment. It becomes your new normal.
There is one design decision that changes everything: the user cannot set their own alarm time. The AI calculates it. This is intentional. Studies on decision fatigue show that when people set their own goals, they overshoot. They pick 5:00 AM when they wake at 8, fail on day three, and delete the app. By removing that negotiation, the app becomes the coach. The user becomes the athlete.
But coaching without identity is just instruction. So during onboarding, Mornist asks one question: "Who do you want to become?" Users choose a title, Sergeant, Doctor, Writer, Captain, Athlete, CEO. Every morning, the alarm greets them:
"Good morning, Sergeant. You said you would finish Chapter 3. The choice is yours."
Something shifts when you hear that. A Sergeant would not hit snooze. And you told the app you are a Sergeant. The gap between who you said you are and what you are about to do becomes the engine of change. Psychologists call this cognitive dissonance, I call it the moment the alarm actually works.
Behind all of this sits a Stoic Mentor AI. No guilt. No shame. No "You failed!" messages. If you miss a day, the app simply says: "Your dashboard is ready when you need it." If you show up, it says: "You showed up, Sergeant. Day 14 of your journey." We do not control yesterday. Only the next choice. That philosophy runs through every word the AI generates.
And here is the part that sounds counterintuitive for someone building an app: the goal is to make Mornist unnecessary. After consistent mastery, the app enters Trust Mode, the alarm goes silent. If you wake on your own and open the app within your window, it celebrates: "No alarm. No force. Just you and your commitment." Eventually, graduated users wake naturally. They do not need us anymore.
An alarm app you depend on forever has not solved anything. One that teaches you to wake without it has changed your life.
Why This Matters
I want to share something researchers discovered that fascinated me. There is a concept called a keystone habit, one single behavior that, when changed, triggers a chain reaction across your entire life. Waking up early is one of the most powerful keystone habits known.
When someone starts waking up consistently early, something unexpected happens. They start exercising, not because anyone told them to, but because they suddenly have time. They eat better because they are not rushing. They read more. They are less stressed, more patient with their families, more focused at work. They scroll their phones less. They keep promises to themselves.
One habit. Dozens of benefits. People think they are getting an alarm app. They are actually getting a system that rewires their daily life through one simple change.
What makes Mornist different from anything that exists today is the combination: an AI that adapts your wake time based on real behavioral science, content that speaks to you by name and by identity, a mentor that never shames you, and a system that is specifically designed to set you free. No one has put these pieces together before. This is not productivity software. This is behavioral AI for human potential.
The first decision of every day determines the rest. Win the morning, and everything else follows.
How I Built This
I used Kiro, the spec-driven IDE from AWS, to plan and build the entire project. This turned out to be one of the best decisions I made. Kiro's workflow, define requirements first, then design, then implementation — forced me to think through every state transition before writing a single line of code.
The Neuro-Periodization algorithm alone has dozens of edge cases. What happens when someone misses 20 consecutive days? What if they achieve a perfect month? What triggers the shift from standard mode to struggling mode to mastery mode? In Kiro, I captured all of these as specifications first. Each spec became a set of discrete, testable tasks. This saved me weeks of confusion and rework later. For a system this behaviorally complex, spec-driven development was not optional, it was essential.
I also used Kiro's steering rules to enforce coding conventions across the project, and its hooks to run Flutter analysis automatically before commits. The combination of structured specs and automated quality checks kept the codebase clean even as complexity grew.
The system architecture follows an evening-to-morning cycle that mirrors the user's real experience:
Evening (around 9 PM): The user opens the app, sees tomorrow's calculated alarm time, and answers one question, "Why are you waking up tomorrow?" Based on their response, Amazon Bedrock generates a personalized Mission Brief. Amazon Polly synthesizes a morning greeting in a warm, natural voice. Everything gets cached locally on the device so the morning experience is instant, even offline.
Night (10 PM): AWS EventBridge triggers an AWS Lambda function. Lambda runs the Neuro-Periodization algorithm, evaluating the user's current cycle day, success rate, and behavioral mode. It determines tomorrow's phase (Push, Hold, or Recovery), calculates the exact alarm time down to the minute, stores it in Amazon RDS (PostgreSQL), and pushes it to the device.
Morning (calculated time): The alarm rings, a melodic tone between 500 and 3000 Hz that gradually rises from 40% to 80% volume over 30 seconds. Gentle enough not to spike cortisol, firm enough to wake you. The user taps "I'm Awake" (there is no snooze button, by design). Immediately, the Polly-synthesized greeting plays: "Good morning, Sergeant. You said you would study for your exam. The books are waiting." Then an AI-crafted motivational message appears, referencing what they said the night before. The user confirms "I'm Up, Thank You." The day is logged, and the algorithm updates.
Tech stack:
- Mobile: Flutter (Dart) — cross-platform for iOS and Android
- Backend: FastAPI (Python) — REST API and algorithm logic
- AI Content: Amazon Bedrock — mission briefs, morning callbacks, motivational passages
- Voice: Amazon Polly Neural — identity-based spoken greetings
- Compute: AWS Lambda — nightly alarm time calculation
- Scheduling: Amazon EventBridge — triggers per-user timezone
- Database: Amazon RDS (PostgreSQL) — user state, algorithm phases, daily logs
- Development: Kiro IDE — spec-driven workflow with steering and hooks
Amazon Bedrock powers three distinct content streams. Evening Mission Briefs are tailored to the user's stated intention and tomorrow's phase, on a Push day, the tone is challenging; on a Recovery day, it is encouraging. Morning Goal Callbacks weave the user's own words from the night before into a personalized wake-up message addressed by their chosen title. And the Stoic Mentor generates daily passages that are honest and grounded, never shaming, never falsely positive. Getting the prompt engineering right for that last one was the hardest technical challenge of the entire project. The difference between "Believe in yourself!" and "You told yourself you would study. The books are waiting. What version of yourself shows up today?" is the difference between an eye-roll and getting out of bed.
Amazon Polly Neural makes the morning greeting feel real. Hearing "Good morning, Sergeant" spoken aloud in a warm human voice creates a completely different psychological impact than reading text on a screen. It feels like a real mentor is in the room. That moment, the first thing the user hears after opening their eyes — is the most important moment in the entire product.
Demo
Unlike regular alarms that you snooze and ignore, Mornist uses the 2-1-1 Neuro-Periodization protocol to permanently transform your morning routine. No snooze button. No excuses. Just results.
The app is built around one principle: calm clarity for tired eyes. Dark theme with green accents, designed for a dim room at dawn. Every screen does one thing. No clutter, no anxiety.

During onboarding, users accept "The Ritual" — a private contract with themselves. The rules are simple: the alarm rings once, no snooze, you engage with the daily message within 15 minutes, and after 30 days of consistency new content unlocks. Users tap "I Accept the Challenge" to begin their journey. It feels like a commitment, not a setup wizard.

The evening dashboard greets users by their chosen title, "Good evening, Captain" — and shows tomorrow's calculated alarm time with the current phase clearly marked (PUSH, Day 1, Cycle 1/4). From here they open the Evening Brief to set their intention. Stats like day streak, consistency rate, and current mode are visible at a glance. The design is warm and inviting — this is the moment the user prepares mentally for tomorrow.

The alarm tab shows the full 2-1-1 cycle visually. Users see all four phases (Push, Push, Hold, Rest), their progress toward their target wake time, and how many minutes remain. The app explains in plain language what tomorrow will bring: "Tomorrow's alarm will be 15 minutes earlier than today." No surprises. Full transparency. The user always knows why the alarm is set where it is.

The library holds a growing collection of morning speeches and evening passages that unlock day by day. The first passage, "The Bamboo Farmer", tells the story of patience — planting seeds and building roots before anything is visible above ground. Each passage ends with a reflection prompt. Future entries stay locked until earned. This makes the content feel valuable, not disposable.
All screens built in Flutter, running natively on both iOS and Android.
Currently in TestFlight (iOS) and internal testing (Android) — public release coming soon.
Live website: https://mornist.app
What I Learned
Building Mornist taught me things I did not expect.
Kiro changed how I think about building software. Before Kiro, I would have jumped straight into coding the algorithm and figured out edge cases as bugs. Instead, I defined every state transition as a specification first. When a user misses 20 days, what happens? When they hit perfection for a month, what mode do they enter? All of it was captured in requirements before a single line of code existed. The result was that when I did start coding, I rarely had to go back and redesign. For anyone building systems with complex behavioral logic, I genuinely believe spec-driven development is the way.
Amazon Bedrock surprised me with how accessible personalized AI content can be. Generating a unique, contextual motivational message for each user every single day sounds like it requires massive infrastructure. It does not. It is an API call with a well-crafted prompt. The real barrier is not the technology — it is knowing what to say. I spent more time writing and rewriting the Stoic Mentor prompt than on any other feature in the entire app. Because the difference between generic motivation and words that actually make someone get out of bed is everything.
Designing for zero shame is harder than designing for gamification. Gamification is additive — you add badges, streaks, leaderboards, celebratory animations. Zero-shame design is subtractive. Every screen, every notification, every single word has to be audited: does this create guilt? Does this feel like judgment? Replacing the instinct to say "You missed your alarm!" with "Your dashboard is ready when you need it" required constant vigilance. It is a fundamentally different design philosophy and I think more apps should adopt it.
The periodization science is real. Recovery days genuinely feel like sleeping in, even though the user is still ahead of their original baseline. That psychological reward — the feeling of "I earned this rest" — refills willpower for the next push cycle. The parallel between athletic training and behavioral training is not a metaphor. It is the same underlying neuroscience of stress, adaptation, and recovery. This was the most validating discovery of the entire project.
And finally — building something designed to make itself obsolete requires a different kind of courage. Every business instinct says maximize retention, keep users dependent, never let them leave. Mornist says the opposite. Trust Mode, where the alarm goes silent and you bet on the user waking themselves, felt genuinely risky to build. But it is the entire point. If someone needs my app forever, I have not actually helped them. If they wake up one morning on their own, look at the clock, and smile — that is success. That is what I built this for.
Mornist is not an alarm app. It is a personal AI coach that trains one habit and transforms an entire life. One morning at a time.
Built with Kiro IDE, Amazon Bedrock, Amazon Polly, AWS Lambda, Amazon EventBridge, and Amazon RDS.
Region: EMEA (Georgia) | Category: Daily Life Enhancement
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article