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

推荐订阅源

IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
小众软件
小众软件
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
J
Java Code Geeks
WordPress大学
WordPress大学
The Cloudflare Blog

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 built a journaling app where the database deletes your ...
Vineet Negi · 2026-05-03 · via DEV Community

FutureMe has 15 million letters in its database. They've been there since 2002. Some of them will be there in 2050.

Evengood will have zero.

This week I shipped The Quiet Letter — a feature where you write to your future self today, we email it on a date you pick, and we hard-delete the row from our database within 24 hours of sending it. The email is the only artifact. We don't keep a copy.

Every feature in Evengood is built around a question: what would a journaling app look like if it weren't trying to maximize for retention?

What I shipped this week

A new page at /letter. You write a letter to yourself. Voice or text. You pick a delivery date between 7 days and 5 years from now. You enter your email. You hit seal.

We send a confirmation email — double opt-in, same as our Sunday pattern email. You confirm. The letter sits in our database in exactly the state you wrote it.

On the date you picked, an hourly cron job picks it up and emails it to you. The subject line is a letter you wrote on [the day you sealed it]. The body is the letter, verbatim, plus one footer line: this letter has now been deleted from our server.

A daily cron job at 3am UTC hard-deletes every row whose sent_at is more than 24 hours old. Unverified drafts get purged after 7 days.

One table. Four edge functions. Three new pages. One small new link on the home page that says or write a letter to a future you →. That's it.

What we deliberately did NOT build

No letter inbox. No list view of pending letters. There is no screen anywhere in Evengood where you can see what you've written. The only place the letter exists, between sealing and delivery, is in a Postgres row you can't read.

No edit-after-seal. No "oh wait, I changed my mind." Once you hit seal, the letter is committed.

No public letters wall. FutureMe has one. We deliberately do not.

No reminder emails. No "you have a letter coming in 30 days!" notification. The whole point is that you forget you wrote it. The surprise IS the feature.

No analytics on the body content. We don't read your letter. We just hold it long enough to deliver it.

No account, no login. The verification token IS the only identity.

Why this took a full week

The code itself is small — maybe 500 lines across the whole feature. What took the time was the deletion architecture.

Most "send me a letter in the future" features that already exist treat the database as permanent. The letter sits forever. The user data accumulates. That's the default in Postgres because nothing deletes itself.

To make deletion the actual default required:

  • Two separate cron jobs (one for delivered letters, one for unverified drafts)
  • A clean separation between verified and unverified state, so unconfirmed drafts also get purged
  • Copy on every screen that says, in plain language, what gets deleted and when
  • An email body that ends with the deletion confirmation, so the user has receipts

The email is the only artifact. That sentence is the whole product.

The weird part

FutureMe — which I love and respect — has been operating since 2002 and has delivered over 15 million letters. The site is still standalone. It's never been integrated into a daily reflection practice. You can't write a letter on FutureMe and also do anything else with your day there.

Evengood is the opposite shape. The Quiet Letter sits inside a daily reflection app, but the letter itself doesn't accumulate. It passes through. The only thing that stays is the practice.

Day One can't ship this. Their pricing is justified by lifetime data retention. A feature whose primary verb is delete would directly undermine the upsell.

Reflectly and Stoic can't ship this. Their growth model is daily re-engagement. A feature that says we'll be quiet for 6 months and then send you one email destroys their DAU.

Apple Journal can't ship this. Apple doesn't run scheduled outbound email infrastructure for users.

It's a feature only an app with the wrong incentives would build.

Where Evengood stands at Day 13

  • 60-second voice or text reflection. No account. Nothing saved server-side.
  • Witness Mode: one quiet sentence as tomorrow's invitation.
  • A Quiet Pattern: weekly summary detecting heavier and lighter days.
  • The Pattern by email: 52 sentences a year, one every Sunday morning. Double opt-in. One-click unsubscribe.
  • The Quiet Letter (new this week): write to your future self. We deliver once. Then we forget.

Five features. Zero notifications. Zero streaks. Zero "you haven't journaled in 3 days."

The live app is here: https://app-b3tuv7opfegx.appmedo.com

The letter compose page is here: https://app-b3tuv7opfegx.appmedo.com/letter

17 days left. One more weekly feature to go.

Built entirely on MeDo. The whole feature shipped in a single Deep Build turn — 30 credits, ~500 lines of new code, zero edits to existing reflection or pattern code.