DEV Community

Sandro Hu
Sandro Hu

Posted on

Building WeRemember in Public — Day 0: Why I'm building it and where it starts

I've tried a lot of calendar tools. They all work. None of them feel right.

Not because they're broken — but because they're built like infrastructure. Grids, boxes, alerts. They remind you that something exists, but they don't help you stay on top of what actually matters. Using them feels like filing paperwork, not managing your life.

I wanted something that felt more like a smart friend and less like a database with a UI.

So I started building it.

Three ideas that shape every decision

I'm tired of tools that remind me that something exists without helping me understand why it matters. I want semantic search not because it's a cool feature — but because "dentist" and "annual checkup" are the same thing and no calendar I've used treats them that way.

I don't want to chase information across five different apps to prepare for a meeting or remember a deadline. The plugin system exists for exactly that reason: bring the context to the calendar, not the other way around. Your tools should talk to each other so you don't have to be the middleman.

And when WeRemember reminds you of something, it shouldn't sound like a system alert. A job interview tomorrow deserves a different message than a dentist appointment. A friend who remembers your life doesn't just ping you — they say the right thing at the right moment. That's the tone I'm going for.

What Day 0 actually looks like

No Django yet. Just three files: a README, a license, and a .gitignore.

That order is intentional.

The README came first because writing why the project exists before touching any code forces clarity. If you can't explain it in a paragraph, you don't understand it well enough to build it yet.

The license is AGPL-3.0 — not MIT. MIT lets anyone take your code, close it, and run it as a SaaS without giving anything back. AGPL closes that gap: modify WeRemember and run it as a service, and you must release your changes. For an open-source SaaS, that's not a detail — it's the point.

The .gitignore is invisible work. But without it, the first real commit becomes a mess of __pycache__ and .env files you spend an hour untangling.

Small things. Intentional ones.

What's next

Django project setup — uv, split settings, environment conventions. The foundation that makes everything else possible cleanly.


Post #1 of the WeRemember build-in-public series.

Short updates on X | Articles on dev.to | Code on GitHub

Top comments (0)