Inspiration
Journaling is one of the simplest ways to reflect on life, yet many journal applications focus only on storing text. I wanted to create something that went beyond a digital notebook by helping users understand their emotional well-being over time.
Ripple was inspired by the idea that every journal entry creates a "ripple"—a small moment that contributes to a much bigger picture. By combining mood tracking, visual statistics, and AI-generated reflections, Ripple transforms everyday journaling into a more meaningful and insightful experience.
What it does
Ripple is an AI-powered desktop journaling application that allows users to:
Create, edit, and delete journal entries Record their mood with every entry Browse previous entries through an interactive calendar Visualize emotional trends with statistics and mood charts Track journaling streaks and writing habits Search previous journal entries instantly Export journals as PDF documents Generate AI-powered reflections and summaries using Google Gemini
All journal data is stored locally using SQLite, giving users control over their personal information while still benefiting from AI-powered insights.
How we built it
Ripple was developed in C++ using Qt 6 as a desktop application framework.
The application uses:
Qt Widgets for the user interface Qt SQL to communicate with an SQLite database Qt Charts to visualize mood distributions Qt Network to communicate with the Google Gemini API SQLite for local journal storage CMake as the build system
The application was designed using a multi-page interface, separating functionality into Dashboard, Journal, Calendar, Statistics, AI Insights, and Settings pages for a clean and intuitive user experience.
Challenges we ran into
One of the biggest challenges was integrating multiple technologies into a single desktop application. Building the AI integration required learning how to communicate with external APIs using Qt's networking classes while ensuring journal entries remained organized and accessible.
Designing meaningful statistics from journal data was another challenge. I experimented with different ways of presenting information before settling on mood charts, activity heatmaps, writing streaks, and reflection summaries.
I also encountered several challenges related to Git, Qt configuration, and UI design while developing the project, all of which helped us better understand desktop application development.
Accomplishments that we're proud of
I am proud that Ripple evolved into much more than a basic journal application.
Some highlights include:
Successfully integrating Google Gemini AI into a desktop application Building a complete CRUD journaling system Creating an interactive statistics dashboard Developing mood analytics and writing streak tracking Implementing PDF export functionality Designing a clean, modern dark-themed user interface Publishing the project on GitHub with complete documentation
Most importantly, we're proud that Ripple feels like a complete application rather than just a proof of concept.
What we learned
Developing Ripple significantly improved our understanding of desktop application development using Qt.
Throughout the project we learned:
Building responsive user interfaces with Qt Widgets Managing relational data using SQLite Working with REST APIs through Qt Network Organizing larger C++ projects into maintainable components Using Git and GitHub for version control and project management Designing software around user experience rather than just functionality
The project also demonstrated how AI can enhance traditional desktop applications without replacing the user's own thoughts and experiences.
What's next for Ripple
Ripple has plenty of room to grow.
Some future improvements include:
Password-protected journals Multiple journal collections Markdown support Weekly AI-generated wellness reports Advanced mood trend predictions Cloud synchronization across devices Custom themes and personalization Image and voice journal entries Cross-platform installers for Windows, Linux, and macOS
My long-term vision is for Ripple to become a personal reflection companion that combines thoughtful journaling with meaningful AI-powered insights while keeping users in control of their own data.
Log in or sign up for Devpost to join the conversation.