Skip to content

tanav-malhotra/arcforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArcForge ⚡

Forge Your Arc — A local-first personal routine and schedule system.

Shape your trajectory through disciplined daily action. ArcForge helps you plan your life into a reliable routine, track habits, manage projects, and stay focused on what matters.

ArcForge Screenshot

✨ Features

📅 Schedule Management

  • Day Templates — Create reusable schedules for different day types (school days, weekends, etc.)
  • Variable Anchors — Automatically shift blocks based on flexible time points (e.g., home arrival time)
  • Drag & Drop — Resize and move blocks intuitively
  • Time Blocking — Visual timeline from 4 AM to 8 PM with color-coded categories
  • Focus Mode — Distraction-free view for the current task with timer
  • Right-Click Menus — Quick actions on blocks, days, and projects

✅ Habits & Tasks

  • Habit Tracker — Daily habit tracking with streaks and completion stats
  • Todo Lists — Daily tasks that carry over when incomplete
  • Homework First Rule — Optional enforcement to complete homework before side projects

📊 Analytics

  • Deep Work Hours — Track your focused work time
  • Completion Rates — See how well you're sticking to your routine
  • Weekly/Monthly Views — Bird's eye view of your progress

🗂️ Projects

  • Kanban Board — Organize projects by status (Backlog → In Progress → Review → Done)
  • Time Tracking — Log time spent on each project
  • Task Management — Break down projects into actionable tasks

💡 Ideas & Notes

  • Ideas Section — Capture thoughts without cluttering your schedule
  • Excalidraw Whiteboard — Built-in whiteboard for brainstorming and visual thinking

📆 Calendar Events

  • One-off Events — Trips, meetings, appointments
  • Multi-day Events — Events that span multiple days
  • Color-coded Types — Visual organization by event type

🎨 Beautiful UI

  • Warm Parchment Aesthetic — Easy on the eyes, not generic "AI slop"
  • Dark & Light Modes — Switch based on your preference
  • Multiple Color Themes — Sage, Terracotta, Dusty Blue, Amber, Lavender, Slate

💾 Data Safety

  • Local-First — All data stored on your computer (SQLite)
  • Instant Auto-save — Changes saved immediately
  • Crash-Proof — WAL mode for bulletproof writes
  • Export/Import — JSON export for backups and portability
  • Reset Data — Start fresh for new year, new school, new job (with automatic backup)

🚀 Quick Start

Prerequisites

Installation

Windows

# Clone the repository
git clone https://github.com/tanav-malhotra/arcforge.git
cd arcforge

# Run setup (installs dependencies, creates database)
setup.bat

# Start the app
start.bat

macOS

# Clone the repository
git clone https://github.com/tanav-malhotra/arcforge.git
cd arcforge

# Make scripts executable
chmod +x setup.sh start.sh

# Run setup
./setup.sh

# Start the app
./start.sh

Linux (Ubuntu/Debian)

# Install prerequisites
sudo apt update
sudo apt install python3 python3-venv python3-pip nodejs npm

# Clone and setup
git clone https://github.com/tanav-malhotra/arcforge.git
cd arcforge
chmod +x setup.sh start.sh
./setup.sh

# Start the app
./start.sh

Linux (Arch)

# Install prerequisites
sudo pacman -S python python-pip nodejs npm

# Clone and setup
git clone https://github.com/tanav-malhotra/arcforge.git
cd arcforge
chmod +x setup.sh start.sh
./setup.sh

# Start the app
./start.sh

Linux (Fedora/RHEL)

# Install prerequisites
sudo dnf install python3 python3-pip nodejs npm

# Clone and setup
git clone https://github.com/tanav-malhotra/arcforge.git
cd arcforge
chmod +x setup.sh start.sh
./setup.sh

# Start the app
./start.sh

Access the App

Once running, open your browser to:


⚙️ Auto-Start on Boot

ArcForge can start automatically when your computer boots.

Windows

  1. Open the app and go to Settings
  2. Download and run install-autostart.bat

macOS

  1. Open the app and go to Settings
  2. Download install-autostart-mac.sh
  3. Run in Terminal: chmod +x install-autostart-mac.sh && ./install-autostart-mac.sh

Linux

  1. Open the app and go to Settings
  2. Download install-autostart-linux.sh
  3. Run in Terminal: chmod +x install-autostart-linux.sh && ./install-autostart-linux.sh

📁 Project Structure

arcforge/
├── backend/                 # FastAPI Python backend
│   ├── app/
│   │   ├── models/         # SQLAlchemy models
│   │   ├── routers/        # API routes
│   │   ├── schemas/        # Pydantic schemas
│   │   ├── database.py     # Database connection
│   │   ├── main.py         # FastAPI app
│   │   └── seed.py         # Database seeding
│   ├── requirements.txt
│   └── venv/               # Python virtual environment
├── frontend/               # React TypeScript frontend
│   ├── src/
│   │   ├── components/     # Reusable UI components
│   │   ├── views/          # Page components
│   │   ├── stores/         # Zustand state stores
│   │   ├── api/            # API client
│   │   ├── styles/         # CSS variables & global styles
│   │   └── types/          # TypeScript types
│   ├── public/
│   │   └── scripts/        # Auto-start scripts
│   └── package.json
├── start.bat               # Windows launcher
├── start.sh                # macOS/Linux launcher
├── setup.bat               # Windows setup
├── setup.sh                # macOS/Linux setup
└── README.md

🛠️ Development

Backend (FastAPI)

cd backend
source venv/bin/activate  # or venv\Scripts\activate on Windows
python -m uvicorn app.main:app --port 5174 --reload

Frontend (React + Vite)

cd frontend
npm run dev

Database

The SQLite database is stored at backend/arcforge.db. To reset:

cd backend
rm arcforge.db  # Delete existing database
# Optionally seed with example templates:
python -m app.seed

Seeding (Optional)

The seed script (python -m app.seed) populates the database with example templates, habits, and recurrence rules. This is optional — you can start with a blank slate and create your own routine from scratch in the UI.


🔧 Configuration

Ports

  • Frontend: 5173 (Vite default)
  • Backend: 5174 (chosen to avoid conflicts with common dev ports)

Database

  • Location: backend/arcforge.db
  • Backups:
    • Windows: %APPDATA%\arcforge\backups\
    • macOS/Linux: ~/.arcforge/backups/

📝 License

MIT License — See LICENSE for details.


🙏 Acknowledgments


Forge your arc. Shape your trajectory. Build your future. 🔥

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published