Mental Cares

ccDiary.

Capture your moments, cultivate insights.

A journaling app for mental health. Write the day down with a track behind it, get a response from an AI that read what you actually wrote, watch your mood take shape as a curve — and, when you want company, hand it to an anonymous community that catches it.

  • 1st Prize · SITCON Hackathon 2024
  • iOS · Android · Web
  • Flutter + GPT-4
Add
ANGOSTURA
Didn't think I had it in me to build the whole information station and the chatbot front-end in one day. Genuinely proud of that.

Slept badly, ate at my desk, and still got it out. I want to remember this feeling the next time a build goes sideways and I decide I'm not good at any of this.
Save

Why we built it

You throw your heart out, and the world keeps dropping the catch.

— Xu Pei-fen, I Only Worry Whether the Rain Will Keep Falling Until Tomorrow Morning. The line the whole project started from.


01

Some words come out. There is still nowhere for the feeling behind them to go.

02

So you wrap them carefully and post them to Threads or X. Nobody catches them — you get negative replies instead. If you are unlucky, your identity gets passed around and put on trial.

03

And the algorithms underneath, tuned for ad revenue rather than for you, quietly amplify the negativity, the echo chamber and the hostility.

So we built somewhere else to put it.

How it works

Three things happen every time you write an entry.

Write it down

Pick a track from the in-app library that matches the day, write as much or as little as you want, and set where your mood actually sits on a scale from −1 to +1.

Get a real response

GPT-4, grounded in the clinical material the team compiled, replies to what you actually wrote — supportively — and notes how your mental state reads from it.

Watch it over time

The entry joins your timeline and your emotional curve. Share it anonymously and the community can reply too, so the next reader is a person rather than a model.

The app

Feature 01

Write, with a soundtrack behind it.

The composer is three controls and nothing else: a song, a text area that only asks what happens today…, and a mood slider. Hit Save and the entry goes off for analysis; the AI's reply comes back before you leave the screen.

  • Curated music library, searchable, playing inline while you write
  • Mood recorded on a continuous −1 to +1 scale, not a set of emoji
  • The reply is kept with the entry, so you can re-read it later

Feature 02

A corridor of everything you've been.

Every entry lands on a vertical timeline, newest first, each one still carrying the song you chose that day. Open one and you get the whole record back: what you wrote, what the AI said, how it read your state, and anything the community replied.

  • Date rail and preview text, so a month is scannable in one pass
  • Music plays back with the entry — the day comes with its own sound
  • Built for re-reading: the point is noticing how far you've moved

Feature 03

Two readings of the same week.

The Statistics tab plots your Mood Index over time twice: the mood you reported when you wrote, and the sentiment the AI independently read out of the writing itself. The days where the two lines pull apart are the interesting ones.

  • Self-reported mood against machine-read sentiment, on one axis
  • Makes a slow drift visible long before any single day feels wrong
  • Emotion analysis runs on Hugging Face models served with PyTorch

Feature 04

Anonymous, and actually supportive.

Explore is a deck of other people's entries, swiped one at a time, with the writer's song still attached. No handles, no follower counts, no engagement metrics to farm — just an entry, the AI's reply, and whatever strangers wanted to say back.

  • Everything is posted as Anonymous; there is nothing to dox
  • Nothing is ranked or promoted — there is no feed algorithm to game
  • Reciprocal by design: you read others the same way they read you

Feature 05

Written by people, not generated.

Six conditions — depression, bipolar disorder, anxiety, PTSD, delusional disorder and schizophrenia — each with Symptom, Explanation and Commonly Affected Groups. The team compiled every article by hand from authoritative hospital sources rather than pulling it from Wikipedia or letting a model write it.

  • A chat assistant sits on top, restricted to that same material
  • Ask it what to say at a first appointment, and it will answer
  • Ask it something off-topic and it declines rather than improvising
  • Every article closes by pointing you to a specialist physician

Built with

One Flutter codebase, three platforms, two languages.

Client

  • Flutter
  • BLoC
  • Provider
  • dio
  • fl_chart
  • just_audio
  • timelines
  • flutter_chat_ui
  • convex_bottom_bar

Intelligence

  • OpenAI GPT-4
  • LangChain
  • Hugging Face
  • PyTorch

Reach

  • iOS
  • Android
  • Web
  • English
  • 繁體中文

The client lives in this repository; the API, the LangChain retrieval layer and the sentiment models live in CCdiary-backend.

The award

1st
Prize

SITCON Hackathon 2024, on the Mental Care & Support track (心靈照護與關懷). Built by a team of four under the name 不嘻嘻的時候,黑客松松澤, shipping under vaclis.

The team

What's next

The parts we haven't built yet.

Matching

Surface entries from steadier community members to users whose curve has been trending negative for a while — so the people most likely to be dropped get caught first.

A route to a professional

Partner with licensed counsellors and put a direct channel in the app, for the moment when a journal and a stranger's kindness are not the right tools.

Deeper analysis

Keep extending the emotional analytics so someone can see their own mental and physical patterns from the outside, rather than only from inside a bad week.

Status & honest caveats

ccDiary is not publicly released. Two things are in the way: every entry costs a GPT-4 API call, and the backend needs hosting we can sustain. The build in this repository is the hackathon build, and the demo backend is currently offline.

ccDiary is also not a medical device, and nothing in it is a diagnosis. The app says so itself at the foot of every article it ships: “If the symptoms mentioned above persist and are pronounced, you should seek help from a specialist physician.” If you are in crisis in Canada or the US, call or text 9-8-8; in Taiwan, call 1925.

Original materials

Animated title sequence from the original ccDiary pitch deck, showing three phones running the app
The title sequence from the original SITCON deck. Those are the real screenshots, running the Traditional Chinese locale — the same screens the English mock-ups above are drawn from.