Meet Journiv! A Self-Hosted, Privacy-First Journaling App (Day One/Apple Journal Alternative)
Hello everyone!
TL;DR:
Journiv is a a beautiful, self-hosted, privacy-first journaling app with mood tracking, daily prompts, and meaningful insights. The mission is simple: your memories should always stay yours. Own them, don’t rent them.
Journiv 0.1.0-beta.4 is now live on GitHub and fully Docker-hostable.
Start owning your thoughts and memories forever and keep them completely private.
The Story Behind Journiv
I got into self-hosting last year and while exploring options journaling solution, I realized there wasn’t a truly modern, self-hosted equivalent to Day One or Apple Journal. Most alternatives were either general note apps or old abandoned projects.
I wanted something focused on journaling with:
- “On This Day” memories
- Prompt-based journaling
- A clean, minimal, distraction-free writing experience
So… I built my own: Journiv, a beautiful (at least I am trying to make it so), self-hosted, privacy-first journaling app with mood tracking, daily prompts, and meaningful insights.
Get Involved
Give Journiv a try, share your feedback and report issues. It means a lot at this stage.
GitHub - journiv/journiv-app: Journiv - Self hosted private journaling app
Journiv - Self hosted private journaling app. Contribute to journiv/journiv-app development by creating an account on GitHub.GitHub
like this
CTDummy
in reply to rockstar1215 • • •rockstar1215
in reply to CTDummy • • •It took me 2 months of late nights (hundreds of hours so far) and spending every minute outside of job and family on this and without AI would have taken much more. What you see now is the result of many iteration, refining the UI/UX, redesigning the database, and reworking the overall architecture, flighting with CORS configs make video player work on web in flutter etc etc... much of which isn’t visible from the outside.
CTDummy
in reply to rockstar1215 • • •like this
fif-t likes this.
rockstar1215
in reply to CTDummy • • •Flax
in reply to rockstar1215 • • •rockstar1215
in reply to Flax • • •Please read the documentation linked in the ReadMe and you can try out all the security features.
There are docs for auth model, the code around it, the limitation of in-mem tokens, the clear documentation around token handling, the code to support CORS, trusted host middleware, CSP, HSTS, rate limiting. You can read the env.template and configure and try it out. I doubt there are self hosted (vibe coded, ai-assisted or even non vibe coded) existing apps which have these security feature in v0.1 or even later.
Like mentioned in comment and ReadMe the project is written with AI assistance not vibe coded or AI driven development. If you will read the code, look at design and db model you will find the answers you are seeking. Having said that I am always looking to make the project better so if you find anything which can be improved please open a PR.
Thank you.
northernlights
in reply to rockstar1215 • • •rockstar1215
in reply to northernlights • • •Mugita Sokio
in reply to rockstar1215 • • •rockstar1215
in reply to Mugita Sokio • • •Journiv is source-available but not “Free Software” under the FSF/OSI definition. I chose the PolyForm Noncommercial 1.0.0 license intentionally to keep the code open for personal and educational use which allow hosting for non-commercial while preventing "commercial" redistribution or hosting for commercial gain without permission.
My motivation behind Journiv is to give a solution to self hosted people like me and other a journal first experience on par with any major cloud offering so that they don't have to mold their usage to a notes app and be unsatisfied and frustrated like me. This license enables everyone in the self hosted community to use Journiv.
I did consider permissive and copyleft licenses (Apache, GPL, BSD, etc.), but sustainability is a major concern for this project. I have already spent hundreds of hours on this over last couple of months and there is so much more to build (take a look at the issues page of github repo). I want to keep development open and transparent while ensuring that commercial entities can’t simply repackage and profit from it.
Mugita Sokio
in reply to rockstar1215 • • •rockstar1215
in reply to Mugita Sokio • • •warmaster
in reply to rockstar1215 • • •rockstar1215
in reply to warmaster • • •No.
There are feature requests to add support for imports from various places. If you plan to use the app please open an issue.
Thanks.
oyzmo
in reply to rockstar1215 • • •rockstar1215
in reply to oyzmo • • •Oha
in reply to rockstar1215 • • •rockstar1215
in reply to Oha • • •Thanks for your interest. It is possible but a little work as it will require one to have Python interpreter installed and do few things to run it. Yes, thise instructions are not there. I will add them. Do you have Python installed?
Oha
in reply to rockstar1215 • • •rockstar1215
in reply to Oha • • •Shertson
in reply to rockstar1215 • • •rockstar1215
in reply to Shertson • • •Shertson
in reply to rockstar1215 • • •rockstar1215
in reply to Shertson • • •shiroininja
in reply to rockstar1215 • • •rockstar1215
in reply to shiroininja • • •Tenebris Nox
in reply to rockstar1215 • • •I've been running Journiv since Monday and really liking it. I'd really like to see a straightfoward means of exporting/restoring journals, though. The export says coming soon.
One of the reasons I stopped using Memos - which I thought was good - was because the devs were telling users on Discord that there was no need for backups because you should have the skill to manually locate and open up the database and export entries yourself. I think that sort of stuff makes or breaks apps like this in which people put aspects of their lives into.
rockstar1215
in reply to Tenebris Nox • • •Thank you for adopting Journiv!
Yes the export will be added. I do agree with you that a human accessible export is very important. I am a software engineer who knows how to make docker backups etc etc but I never do it 😀 I know I can set it be automated but the friction is too high to do it.
Journiv is being built for out of need and to be the solution of owning memory so it long term strategy is at it's core. I am personally using it for all my memories with my young family so it will be devastating to lose it because of backup friction.
My plan for Journiv is:
1. 1 Click export which periodically created a static HTML site with all the entries and media. Zips it and put in local location configured by user. Since journiv run in a docker container the first phase will be putting it but not tied to docker container lifecycle. Second phase will be integration with a network file share where Journiv can automatically dump the export. Once I configure it I want it to just work not fiddle or worry about making backup. If backup fails I get some discord/telegram notification or within Journiv app.
2. Flat JSON export with media. HTML static site will allow user to see entries but JSON export is critical so that the entries can also be exported some where else if the need be.
Tenebris Nox
in reply to rockstar1215 • • •rockstar1215
in reply to Tenebris Nox • • •rockstar1215
in reply to Tenebris Nox • • •Here is sneak peek github.com/journiv/journiv-app…
Built in a way that we can easily make and keep backup without fiddling with docker.
[FEATURE] Backup/restore
Raman236 (GitHub)