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.

  • Tenebris Nox@feddit.uk
    link
    fedilink
    English
    arrow-up
    2
    ·
    22 hours ago

    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@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      19 hours ago

      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.
    • rockstar1215@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      You can if you can run docker on it. As of now that is the documented path. It is possible to run it without docker but that need some documentation.

  • Mugita Sokio@lemmy.today
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    2 days ago

    It looks like this is open-source, but not Free Software, since you’re using PolyForm Noncommercial 1.0.0 as your license. Did you consider other licenses like any of the GPL licenses or BSD-2/3 Clause license, Apache-2.0 or any of the others that fit the Free Software classification?

    • rockstar1215@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      1
      ·
      edit-2
      2 days ago

      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@lemmy.today
        link
        fedilink
        English
        arrow-up
        1
        ·
        23 hours ago

        I see where you’re coming from, and can understand why you decided to prevent commercial repackaging and tivoization. Source-available sounds like it’s proprietary, which I assume it’s not.

        • rockstar1215@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          19 hours ago

          Thanks! My main focus right now is simply building the product, the license doesn’t matter much if the product itself isn’t good yet. It’s always easier to move to a less restrictive license later than to go the other way, so this is the approach I’m starting with.

    • rockstar1215@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      35
      arrow-down
      10
      ·
      edit-2
      2 days ago

      Thank you. Yes, as a software engineer, not using AI for tasks where it can significantly accelerate development would be unrealistic. Much of the boilerplate code such as database ORM models, serialization/deserialization logic, and documentation was written with AI assistance, as mentioned in the project’s README. No developer writes such consistent and complete API docs :D. The architecture, UI/UX and harder aspects (see below) are done by me. 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@piefed.social
        link
        fedilink
        English
        arrow-up
        21
        ·
        2 days ago

        Not sure I agree with some of the assertion made there but regardless thanks for the reply. I look forward to checking it out.

      • Flax@feddit.uk
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        1
        ·
        2 days ago

        You sure it’s secure? How are you handling security? Sometimes AI can neglect security

        • rockstar1215@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          10
          arrow-down
          1
          ·
          edit-2
          2 days ago

          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.

    • rockstar1215@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 days ago

      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.