134 points by katspaugh 7 days ago | 59 comments on HN
| Mild positive Low agreement (3 models)
Product · v3.7· 2026-03-15 22:17:22 0
Summary Privacy & Personal Expression Champions
This product post advocates for a minimalist journaling tool designed to protect user privacy through end-to-end encryption and local-first data storage while enabling freedom of personal expression and reflection. The content emphasizes respect for user autonomy, choice, and control over personal data, with particular strength in privacy protections (Article 12) and freedom of expression (Article 19). The open-source model and global accessibility further support rights to intellectual and cultural participation.
The read-only past is a really smart design choice. I build local-first apps and it's always tempting to add edit-everything flexibility, but constraints like this are what keep a tool focused and actually useful.
How does the Supabase sync work with the E2E encryption? Client-side encrypt before anything leaves the browser?
Nice, and I like the idea that the past is fixed, but ... is there a way to define the point of rollover to the next day? My "days" sometimes end at 0:50 for example and not at 23:59. So I might summarize the day a bit after midnight.
I really like the idea, and I've actually built something similar. Please format the writing in the post sound less gpt-esque; I believe in the tool you're making and I believe it will improve marketing to people that share my aversion to that writing style.
Very cool! I'm curious as to why you removed ProseMirror after trying it out. I've been building my own writing app for a different purpose over the last month and have been pretty happy with PM, but I'd be curious to know what you're using instead.
Love it! The name, the design, the concept, the open source codebase, everything! It’s less like a note taking app and more like a diary writing app. I think that’s very neat and has its own niche.
Love the local-first, browser-based nature of it. If you ever consider making a native app for it, consider looking at antinote (https://antinote.io/). Been using it for over a year. It’s the only notes app that I haven’t uninstalled or forgotten about. I think the simplicity of it is what draws me to it. I feel it aligns with your philosophy for this app!
For this purpose I wrote an app called Five Years Back: I can write one entry daily, but I can see what I wrote on this day for the past 5 years. My writing streak is… 1399 days as of today. Only me is using the app.
That divider with a time stamp on the right is very cute!
I am looking for, in a sense, the opposite of this app. I need an AI-powered IDE-like editor for markdown files. I keep a ton of research notes in markdown and when it comes to writing reports for admins and such, I need something to help me make sense of them, integrate them, reformat, do a "semantic refactoring" across files, diffs. etc. I saw people use Obsidian with some plugins, but I think I need Cursor for markdown. Any suggestions?
Append only logs >>> in-place writing and rewriting.
I mean, in real life, we call this a "diary" LOL. But even the fact that a mere "diary" doesn't have the same prestiege as say, all other forms of communication, I feel like just a tiny part of it was because it was generally hard throughout human history for the majority of people to write. Like most people were not knowledge workers, typing has definitely made it easier to write, and distribution of writing is prolific.
Obviously, there's actual benefits - compression, the concept of iterating on thoughts over and over, all of that is good.
But some of it I feel like is undeserved. Append only logs are great :D
Love the app. Wondering if it shouldn't be a rolling 12 month calendar perhaps instead of Jan-Dec. The reason being that once you hit January after writing daily notes for a year, you won't see your existing streak of dots of the previous 12 months. Just a thought.
One tiny nitpick - layout is uncomfortable. More than 1/4th of the screen width is taken by the calendar widget (and even more when there's multiple windows open side-by-side), and the editor widget/area is off-center.
Also, showing the weather in the note itself is a cool idea. It pairs well with the journal nature of the app.
At some point I was thinking about building something similar, but more in a wiki-style format where ideas could gradually accumulate and build up layer by layer. Unfortunately I never got around to it because of work and other projects.
Really nice to see someone exploring this space - I’m curious how the concept evolves over time.
How about an option that when you are editing the note, on the lower part of it, it show the note taken from the same day a year ago,
Or a random past note…
I also think the home page (calendar view) can be improved, but i am not sure how,
Anyway amazing app, thank you
cheers
I love the idea and the implementation!
However, I have a hard time remembering which day something happened, so I would constantly want to use a search function.
The read-only past is the right constraint. There’s a broader principle here — immutability forces clarity. You stop optimizing the past and start writing for today.
The local-first + deterministic output pattern resonates. I’ve been exploring the same instinct in a different domain: using a compiler to produce reproducible HTML from a spec, so the output is always the same regardless of when you run it. Different problem, same underlying distrust of runtime variability.
Looks great; love the concept and the design. Reminds me in a way (conceptually) of a DOS program I used to use when I was at my desk more. It’s called Carousel, it’s one-file-per-day as well, but multiple topics which you rotate through (hence Carousel). I don’t need this kind of thing as much anymore, but I appreciate the creativity that goes into them, and knowing they’re out there.
Nice idea for a diary app. "Can't edit yesterday" is off-putting for me. Such a constraint should not be something a software imposes on you, should be a person's mental policy, if they so wish. I want to have full control over my data, without arbitrary restrictions. Another thing is easy deployment. Would love to give it a shot, but I need something like that to be available on both mobile and desktop, that would mean server deployment with all the headache of managing a server and backups...
I am using daily notes currently with Obsidian + Calendar plugin. Also E2EE, available on all devices, no problems syncing, plain-old files so I am not afraid of vendor-lock and can backup any way I want.
The read-only past is a nice touch. I kept abandoning journaling apps because I'd spend more time editing old entries than writing new ones. This removes that trap entirely.
One thing I'd want: the ability to export everything as plain text or markdown. If the app ever goes away, I want my data.
Thanks!
Exactly, client encrypts before syncing. Decryption keys are wrapped/encrypted with your password. If you change the password, only the decryption keys are re-encrypted, not your notes.
The entire docs is gpt/claude-esque. It's gonna take a significant amount of work rewriting it all, all for a free tool.
I think it fits fine with the type of app this is. Sure some people might be slightly put off, and there is a bit of fluff sprinkled in everywhere, but I think it's fine.
As someone else building a notes app, I went with CodeMirror because I enjoy the feature-set of the obsidian editor (which is CodeMirror), and I'm trying to emulate the features on that that I use the most, in addition to some more "experimental" features I'm currently playing with.
Personally, I really don't enjoy WYSIWIG editors when writing notes. It's just unnecessarily different compared to what I'm used to. Though I can see non-devs enjoying it more.
Antinote looks awesome! Love how minimalist it is and how they demo all the features on the landing page. I’m going to look into making ichinichi into a desktop app.
Wow, that’s commitment right here. I only started journaling (dogfooding ichinichi) from 1st January this year. It’s nice to see an unbroken streak. Gonna check out Five Years Later!
Ah, good point. I didn’t think about that. Good solution to make it rolling! I’ll look into it closer to the end of the year to self-test how both feel.
I tried ProseMirror and Tiptap but typing in both felt slower than a vanilla contenteditable. Maybe it’s just a placebo effect. Also I’m trying out various experimental enhancements like if you type “+meditation” and press Enter, it will create a labeled section for you. Perhaps I should try CodeMirror as elxr suggested.
> need something to help me make sense of them, integrate them, reformat, do a "semantic refactoring" across files, diffs. etc
I'm building this exact thing. Heavily inspired by obsidian (and the obsidian workflow where you launch claude code in your vault), but with a leaner UX, and a web-first app. Not launched yet, but I'll let you know when I do.
Post explicitly emphasizes privacy and cryptographic protection: 'E2E encrypted with AES-GCM, zero-knowledge, the whole nine yards.' This directly addresses right to privacy in correspondence. The design choice to store data locally by default protects against unauthorized access.
FW Ratio: 50%
Observable Facts
Post states: 'E2E encrypted with AES-GCM, zero-knowledge, the whole nine yards.'
Post confirms: 'stores everything locally in your browser. Optional cloud sync if you want it.'
No signup required, reducing personal data collection.
Inferences
E2E encryption and zero-knowledge architecture indicate deliberate protection of message confidentiality and user privacy.
Local storage by default respects user control over personal data.
Optional (not mandatory) cloud sync preserves user choice regarding data exposure.
Post explicitly advocates for freedom of expression through the design of a journaling tool. The entire framing emphasizes the user's right to express themselves freely without organizational overhead or judgment. 'One note per day. That's the whole deal.' and the emphasis on simplicity support free and unfettered written expression.
FW Ratio: 50%
Observable Facts
Post is published on Hacker News, a platform for open discussion and idea-sharing.
Tool is described as simple and barrier-free: 'Opens right up, stores everything locally.'
No moderation, curation, or editorial review of journal entries mentioned.
Inferences
Publication of the tool and source code demonstrates commitment to enabling and sharing freedom of expression.
Encryption and local storage protect the user's expression from unauthorized surveillance or disclosure.
Absence of organization/tagging/templates respects the user's freedom to express thoughts in their own terms.
Post implicitly supports freedom of thought and conscience by designing a tool that enables unfiltered personal reflection and documentation. The emphasis on simplicity and read-only past suggests respect for authentic self-expression without judgment or revision.
FW Ratio: 50%
Observable Facts
Post contrasts with other journaling apps: 'every journaling app out there wants you to organize things into folders and tags and templates.'
Design emphasizes freedom: 'I just wanted to write something down every day.'
Inferences
Deliberate avoidance of organizational constraints respects user autonomy in forming and expressing thoughts.
No review, curation, or templating mechanism preserves freedom of conscience.
Post describes a tool designed to enable participation in cultural life through personal expression and reflection. The emphasis on journaling as a form of personal documentation supports the right to participate in cultural and artistic life.
FW Ratio: 50%
Observable Facts
Tool enables daily writing and personal reflection, a form of cultural and artistic practice.
Source code is shared publicly on GitHub.
Inferences
Journaling is presented as an accessible practice supporting personal cultural participation.
Open-source model enables collective participation in cultural/technical creation.
Post describes a tool designed to support personal journaling without constraint, treating the user as a rational agent capable of self-expression. No explicit equality language, but the design philosophy respects user autonomy and dignity.
FW Ratio: 50%
Observable Facts
Product 'opens right up, stores everything locally in your browser' with no signup required.
Source code is published on GitHub, available to all.
Inferences
Universal access (no signup barrier) reflects implicit commitment to equality of opportunity.
Open source publication suggests respect for transparency and user agency.
Post does not explicitly address freedom of movement. However, the tool is web-based and accessible globally, implicitly supporting access from any location without restriction.
FW Ratio: 67%
Observable Facts
Tool is deployed on Cloudflare, a global CDN suggesting worldwide availability.
Product is live at ichinichi.app, accessible from any internet-connected location.
Inferences
Global deployment suggests no geographic restrictions on access to the journaling tool.
Post does not explicitly address duties to community, but the open-source model and emphasis on simplicity suggest respect for others' rights to use, modify, and benefit from the tool.
FW Ratio: 67%
Observable Facts
Source code is made available publicly for community use.
Tool is designed to be simple and non-intrusive.
Inferences
Open publication suggests recognition of community's interest and right to use the software.
Post frames journaling as a personal act of daily expression and documentation, aligned with UDHR's emphasis on human dignity and individual autonomy. No explicit human rights framing, but implicit respect for the person's right to record their own life.
FW Ratio: 50%
Observable Facts
Post emphasizes simplicity: 'One note per day. That's the whole deal.'
Post highlights personal benefit: 'The read-only past turned out to be the thing that actually made me stick with it.'
Inferences
Framing of journaling as a personal, friction-free practice suggests respect for the individual's autonomy and introspection.
Post does not explicitly address property rights, but the open-source model (GitHub publication) and local-first storage architecture implicitly support user ownership and control of personal data and code.
FW Ratio: 50%
Observable Facts
Source code is available at https://github.com/katspaugh/ichinichi.
Data stored locally in user's browser by default, under user control.
Inferences
Open-source publication respects community and individual ownership of software tools.
Local storage model ensures user retains possession and control of personal journal data.
Post does not explicitly address freedom of assembly or association. However, the open-source and community-oriented nature (GitHub publication, HN discussion) implicitly supports collective participation in software development.
FW Ratio: 67%
Observable Facts
Source code is published on GitHub, enabling community participation and contribution.
Post is shared on Hacker News, a community platform for discussion.
Inferences
Open-source model enables collective collaboration and association in software development.
Post does not explicitly address social and international order, but the open-source publication and global deployment suggest support for a framework in which these rights are realized.
FW Ratio: 67%
Observable Facts
Tool is deployed globally on Cloudflare.
Source code is published and shared freely.
Inferences
Global and open approach suggests commitment to universal human rights realization.
Post does not explicitly address social security or welfare. However, the emphasis on mental health benefits of journaling ('The read-only past turned out to be the thing that actually made me stick with it') implicitly acknowledges the human need for wellbeing and psychological support.
FW Ratio: 50%
Observable Facts
Post emphasizes psychological benefit: 'The read-only past turned out to be the thing that actually made me stick with it.'
Inferences
Recognition of journaling as a wellbeing practice aligns with the right to social security and standard of living.
Tool implements end-to-end encryption as a structural feature. Data stored locally in browser by default, minimizing exposure. Optional cloud sync available but encrypted. No signup required, reducing data collection footprint.
Tool implements structural features that enable expression: no signup barrier (freedom to use), local storage and encryption (freedom from surveillance), no editorial gatekeeping, no moderation. HN thread itself is a platform for public expression of the tool creator's ideas.
Local storage in browser means the user retains possession of their journal data. Source code is published under an open license (assumed), supporting user and community ownership.
Tool is free and open-source, enabling all users to participate in personal cultural expression. GitHub publication supports cultural participation through shared code.