writing
nextjs
minimalism
product

Write Today - How and Why I Built a Quiet Daily Diary

7
4 min read
J
Jagadhiswaran Devaraj
Full-Stack Developer

Write Today - How and Why I Built a Quiet Daily Diary

Write Today didn’t start as a product idea.

It started as a personal need.

At the beginning of the new year, I noticed how even reflection had started to feel heavy. Journaling apps were full of streaks, prompts, metrics, and systems. Writing, which was supposed to be simple, had slowly become performative.

I didn’t want another system.
I wanted a place to pause.

That’s what Write Today is.


The problem I wanted to solve

There is no shortage of journaling tools.

Most of them are well-built and thoughtfully designed. But many of them try to do too much:

  • Track consistency
  • Encourage streaks
  • Measure mood
  • Optimize reflection

None of those are bad ideas. They just weren’t what I needed.

I wanted writing to feel light again — something you do for yourself, without expectations.


The core idea

Write Today is built around one simple principle:

Each day deserves a quiet place to exist.

Not every day needs insight.
Not every entry needs depth.

Some days are a few lines.
Some days are messy.
Some days are empty.

The tool shouldn’t interfere with that.

This led to three rules that guide every decision:

  • Writing comes first
  • The interface stays out of the way
  • Nothing should pressure you to write more than you want

If a feature doesn’t respect these rules, it doesn’t belong.


Design philosophy

Write Today follows a simple approach:

Remove before you add.

I intentionally avoided:

  • Feeds or timelines
  • Likes or reactions
  • Daily goals or streaks
  • Mood tracking
  • Heavy formatting controls

What the app shows instead is minimal by design:

  • Today’s date
  • A calm writing space
  • Past days, if you want to look back

If you forget the tool exists while writing, that’s success.


Technical choices

The tech stack is modern but intentionally boring:

  • Next.js (App Router) for structure and performance
  • React for a predictable mental model
  • Tailwind CSS + shadcn/ui for clean, consistent UI primitives
  • Framer Motion used sparingly, only where motion adds clarity
  • Supabase for authentication and data storage
  • Zustand for a small, predictable client-side state layer

Nothing here is experimental.

The goal was to make the engineering disappear into the background, just like the UI.


Anonymous by default

Write Today allows anonymous usage by default.

This was a deliberate choice.

You shouldn’t have to commit to an account just to write a thought. If you want to sign in later, you can. If you don’t, that’s fine too.

Lowering that initial friction matters more than perfect user models.


Optimistic writing

When you save an entry, it appears immediately.

Even before it’s fully persisted.

This optimistic approach isn’t just a technical choice — it reinforces a feeling:

Your words are already valid.
The system can catch up later.


What I’m intentionally not building

People often ask about future features.

Here are things I’m deliberately not rushing into:

  • Analytics and dashboards
  • AI summaries or scores
  • Social features
  • Gamification
  • Monetization hooks

Not because they’re bad ideas, but because they can easily change the tone of the space.

For now, restraint is the feature.


How I want this to grow

Write Today will grow slowly.

Only features that:

  • Reduce friction
  • Improve clarity
  • Stay invisible while writing

will make it in.

Growth doesn’t have to mean complexity. Sometimes it just means protecting the original feeling.


Closing

Write Today isn’t trying to change how you think.

It’s just giving today a place to land.

If that’s all it ever does, that’s enough.

You can try it here:

https://writetoday.in

No onboarding.
No pressure.

Just today.

J

Jagadhiswaran Devaraj

Full-Stack Developer

Let's Connect & Code

Follow me for in-depth technical insights on JavaScript, Full-Stack Development, AI, and System Architecture. Let's explore the fascinating world of modern web development together!

Find me online

Comments & Discussion

Share your thoughts and join the conversation

Comments

💡Insight
Question
🔥Appreciate
💬General