A New Day
A New Day is a privacy-first daily checklist that resets at midnight. It's designed for people with mental health challenges who are rebuilding routines.
The backstory
This project started in 2019 as a broader mental health tool. While its intentions were good, it tried too hard to solve too many problems.
When tested, it was obvious this complexity worked against the people it aimed to help. I knew there was something valuable in this project, but with no immediate solution in sight I put the project aside and moved on.
I just need something to help me...do the things everybody else thinks are normal.
It returned to the spotlight when listening to a person with PTSD. They said: I just need something to help me...do the things everybody else thinks are normal. Like what? Brushing my teeth. Eating regular meals. Getting out of bed. The original app actually had a version of this feature, but it was buried within a complicated feature set.
I redesigned the app for that one user. I cut everything that wasn't essential, which in practice meant nearly everything. What remained was a quiet, single-minded tool: a daily list that resets itself daily at midnight.
Giving the user a fixed daily list to check off is the app's sole purpose. A New Day doesn't track streaks, send notifications and nag you, gamify your progress, or ask you to share. It doesn't judge. At midnight it resets without comment and gives you a clean start – a new chance to get things right, every day.
Streaks, no. Because I do not need...a record of my failures.
Design notes
Earlier versions used gradient backgrounds. I loved the idea that day and dawn could be used as visual metaphors, and that completing a task would reveal a slice of morning sky in the background of the list. With time, this was roundly rejected as confusing design clutter, because even a simple gradient can be too much visual noise for someone under strain.
This is a lesson that extends to every decision in the app. A clean, largely monochromatic design is desired most (“I literally just want a list that tells me what to do in black and white”). Typography is supported by Public Sans, an open-source typeface created by U.S. Web Design System (USWDS). Public Sans is a geometric, grotesque sans-serif, neutral and firm without feeling unfriendly, and optimized for legibility.
The keyword is neutral. There are a lot of snazzy design options to pursue here but none of them work as well as a plain, don't make me think utilitarian style.
Development notes
The MVP used vanilla JS. I rebuilt it with Svelte in 2025 as an installable PWA with offline-first architecture, encrypted export/import, and full (AA) accessibility support. All data stays on the device in IndexedDB, and there is no server requirement. There are also no analytics or external requests.
sequenceDiagram
autonumber
participant Timer as setTimeout (midnight)
participant State as State Store
participant Reset as reset.ts
participant DB as db.ts (IndexedDB)
participant App as App.svelte
actor User
Timer->>State: scheduled callback fires
State->>State: checkForReset('midnight')
State->>Reset: resetIfNeeded(current)
Reset->>Reset: dateKey(now) !== lastResetKey
Reset-->>State: new state (completed → false)
State->>State: store.set(next)
State->>DB: saveState(db, next)
State->>State: resetNotification.set({ timestamp })
State-->>App: onMidnightReset subscription fires
App->>App: announce('It's a new day…')
App-->>User: Toast: "It's a new day. The list has been reset."
State->>Reset: scheduleMidnight(callback)
Note right of State: Re-arms timer for next midnight
Progressive Web App (PWA) vs native app
Native apps perform better and are easier to discover, but for this user group, those aren't the priorities. The most important thing is to remove every possible barrier between the user and the help they need. Because a PWA is accessible through a URL, the user can open it in a browser and begin using the app immediately without the need for signing into an app store. Why does this matter? Feedback showed that the value users place on privacy – many mental health issues come with potent stigmas, and some didn't want anyone to be able to see they'd downloaded a mental health tool.
Privacy as a feature
I have no idea how many people use A New Day, and that's by design. Collecting metrics from this vulnerable group would break the trust the app is built on (as well as make the app unusable for some). In the future, I would love to reach out more to users online and encourage anonymous feedback.
Where to find it
A New Day is available without cost at anewday.app.