DEV Community

Lillygrace
Lillygrace

Posted on

I built my sister Nissy a private space to write, reflect, and reconnect with her own thoughts—with Gemma running locally

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built My Journal Book for my sister Nissy Evangelin.

It started with a problem she told me about: she wanted to journal and get her thoughts out, but sometimes didn't know what to write, and when she did, it was easy to forget about it afterward.

She wanted a place to write without making everything structured or perfect, and come back to those thoughts later when she needed them.

In Nissy's words:

“Sometimes I have so many thoughts in my head, but I don't know how to put them into words. And when I write something down, I don't always go back and look at it again.”

So I wanted to build something that went beyond:

Write → Save → Forget.

My Journal Book is built around:

WRITE → REFLECT → REVISIT → CONNECT

You can write normally, browse old entries, search and favorite them, explore different writing ideas, and return to thoughts from the past.

The AI helps with the reflection part.

Why Gemma?

Journal entries can be extremely personal.

I didn't want the experience to be:

Private thought → cloud API → third-party server → AI response

So I built the AI around Ollama + Gemma, running locally on the user's computer.

Gemma can help with reflection questions, observations, connections between selected entries, and continuing an older thought.

The important part is that the journal itself doesn't need a cloud AI service.

And AI isn't required.

You can still write, edit, search, revisit, favorite, export, and restore your journal without Ollama.

The journal is the product. AI is there when you want another perspective.

The Ideas Page

I didn't want to make a page with 100 generic AI-generated prompts.

Instead, Ideas gives you different ways into writing:

  • Untangle — for thoughts that feel tangled
  • Keep — for something worth holding onto
  • Notice — for something you almost missed
  • Look Back — for revisiting the past
  • Curious — follow a thought further
  • Letter — write to someone
  • Heavy — put something down without solving it
  • Imagine — explore something that isn't true yet
  • Surprise Me — let the journal choose

The goal is not to tell you what to think.

It's to help you start writing.

Showing It to My Sister

I showed My Journal Book to Nissy after building the first version.

She tried the writing page, explored the Ideas section, and then I showed her the local AI reflection.

Her reaction was:

“I like that I can just write whatever I'm thinking and then have something help me think about it. This is really nice.”

That was the part that mattered most to me.

I wasn't trying to build the most complicated AI application.

I wanted to build something that one person I care about would actually use.

Keeping It Private

The journal uses browser storage, so there is no account or cloud database required.

There is also JSON and Markdown export/restore, so the user can keep a backup of their own writing.

The hosted version serves the application, but the journal data remains in the browser.

For AI features, the app communicates with the user's local Ollama instance rather than a hosted AI API.

That was an important requirement for me because I didn't want a private journal to depend on sending private thoughts somewhere else.

How I Built It

I deliberately kept the stack simple:

  • HTML
  • CSS
  • Vanilla JavaScript
  • Ollama
  • Gemma
  • Service Worker
  • PWA
  • localStorage

The AI layer is separated into ai.js, while the main journal experience lives in app.js.

The app can also work as a PWA, so the core journal experience remains available offline after the application shell has been cached.

I didn't use React, Next.js, a cloud database, authentication, LangChain, RAG, or an agent framework.

For this project, I didn't need them.

I wanted the technology to stay out of the way of the actual problem.

Demo

Live Demo: https://my-journal-book.onrender.com/

Code

My Journal Book

A private journal that stays yours.

Write freely, revisit old pages, and use local AI to notice connections in your own words — without an account or a cloud database.

My Journal Book is an offline-first journaling PWA built for one person. Your journal lives in the browser, while optional AI runs through Ollama on your own device.

The project is intentionally small and personal: the journal itself is the product, and AI sits behind the experience rather than replacing it.

What makes it different

My Journal Book is built around a simple loop:

WRITE → REFLECT → REVISIT → CONNECT

Instead of turning journaling into another chatbot, the app helps you return to the pages you already wrote and look at them from a slightly different angle.

Features

Writing

  • Calm notebook-style writing interface.
  • Optional mood and tags on new entries.
  • Word count and local/offline status…

Why Does Open Innovation Matter?

For this project, Gemma isn't just there because I needed an open model for the challenge.

It changes what the product can be.

A journal can contain deeply personal thoughts. Running Gemma locally means I can build AI reflection without requiring those thoughts to be sent to a hosted AI provider.

There is no AI API key in the frontend, no per-request cloud AI cost, and no requirement to create an account with an AI provider.

For a private journal, where the AI runs is part of the product.

One Thing I Learned

Building for one person changes how you make decisions.

Whenever I wanted to add something, I could ask:

Would Nissy actually use this?

That question helped me avoid turning the project into another complicated AI dashboard.

The AI doesn't need to take over the journal.

It just needs to help the person notice something in their own words.

Final Thought

I started with something my sister told me.

She wanted somewhere to put her thoughts, but sometimes didn't know how to start, and the things she did write could easily disappear into the past.

So I built her a place to write them down, come back to them, and sometimes see them from another angle.

Write. Reflect. Revisit. Connect.

That's My Journal Book.

Prize Categories

  • Gemma — AI-powered reflection using Gemma through local Ollama inference.
  • Render — deployed live application.

Top comments (0)