Skip to content

Latest commit

Β 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages