Inspiration
There are countless journaling apps available, but what if you want to talk about your day instead of writing it down? What if you prefer to "voice" your journal entries rather than type them out? Imagine having someone to talk to about your day, without the fear of judgment, while your journal entries are automatically recorded. This is the future of journaling. That’s why we created SoulSpeak, your companion for mindful mornings, productive days, and peaceful nights! The idea for this app came from asking a simple question: what are today’s journal apps missing, and how can we make journaling more meaningful and accessible? We wanted to create something that anyone can use—an app that naturally fits into your daily routine and truly supports personal growth. That’s how SoulSpeak was born. It's your very own voice journal—simple, supportive, and designed to improve your life. Try it out and see the difference for yourself!
What it does
SoulSpeak simplifies the journaling experience and supports mental well-being by allowing users to talk through their thoughts instead of writing them down. Speaking out loud often makes it easier to process emotions, and with the help of an empathetic AI companion, users can express themselves freely—without the fear of judgment. To personalize the experience, users are prompted during sign-up to set preferred times for a morning and evening call. These calls happen automatically and are guided by the AI, which is designed to support, not dominate, the conversation. The user leads the discussion, choosing what they want to talk about. After each call, the app generates a journal entry summary—highlighting the key points of the conversation. These entries are saved and can be revisited at any time, just like a traditional journal. Our clean, user-friendly interface makes browsing past entries simple and enjoyable. In addition, each session provides a mood scale, offering insights into how the user felt during the conversation—such as happiness, sadness, anger, or calmness. This feature helps users track emotional patterns over time and better understand their mental state.
How we built it
SoulSpeak is built using Next.js and React for the frontend, providing a smooth, modern user experience. On the backend, we’ve used Python with FastAPI to power the core functionality of the app. To deliver a seamless journaling experience, we’ve integrated several technologies:
- Bland AI handles the scheduled voice calls, which are carefully fine-tuned to guide meaningful conversations with the user.
- The conversation transcripts are then analyzed by Gemini, which generates a written journal entry and provides a mood breakdown—including levels of happiness, sadness, anger, and calmness.
- We use Supabase, a relational database, to securely store all user data including journal entries, mood insights, and call history.
Together, these technologies create a thoughtful and intuitive journaling experience designed to support mental well-being.
Challenges we ran into
We faced several challenges throughout the development of this app, starting with the initial setup. Since the app needed to coordinate between multiple services, ensuring smooth and efficient communication between them was critical.
Choosing the tech stack was one of the first major decisions—and it wasn’t easy. After a lot of back and forth, we landed on Next.js for the frontend because of its intuitive routing system and overall developer experience. For the database, we initially considered MongoDB, but ultimately chose Supabase, a relational database, because it better suited the structure and needs of our project.
Another major hurdle was splitting the backend from the Next.js frontend. Some of the API calls we needed to make weren’t possible within Next’s built-in API structure, especially given the complexity of features like scheduled voice calls and AI processing. This separation made development more flexible but also introduced complexity—sometimes a single backend commit would break the entire system, and other times a frontend change would cause unexpected errors.
The biggest blocker we ran into involved integrating the Bland AI API—a crucial part of our app. At first, we struggled just to get the API to respond at all, which was a major concern since our entire concept relied on it. After resolving that issue, we hit another roadblock: retrieving the transcript from each call, which was essential for passing the data to Gemini for journal entry and mood analysis. We eventually realized that we weren’t receiving the response because we were requesting it before the call officially ended. We had to use webhooks to deal with this issue.
Lastly, one of the biggest challenges was ensuring that users received their scheduled calls at the exact times they selected. Since servers don’t run continuously by default, we needed a reliable way to trigger actions even when no one was actively using the app. Even though we were not able to resolve this issue due to time constraints, we have a better understanding of the problem and would be solving it after the hackathon.
Tackling problems like these is what pushes us to grow as developers. It’s through these real-world challenges that we learned the most and became better at building robust, scalable applications.
Accomplishments that we're proud of
We’re incredibly proud of what we were able to accomplish. Despite the time crunch, we successfully built our MVP within the deadline. While there were a few features we had to leave in the backlog, our main focus was always on delivering a strong and functional MVP—and we’re really happy with the results. We’re excited about where it can go from here!
What we learned
This project was an incredible learning experience for all of us. Along the way, we encountered a variety of challenges that pushed us to think critically and adapt quickly. Every layer of the tech stack was unfamiliar to at least one team member, which meant that each of us had a unique opportunity to grow and expand our technical skill sets. All in all, the journey was filled with valuable lessons, both in problem-solving and collaboration.
What's next for SoulSpeak
Looking ahead, we hope to transition this project into a mobile application. While time constraints during the hackathon led us to build a web-based solution, we believe a mobile app would offer a more seamless and accessible experience for users. Another improvement we’d like to implement is making the phone calls synchronous. Currently, our Python backend queues the calls, which introduces a delay in execution. While this setup worked for our hackathon prototype, it wouldn’t scale efficiently. For a production-ready system, synchronous handling would ensure real-time communication and a smoother user experience.
Log in or sign up for Devpost to join the conversation.