Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HabStrack

HabStrack is a web-based habit tracker supercharged with AI for habit stacking and progression insights over time. It helps you build lasting routines by intelligently grouping related habits together and surfacing insights into how your habits evolve over time.

🔗 Live app: main.d19maocf46nn2u.amplifyapp.com


✨ Features

  • Habit tracking — Create, manage, and log daily/weekly habits.
  • AI-powered habit stacking — Get intelligent suggestions on how to group and sequence habits for better consistency.
  • Progression insights — Visualize trends and patterns in your habit completion over time.
  • Serverless backend — Built on AWS Lambda for scalability and low operational overhead.
  • Fast, persistent storage — Powered by Amazon DynamoDB.

🏗️ Tech Stack

Layer Technology
Frontend React
Backend Python (AWS Lambda)
Database Amazon DynamoDB
AI Integration Amazon Bedrock
Hosting AWS Amplify

Tags: react productivity aws-lambda aws-dynamodb


📂 Project Structure

HabStrack/
├── frontend/
│   └── habstrack/          # React frontend application
├── ai.py                   # AI integration logic (habit stacking & insights)
├── db.py                   # Database access layer / helper functions for DynamoDB
├── init_db.py               # Script to initialize/set up the DynamoDB table(s)
├── lambda_function.py      # AWS Lambda entry point (backend API handler)
├── .gitignore
└── README.md

🚀 Getting Started

Prerequisites

  • Node.js and npm (for the frontend)
  • Python 3.x
  • An AWS account with access to Lambda, Bedrock and DynamoDB
  • AWS CLI configured with appropriate credentials

1. Clone the repository

git clone https://github.com/tomjames156/HabStrack.git
cd HabStrack

2. Set up the frontend

cd frontend/habstrack
npm install
npm start

The app will run locally at http://localhost:3000.

3. Set up the backend

From the repository root:

pip install -r requirements.txt

Configure your AWS credentials and environment variables (see Environment Variables below), then initialize the database:

python init_db.py

4. Deploy the backend

Package lambda_function.py, ai.py, and db.py and deploy to AWS Lambda, ensuring it has the necessary IAM permissions to read/write to DynamoDB and Bedrock.


🔑 Environment Variables

The frontend expects the following environment variables to be configured (in your Amplify configuration, local .env file, or other deployment platform):

Variable Description
VITE_APP_LAMBDA_URL Your deployed Lambda function's API endpoint URL

The backend expects the following environment variables to be configured (in your Lambda configuration or a local .env file):

Variable Description
DYNAMODB_TABLE_NAME Name of the DynamoDB table used by HabStrack
BEDROCK_MODEL_PROFILE_ARN The model profile ARN of Claude 4.5 Haiku from Bedrock used in ai.py

🧠 How It Works

  1. Frontend (frontend/habstrack) — A React application where users create and manage their habits, view their progress, and see AI-generated suggestions.
  2. Backend (lambda_function.py) — Serves as the API layer, handling requests from the frontend and coordinating between the database and AI logic.
  3. Database layer (db.py, init_db.py) — Handles all reads/writes to DynamoDB and sets up the required tables.
  4. AI layer (ai.py) — Analyzes a user's existing habits and history to recommend habit stacks and in the future to generate progression insights.

🗺️ Roadmap

  • Add authentication and multi-user support
  • Expand AI insights (streaks, best time-of-day recommendations, etc.)
  • Add notifications/reminders
  • Mobile-friendly UI improvements
  • CI/CD pipeline for automated deployment

📄 License

Copyright (c) 2026 Tomisin Akinwande. All rights reserved.

This repository and its contents are proprietary. No part of this project may be copied, reproduced, distributed, or modified without explicit written permission from the author.


👤 Author

tomjames156

About

HabStrack is a web based habit tracker supercharged with AI for habit stacking and progression insights over time

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages