Overview

Mindscape is an Internal Family Systems (IFS) inspired journaling app designed for therapists and individuals who use the IFS framework for mental health and well-being.

IFS is a therapeutic model that views the mind as made up of multiple "parts" that can interact and work together to achieve balance and emotional healing. The app enables users to journal with their “parts,” map and track them, and utilize AI to summarize and reflect on their inner dialogues.


Role & Responsibilities

  • Conceptualization and Development: Built the app from end to end, transforming a personal journaling practice into a digital product.
  • Technology Stack: Developed using Ruby on Rails, PostgreSQL, Cloudinary, OpenAI’s API, and Stripe, with Heroku for hosting.
  • UX/UI Design: Iteratively crafted the interface and user experience, balancing functionality with a calming aesthetic.
  • Beta Testing: Conducted usability testing with early adopters and gathered feedback through community engagement, which helped prioritize features like Google Authentication and refine the journaling flow based on common user needs.  

Challenge

The primary goal was to digitize a manual parts journaling practice inspired by IFS while exploring the potential of AI-driven development with Cursor. Key challenges included:

  • Simplifying Complexity: Translating a nuanced, reflective mental health practice into an intuitive and accessible digital format.
  • Development Hurdles: As a beginner in web development, setting up authentication, database models, and payment integration proved initially challenging.
  • Design Constraints: Creating a tranquil, zen-inspired interface that aligned with the mental health focus without extensive upfront prototyping.

Research & Insights

To ensure the app resonated with its target audience, I engaged in several research methods:

  • User Research: Conducted interviews with therapists, experienced IFS users, and individuals exploring parts work to understand their journaling needs and pain points.
  • Community Feedback: Shared early prototypes with the 40k+ members of the IFS subreddit, generating actionable feedback.
  • Competitive Analysis: Evaluated existing mental health and journaling apps to identify feature gaps and opportunities.

Key Findings:

  • Users desired a serene, intuitive interface that supported reflection and emotional engagement.
  • Flexibility was critical for accommodating personal variations in IFS practices.
  • AI-assisted features, such as summarization, added significant value by offering insights and reducing the cognitive load of journaling.

Development

  • Pivoting Tools: Began with Next.js and Supabase but transitioned to Ruby on Rails for its simplicity and robust ecosystem.
0:00
/0:25

Initial Prototyping with Next.js and Supabase

  • AI-Driven Workflow: Leveraged Cursor to accelerate coding tasks, including authentication, database design, and Hotwire front-end interactivity.
90% of the code was generated using Cursor's chat using Claude Sonnet 3.5
  • Integrations: Implemented key integrations:
    • OpenAI’s API for journal summarization.
    • Stripe for seamless payment processing.
    • Cloudinary for secure asset management.

Design

  • Iterative Process: Skipped traditional wireframing in favor of live browser-based design, capturing ideas in Figma for refinement and feeding updates back into Cursor.
  • Aesthetic Alignment: Developed a zen-inspired color palette and minimalist interface to foster calm and focus.
  • Improving Journaling Interface: One key UX challenge was making it as easy as possible for users to switch between parts while journaling.
    • Initially, a dropdown menu allowed users to select a part and write on its behalf, but this proved cumbersome during testing.
    • Drawing inspiration from Slack’s "/" commands, I implemented a similar feature where users could type "/" to bring up part selection options, which narrowed as they typed. This streamlined the journaling process, keeping users in flow without leaving the keyboard.
0:00
/0:43

Prototyping the journaling experience

  • User Testing: Conducted usability testing with friends familiar with IFS to refine workflows and usability.

Outcome & Impact

  • Functional MVP: Successfully launched the first version of Mindscape with robust features, including user authentication (with Google Authentication), AI journal summarization (OpenAI), and payment integration (Stripe).
  • Community Engagement: Garnered interest and feedback from the IFS subreddit, leading to a small but engaged group of beta testers.
  • Technical Growth: Deepened expertise in Ruby on Rails, version control, and iterative development workflows.
  • Positive Feedback: Early users appreciated the app’s calming design and the ability to integrate AI for enhanced journaling insights.

Lessons Learned

  • Iterative Development: Building Mindscape taught me the value of shipping small, testable features and incorporating feedback early and often.
  • Leveraging AI Effectively: Cursor accelerated development but emphasized the importance of clear scoping and maintaining modular code.
  • Community Engagement: Early feedback from the IFS community validated the app’s concept and guided future feature iterations.
  • Asking for Help: Seeking support from an experienced Ruby developer highlighted blind spots and reinforced the value of teamwork.