Inspiration

Journaling has always been a powerful tool for self-discovery. It helps oneself untangle their thoughts, reflect on their emotions, and make sense of their experiences. Journaling is a way to navigate life's challenges while cultivating mindfulness, creativity, and self-awareness.

But sometimes, I wish journaling felt a little less lonely. There are moments when I want to talk through my thoughts, have someone respond, or even just feel like I'm being heard. That’s why we created NomiChan—an AI-powered journaling companion.

She’s more than just a chatbot. She understands what I write, offers insights, and engages in meaningful conversations about my journal entries. She’s a safe space—someone I can confide in, brainstorm with, and reflect alongside. Whether it’s helping me process emotions, guiding me through self-exploration prompts, or simply being there, she makes journaling feel more interactive and personal.

What it does

NomiChan isn’t just a journaling app—it’s an immersive experience in self-discovery. With an AI-powered companion by your side, journaling becomes more than just writing—it’s a safe space conversation.

✨ Your AI Companion – Your AI companion will understand, analyze, and engage with your thoughts. She recognizes patterns, emotions, and themes to offer insights that help you see the bigger picture.

🗣️ Real-Time Dialogue – Stuck on a thought? Need a fresh perspective? Talk to your AI companion—she’ll respond with thoughtful questions, validation, or even creative prompts to deepen your reflection.

📖 Interactive Reflection – Your AI remembers past entries, helping you track your personal growth, uncover recurring emotions, and gently guide you toward new realizations.

Side-by-Side Journaling – Write while your AI companion sits at her desk, responding in real-time. It’s like having a thoughtful, always-present friend to navigate your thoughts with you.

🎨 Personalized Expression – Highlight key moments, add aesthetic stickers, and visually organize your entries to make them feel yours.

With NomiChan, journaling isn’t just about recording the past—it’s about shaping the future, one meaningful conversation at a time.

How we built it

We built NomiChan to be more than just a simple journaling app. Inspired by the Open-LLM VTuber chat, we integrated the GPT model to power the dynamic and context-aware conversation of your 2D avatar. To bring conversations to life, we incorporated Fisher AI for realistic and expressive voice interactions.

To make interactions even more meaningful, we developed an algorithmic memory system that feeds past journal content into GPT. This allows NomiChan to randomly but naturally prompt conversations about past journal topics, helping users reflect on their thoughts, recognize patterns, and discover more about themselves over time.

On the frontend, we designed two intuitive pages using Vanilla Javascript, HTML, and CSS, ensuring a smooth and user-friendly experience. For the core journaling feature, we leveraged PSPDFKit, enabling full customization—users can highlight text, add stickers, and personalize their entries to make their journal truly their own.

On the backend, we implemented a Flask server to locally log user chat history and journal content in JSON files, ensuring seamless integration between the AI conversations and journaling experience.

Challenges we ran into

Building NomiChan came with its own set of challenges. One of the biggest hurdles was creating a 2D AI companion that feels human and natural. We wanted the avatar to engage in meaningful conversations, respond fluidly, and recall past journal entries in a way that felt organic. Finding the right balance between realism and responsiveness while integrating GPT LLM and Fisher AI took significant fine-tuning. Another challenge was managing server deployments efficiently. Since the app runs multiple main servers simultaneously, we had to carefully track and manage ports to prevent conflicts. Ensuring seamless communication between the Flask backend, React frontend, and AI processing systems required careful orchestration. Despite these challenges, we worked through each obstacle, refining the AI's conversational flow and optimizing the infrastructure to provide a smooth and immersive journaling experience.

Accomplishments that we're proud of

We’re proud of bringing the AI companion to life with GPT LLM for natural conversations and Fisher AI for expressive voice interactions where one could have not just a personal journal, but a friend who could grow with them as time goes on.

What we learned

Throughout the development of NomiChan, we deepened our understanding of several key technologies. We gained more experience with Flask in managing backend logic and handling data storage, while refining our skills in Vanilla Javascript for frontend communication and real-time interactions. Working with PSPDFKit enhanced our knowledge of PDF manipulation, allowing us to create a fully customizable journaling experience. Additionally, Docker became an invaluable tool in managing development environments and simplifying deployment. We also explored technologies we couldn't fully apply, like Three.js. While we didn't integrate it this time, we gained insights into its capabilities for future projects, particularly in enhancing 3D interactions and visual elements. This experience expanded our technical toolkit and opened new doors for future innovation.

What's next for NomiChan

We will also train the avatar to recognize user emotions during the conversation, fostering a sense of understanding and comfort for users as they reflect on their thoughts. Given the sensitive nature of journaling, enhancing data security and privacy features will also be a priority. We will implement end-to-end encryption, secure cloud storage, and customizable privacy settings to ensure that journal entries remain confidential and protected. These improvements will make NomiChan a secure and emotionally aware companion for self-reflection.

Built With

Share this project:

Updates