Building Inner Journey’s First Prototype – A Fast Start 🚀
Hello again, Inner Journey gang! 👋
Remember when we said we were standing at the edge of a blank page? Well, now we've drawn the first lines – and suddenly our sketch has started to breathe! After two intense weeks since the start, we've gone from dreams to a first prototype of Inner Journey, a platform dedicated to heart-centered personal growth through coaching and community. But it’s not without its growing pains. Here’s the journey so far – and a little surprise that made us cheer. 🎉
🌪️ From Chaos to Clarity: Structuring Our Prototype
Ten days ago, on March 10, we wrote about our step into the unknown – a backend with FastAPI, tests with Sinch and VedAstro, and a vision of technology-supported insights to enhance user experiences with coaches and community. But we quickly realized we were trying to run before we could walk.
Our initial attempts (around March 21) felt chaotic: SSL certificates were fixed, Google Cloud was up and running, but the code was sprawling. We had a single main.py trying to handle everything – from API calls to fetching astrology data. It felt overwhelming! 😵💫
So, we took a crucial step back and restructured. We split the code into clear, manageable modules: routes in api/, services for business logic in services/, and data models in models/. This instantly made development easier and allowed us to focus on creating a truly user-friendly platform for self-improvement.
We tested sending birth data (e.g., "1990-05-15, 14:30, Stockholm") to VedAstro and got back responses like “Moon in the fourth house”. Instead of getting lost in astrological details, we shifted our focus: how could we use this data to provide practical insights that genuinely help users connect with coaches and the community?
That’s why we integrated Google Gemini – to transform raw data into meaningful guidance, setting the stage for the next exciting phase.
✨ A Magical Moment: The Prototype Speaks!
After wrestling with API keys and the classic CORS configuration issues (yes, we forgot that crucial step initially 🤦), we finally ran a live test. We sent a simple mood rating ("3 out of 5") and a personal goal ("get more focus") to our new endpoint /gemini/getActivation. The response we received felt like magic:
“Your energy is peaking when you organize your day – try a short list now.”
For the first time, it felt like Inner Journey wasn’t just lines of code, but a potential companion on the path to personal growth. A tool that could guide users toward meaningful actions and foster deeper connections within our community and with coaches. We definitely cheered loudly in the office – and yes, coffee was spilled on a laptop in the excitement! 😅☕
🌱 Growing Pains: Lessons from the Build
This rapid development phase has already taught us valuable lessons, helping us refine the platform for everyone involved – users, coaches, and the community:
-
💡 Modularity is Key: Breaking down logic into separate files like
gemini_service.pyandfirebase_service.py(which now saves results inFirestore) dramatically improved code manageability. This ensures a smoother, more reliable experience for users engaging in their self-development journey. -
👤 User Experience First: We initially considered using
DTMF(touch-tones) for input, but quickly realized it was overly complicated for users. We pivoted to a simple web form, making it much easier for people to interact with the platform, find coaches, and connect with the community. -
🧪 Test Early, Test Often: An early warning about untested code proved accurate. Issues piled up until we implemented systematic testing for each endpoint using tools like
curl. Consistent testing is vital for a stable platform that supports personal transformation. Here’s how we tested the/gemini/getActivationendpoint:curl -X POST "http://localhost:8080/gemini/getActivation" \
-H "Content-Type: application/json" \
-d '{"mood": 3, "goal": "get more focus"}'
We're excited about these first steps and learning quickly as we build Inner Journey. Stay tuned for more updates!
