This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
Open-source development isn't just about writing code. It's also about debugging, reading documentation, exploring unfamiliar projects, and learning from mistakes.
But it's easy to forget what we've learned along the way.
I built Open-Source Field Journal called devReflections, a lightweight journaling app for developers to capture their technical experiences and reflect on them with help from AI.
Users can write a free-form entry or start with a prompt. The AI responds with a reflective question to help them explore what they learned. Entries can be saved as Markdown, keeping the journal portable and under the user's control.
The goal is not to track productivity or judge how much someone accomplished. It's to make space for reflection, helping people recognize what they've learned, understand their experiences, and consider what matters to them.
Whether you're an independent developer, an open-source contributor, a full-time tech worker, or someone learning new skills, taking a moment to reflect can help you see beyond the daily to-do list.
devReflections runs on your machine using Python and Ollama, with Gemma as the default AI model. No hosted web app is required.
Here are few steps showing the core workflow:
Built with Python, Ollama, and Gemma, with Markdown for portable journal entries.
I built devReflections in Python, keeping the application lightweight and focused on the reflection experience rather than adding a complex interface or relying on a cloud-based AI service.
User
|
v
Choose a starter prompt or write freely
|
v
Describe today's work or learning
|
v
Ollama runs Gemma locally
|
v
AI generates one reflective question
|
v
User writes their reflection
|
v
Save entry as a Markdown file
The application connects to Ollama's local API to generate reflective questions. Gemma (gemma4:e4b) is the default model, but the model is configurable so users can experiment with other models supported by their local Ollama setup.
I wrote a dedicated system prompt to guide the AI's behavior. Instead of giving advice, judging productivity, or writing entries on the user's behalf, the model acts as a reflection companion. It generates one concise, context-aware question to help users explore their experiences, decisions, and lessons learned.
The application runs through a Python command-line interface. Users describe what they worked on or learned, receive a reflective question from the model, and can record their thoughts in response.
Journal entries are saved as Markdown files, organized by year and month. This keeps the content human-readable, portable, and easy to use outside the application.
I separated the journaling logic from the command-line entry point, making the code easier to test and extend. I also added automated tests and GitHub Actions workflows for Python code quality and Markdown linting.
My goal was to keep the core experience small and dependable: local AI to encourage reflection, plain-text files to preserve the user's writing, and a simple workflow that doesn't turn reflection into another productivity system.
Personal reflections can include unfinished ideas, mistakes, and thoughts people may not want to send to a third-party service.
Using an open-weight model locally gives users more control over where their journal entries are processed. It also lets developers experiment with different models instead of depending on a single proprietary AI provider.
For me, open innovation isn't just about accessing a model. It's about having a freedom to explore how AI can support everyday human activities in ways that remain personal and meaningful.