惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园 - 叶小钗
D
DataBreaches.Net
D
Docker
月光博客
月光博客
博客园 - 司徒正美
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I'm building a calendar app — here's why, and what milest...
Sandro Hu · 2026-05-11 · via DEV Community

Why does the world need another calendar app?

It probably doesn't.

Google Calendar exists. Apple Calendar exists. Fantastical, Cron, cal.com, Notion Calendar — the list goes on. I know this. I thought about it for a while before starting anyway.

Here's what I kept coming back to: every calendar I use is a closed island. My reminders live in one place, my tasks in another, my notes somewhere else. And when I want to connect them — run something when an event is created, push a notification to a custom channel, sync with an internal tool — I'm either stuck with whatever integrations the app decided to support, or I'm duct-taping Zapier between everything.

What I actually want is a calendar that behaves like infrastructure. One where the plugin system isn't an afterthought — it's the point.

That's the idea behind We Remember (結繩記事 in Chinese — after the ancient practice of tying knots in rope to remember things).


The name

In ancient China, people tied knots to record events — each knot a small, physical piece of memory. The practice is called 結繩記事 (jié shéng jì shì).

The "we" in We Remember was always intentional. Not just personal memory — collective memory. Every plugin, every integration, is a knot anyone can tie. The end goal is a web of memory that isn't locked inside one app.

That's a long-term vision. For now: it's me, a laptop, and Django.


What I'm actually building

The core is straightforward: a calendar with a solid reminder engine and a clean way to connect it to other things. Events, recurrence, notifications — the basics done well.

The part I care most about is keeping it open by design. Not open source necessarily, but open in the sense that it shouldn't be a dead end. Whatever I build, I want other tools to be able to talk to it.


Milestone 0.1 — Infrastructure Foundation

Before any feature ships, I want a production environment that's solid and boring. This is the milestone I just finished planning.

Done when:

  • The app runs locally and on a VPS with a single command (Docker Compose)
  • Every push passes CI and triggers an automatic deploy via GitHub Actions
  • A /health endpoint returns app and database status
  • The environment is fully reproducible from scratch following the README No features in this milestone. Just a foundation that won't need to be rebuilt later. The interesting part — what actually happened versus what I planned — comes in the next post.

What build in public means to me

Build in public, for me, means sharing the process: the decisions, the tradeoffs, the things I got wrong, the things that turned out surprisingly well.

I'm a student learning product, design, writing, and business alongside technical skills. I'm not following a weekly cadence — I'll write when a milestone closes or a decision is worth documenting. Quality over consistency.

So that's what I'll do. X threads for small updates and decisions. dev.to for milestone retrospectives.


What's next

Implementing milestone 0.1. When it's done and deployed, I'll write about what actually happened versus what I planned — the interesting part of any milestone is always the gap between the two.

If you're building a side project as a learning vehicle, I'd love to hear how you think about sequencing your first milestones. And if you want to follow along, I'll be posting updates as things develop.

The knots are just getting tied.


We Remember (結繩記事) — a calendar platform built around a plugin ecosystem. Building in public as a student learning product development end-to-end.

X: https://x.com/OranguEngineer