HabitMate

Social Habit Tracker

HabitMate combines habit tracking with social motivation, making it a simple yet impactful tool for personal growth. It not only helps users stay consistent but also serves as an innovative addition to the development team's portfolios.

Target Audience

HabitMate is designed for anyone aiming to build and sustain better habits, including students, professionals, and individuals from all walks of life.

Pain Point

Many people start strong with their goals and habits but struggle to maintain consistency over time. They lose track, lose motivation, and eventually give up.

Solution

HabitMate empowers users to stay consistent by combining progress tracking with social motivation. Features like daily streaks and shared goals foster accountability and engagement.

1 / 5
2 / 5
3 / 5
4 / 5
5 / 5

Technical Stack

  • Backend: Ruby on Rails
  • Frontend: HTML, CSS, and JavaScript
  • Authentication: Devise
  • Database: PostgreSQL
  • Deployment: Heroku

Development Process

  • Collaborated within a team to brainstorm and develop features, such as streak tracking, goal setting, and social sharing.
  • Designed an intuitive, responsive user interface using Figma.
  • Implemented some of the back end with Ruby on Rails and PostgreSQL to handle habit creation and management, and progress tracking.
  • Added Devise for secure and seamless user authentication.
  • Conducted user testing to refine the user experience and ensure the app's functionality.

Database and Social Features

  • Established a relational database schema using PostgreSQL to manage users, habits, progress, and friendships effectively.
  • Implemented features allowing users to send and accept friend requests, enabling them to view friends' progress and encourage accountability.
  • Tracked habit progress with timestamps for analytics, including streaks and completion rates.

Database Structure

HabitMate Schema

Database Schema Representation

  • Users Table: Stores user information, including Devise-managed authentication credentials.
  • Habits Table: Tracks all user habits, linking them to their owners and capturing relevant details such as start date, frequency, and archival status.
  • Progress Table: Records timestamps for habit completions, enabling the calculation of streaks and performance analytics.
  • Friendship Table: Manages social connections between users, supporting features like friend requests and shared progress views.

This schema enables clear relationships between users, habits, and progress while allowing scalable social features.

User Journey

HabitMate delivers a streamlined and engaging user experience:

  • Dashboard: Users can view their active habits, daily progress, and friends' updates in one central location.
  • Add Habits: A user-friendly form allows for quick and detailed habit creation.
  • Track Progress: Logging completions is effortless, ensuring users can maintain momentum.
  • View Friends’ Habits: Friends’ progress is visible on the dashboard, fostering a collaborative environment.
  • Analyze Stats: Users can dive into detailed analytics to monitor their habit-building journey.

Development Highlights

  • Ruby on Rails Framework: Built using Ruby on Rails, leveraging its powerful MVC architecture to ensure clean separation of concerns and rapid development.
  • Authentication via Devise: Integrated Devise for secure, scalable, and easy-to-manage user authentication.
  • Responsive Design: Focused on accessibility and user experience, ensuring a responsive interface across all devices.
  • Deployed on Heroku: Hosted on Heroku, providing a reliable and scalable production environment.

Project Management

  • A Kanban board was used to visualize tasks, prioritize features, and track progress.
  • Collaborative tools like Trello and GitHub ensured efficient team communication and version control.
  • A detailed Figma design guided the development process, ensuring alignment between the user interface and user stories.

Links

Check out:

❮ Back