Skip to content
Lioncore
7 min read

Calmora: the app born from my panic attacks

Eight months ago, my first panic attacks. How journaling the episodes helped me understand that everything ends up passing, and why I turned it into an app.

calmoraanxietymental-healthindieproduct

This post is about a personal experience. It's neither medical advice nor a protocol. If you're going through panic attacks, talk to a healthcare professional.

Eight months ago

Eight months ago, I had my first panic attack. In the moment, I didn't know that's what it was called. What I knew was that my heart was racing, my chest was tightening, my breath was getting short, and I was absolutely certain I was going into cardiac arrest. You can read everywhere that a panic attack "can't kill you". It's true. But when you're inside one, your body tells the exact opposite story, and it's very convincing.

It wasn't an isolated episode. The attacks came back, and with them a background anxiety I didn't know I had.

An anxiety that was dormant

The trigger, on the other hand, is identifiable: a strong emotional event, whose details I'll keep to myself because they're not the point. What matters is that this event didn't create the anxiety. Looking back, the most unsettling part isn't that it arrived, it's realising it hadn't just arrived. It had been dormant in me for a long time: tension I blamed on work, a constant vigilance I mistook for rigour, a tiredness I couldn't explain. The event simply acted as a detonator, and it woke up loud.

That changes how you frame the problem. I wasn't going through a one-off accident I could wait out. I was discovering something that was part of me, and that I'd have to learn to function with.

The social moments

Very quickly, the fear of the attack became more invasive than the attack itself. A dinner, a party, a meeting: every social situation turned into a calculation. What if it happens here, now, in front of everyone? How do I get out? What will people see?

When you're convinced you can go into cardiac arrest at any moment, being surrounded doesn't reassure you, it adds witnesses. Some social moments were hard to get through, others I simply skipped. That's anxiety's most insidious mechanism: it shrinks your life to avoid attacks that, on their side, never ask for permission.

The technique that helped the most: journaling

I tried different techniques, with mixed results. The one that worked best for me is the simplest: journaling the events. Logging every episode, almost like an application log.

What I logWhy
The moment (date, time)Spot the patterns: end of day, eve of a deadline, etc.
The intensity (1-10 scale)Put a measure on something that feels infinite in the moment
The contextIdentify recurring triggers (caffeine, short sleep, overload)
The real durationSee that an attack that feels like an hour often fits in a few minutes
How it came downRemember that it came down, every single time

The journal works twice. In the moment, writing pulls me out of the role of the attack's victim and into the observer's seat: I'm describing, so I'm no longer just enduring. And later, with a cool head, rereading is unanswerable. Every line in the journal tells the same ending: it stopped. One hundred percent of the attacks came down.

Everything ends up passing. The journal turns that sentence, the one everyone tells you and you never believe in the moment, into verifiable data.

The product behind the experience

After dropping Inkindly, I had set myself a rule: never again start a project on a topic that doesn't concern me. This time it's the exact opposite. The topic concerns me to the point that user number one is me.

My validation grid gives a clear verdict:

QuestionAnswer
Are people already searching for this kind of app?Yes, mood and anxiety tracking is an established store category
Are people paying for similar apps?Yes, several players live off subscriptions in this niche
Does the promise fit in one sentence?"Log your anxiety, spot what comes back"

A 3/3 Painkiller, and for once I don't need user interviews to know the pain: I carry it in my body.

Mood-tracking apps already exist, and some are very good. But using them in the middle of an attack-heavy period, I hit the same wall everywhere: friction. When your anxiety is climbing, you don't have the patience to get through four screens, a paywall and a breathing animation just to log "attack, 7/10, at the office". Either the entry takes a few seconds, or it doesn't happen.

That became Calmora's founding principle: open, fill in, close in a few seconds. Anything that slows down the entry is a product failure.

What Calmora does

Calmora is a mobile anxiety-journal app:

  • Mood and anxiety-level entry in seconds, right from launch
  • Custom trackers: caffeine, sleep, exercise, whatever you want to follow, with the right format (scale, number, duration, yes/no, text)
  • Anxiety curve over time: today, yesterday, 3 days, 7 days, to see in black and white that every peak came down
  • Free-form notes to journal the episodes and reread them with a cool head
  • Local notification reminders, paced to each tracker's rhythm

The curve is the heart of the product. It's the visual version of rereading the journal: peaks, and after every peak, a descent. Always.

The technical choices

The subject dictates the choices: an anxiety journal is health data, among the most sensitive there is.

DecisionWhy
Expo SDK 52 + Expo RouterMobile first: anxiety doesn't give notice, the phone is always in the pocket
Supabase EU region + RLSData hosted in Europe, per-user isolation at the database level
Zod shared in the monorepoThe same schemas validate the app's forms and the database payloads
TanStack Query + local persistenceThe entry has to work even on a bad network, sync can wait
pnpm + Turborepo monorepoA web version can join the mobile app later without rewriting everything

What Calmora is not

Calmora is not a medical device, not a therapy, not a substitute for a healthcare professional. It's a notebook, built by someone who actually uses it, to make visible what anxiety makes you forget: the patterns that trigger it, and the fact that it comes down every time.

And I'm well placed to say it: alongside the app, I've been followed by professionals, a psychologist in particular. It's that combination, the professional support on one side and the journal on the other, that explains why things are better today. Calmora only replaces the notebook, not the support.

What's next

Today, things are better. The attacks have spaced out, and the app has done its job for its first user. So I'm no longer building under pressure: from time to time, I pick the project back up and improve what can be improved. The project page is the Calmora page.

For now, I haven't released Calmora publicly. If the app speaks to you, if you'd want specific features or simply for it to be available, don't hesitate to contact me: that's exactly the kind of signal that would make me publish it.

If I had to keep one sentence from these eight months, it would be the one the journal taught me by making me reread it: everything ends up passing.