<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lillygrace</title>
    <description>The latest articles on DEV Community by Lillygrace (@lillygrace_213530f21c9600).</description>
    <link>https://dev.to/lillygrace_213530f21c9600</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4152788%2Fbda50f2e-e30a-4d19-9be0-ccd1bc1f5b56.png</url>
      <title>DEV Community: Lillygrace</title>
      <link>https://dev.to/lillygrace_213530f21c9600</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lillygrace_213530f21c9600"/>
    <language>en</language>
    <item>
      <title>I built my sister Nissy a private space to write, reflect, and reconnect with her own thoughts—with Gemma running locally</title>
      <dc:creator>Lillygrace</dc:creator>
      <pubDate>Mon, 05 Oct 2026 17:52:05 +0000</pubDate>
      <link>https://dev.to/lillygrace_213530f21c9600/i-built-my-sister-nissy-a-private-space-to-write-reflect-and-reconnect-with-her-own-thoughts-with-22m0</link>
      <guid>https://dev.to/lillygrace_213530f21c9600/i-built-my-sister-nissy-a-private-space-to-write-reflect-and-reconnect-with-her-own-thoughts-with-22m0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;My Journal Book&lt;/strong&gt; for my sister &lt;strong&gt;Nissy Evangelin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;In Nissy's words:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“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.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I wanted to build something that went beyond:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write → Save → Forget.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My Journal Book is built around:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WRITE → REFLECT → REVISIT → CONNECT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can write normally, browse old entries, search and favorite them, explore different writing ideas, and return to thoughts from the past.&lt;/p&gt;

&lt;p&gt;The AI helps with the reflection part.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Gemma?
&lt;/h2&gt;

&lt;p&gt;Journal entries can be extremely personal.&lt;/p&gt;

&lt;p&gt;I didn't want the experience to be:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Private thought → cloud API → third-party server → AI response&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I built the AI around &lt;strong&gt;Ollama + Gemma&lt;/strong&gt;, running locally on the user's computer.&lt;/p&gt;

&lt;p&gt;Gemma can help with reflection questions, observations, connections between selected entries, and continuing an older thought.&lt;/p&gt;

&lt;p&gt;The important part is that the journal itself doesn't need a cloud AI service.&lt;/p&gt;

&lt;p&gt;And AI isn't required.&lt;/p&gt;

&lt;p&gt;You can still write, edit, search, revisit, favorite, export, and restore your journal without Ollama.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The journal is the product. AI is there when you want another perspective.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ideas Page
&lt;/h2&gt;

&lt;p&gt;I didn't want to make a page with 100 generic AI-generated prompts.&lt;/p&gt;

&lt;p&gt;Instead, Ideas gives you different ways into writing:&lt;/p&gt;

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

&lt;p&gt;The goal is not to tell you what to think.&lt;/p&gt;

&lt;p&gt;It's to help you start writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Showing It to My Sister
&lt;/h2&gt;

&lt;p&gt;I showed My Journal Book to Nissy after building the first version.&lt;/p&gt;

&lt;p&gt;She tried the writing page, explored the Ideas section, and then I showed her the local AI reflection.&lt;/p&gt;

&lt;p&gt;Her reaction was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I like that I can just write whatever I'm thinking and then have something help me think about it. This is really nice.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was the part that mattered most to me.&lt;/p&gt;

&lt;p&gt;I wasn't trying to build the most complicated AI application.&lt;/p&gt;

&lt;p&gt;I wanted to build something that &lt;strong&gt;one person I care about would actually use&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping It Private
&lt;/h2&gt;

&lt;p&gt;The journal uses browser storage, so there is no account or cloud database required.&lt;/p&gt;

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

&lt;p&gt;The hosted version serves the application, but the journal data remains in the browser.&lt;/p&gt;

&lt;p&gt;For AI features, the app communicates with the user's local Ollama instance rather than a hosted AI API.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I deliberately kept the stack simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Gemma&lt;/li&gt;
&lt;li&gt;Service Worker&lt;/li&gt;
&lt;li&gt;PWA&lt;/li&gt;
&lt;li&gt;localStorage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI layer is separated into &lt;code&gt;ai.js&lt;/code&gt;, while the main journal experience lives in &lt;code&gt;app.js&lt;/code&gt;.&lt;/p&gt;

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

&lt;p&gt;I didn't use React, Next.js, a cloud database, authentication, LangChain, RAG, or an agent framework.&lt;/p&gt;

&lt;p&gt;For this project, I didn't need them.&lt;/p&gt;

&lt;p&gt;I wanted the technology to stay out of the way of the actual problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/U9ciarmTOMw" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://my-journal-book.onrender.com/" rel="noopener noreferrer"&gt;https://my-journal-book.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lillygrace-l" rel="noopener noreferrer"&gt;
        lillygrace-l
      &lt;/a&gt; / &lt;a href="https://github.com/lillygrace-l/My-Journal-Book" rel="noopener noreferrer"&gt;
        My-Journal-Book
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;My Journal Book&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A private journal that stays yours.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Write freely, revisit old pages, and use local AI to notice connections in your own words — without an account or a cloud database.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My Journal Book is an &lt;strong&gt;offline-first journaling PWA&lt;/strong&gt; built for one person. Your journal lives in the browser, while optional AI runs through &lt;strong&gt;Ollama on your own device&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The project is intentionally small and personal: the journal itself is the product, and AI sits behind the experience rather than replacing it.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What makes it different&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;My Journal Book is built around a simple loop:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WRITE → REFLECT → REVISIT → CONNECT&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Writing&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Calm notebook-style writing interface.&lt;/li&gt;
&lt;li&gt;Optional mood and tags on new entries.&lt;/li&gt;
&lt;li&gt;Word count and local/offline status…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/lillygrace-l/My-Journal-Book" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For this project, Gemma isn't just there because I needed an open model for the challenge.&lt;/p&gt;

&lt;p&gt;It changes what the product can be.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;For a private journal, &lt;strong&gt;where the AI runs is part of the product&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Thing I Learned
&lt;/h2&gt;

&lt;p&gt;Building for one person changes how you make decisions.&lt;/p&gt;

&lt;p&gt;Whenever I wanted to add something, I could ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Would Nissy actually use this?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That question helped me avoid turning the project into another complicated AI dashboard.&lt;/p&gt;

&lt;p&gt;The AI doesn't need to take over the journal.&lt;/p&gt;

&lt;p&gt;It just needs to help the person notice something in their own words.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;I started with something my sister told me.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;So I built her a place to write them down, come back to them, and sometimes see them from another angle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write. Reflect. Revisit. Connect.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's &lt;strong&gt;My Journal Book&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma&lt;/strong&gt; — AI-powered reflection using Gemma through local Ollama inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render&lt;/strong&gt; — deployed live application.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
