AutoTrac is developed and maintained by Sloths Intel, is a lightweight, mobile-first time tracking and income tracking PWA designed for freelancers, consultants, and small teams. It focuses on clarity, low friction, and offline-friendly workflows, with automatic aggregation and simple financial insights.
- Features
- Architecture
- Local Development
- API Overview
- Data Model
- Build & Deploy
- Roadmap
- Contribution
- About
- License
- Start / stop time entries per project
- Manual time entry (start–end or duration)
- Project-based aggregation
- Weekly summaries (last 7 days)
- Income entries per project
- Multi-currency support
- Automatic FX conversion to GBP
- Weekly and daily income summaries
- Stacked daily time chart (last 30 days)
- Stacked daily income chart (last 30 days)
- Swipe left/right to explore history
- Charts default to most recent data
- Email + password login
- JWT-based authentication
- Per-user data isolation
- One-device token (MVP)
- Mobile-first design
- Dark mode support
- Offline-friendly frontend
- Fast refresh & background re-sync
├── AutoTrac
│ └── frontend
│ ├── postcss.config.js
│ ├── src
│ ├── tsconfig.app.json
│ ├── tsconfig.node.json
│ ├── package-lock.json
│ ├── index.html
│ ├── dist
│ ├── vite.config.ts
│ ├── tsconfig.json
│ ├── tailwind.config.js
│ ├── public
│ ├── package.json
│ ├── node_modules
│ ├── eslint.config.js
│ └── README.md
├── autotrac.db
├── autotrac.svg
├── requirements.txt
├── package-lock.json
└── README.md
├── backend
│ ├── __init__.py
│ ├── __pycache__
│ │ └── __init__.cpython-311.pyc
│ └── app
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-311.pyc
│ │ ├── db.cpython-311.pyc
│ │ ├── main.cpython-311.pyc
│ │ ├── models.cpython-311.pyc
│ │ └── schemas.cpython-311.pyc
│ ├── db.py
│ ├── main.py
│ ├── models.py
│ └── schemas.py
├── requirements.txt
└── runtime.txt
Frontend
- React
- TypeScript
- Vite
- Recharts
- Tailwind CSS
- PWA (Web App Manifest)
Backend
- FastAPI
- SQLAlchemy
- PostgreSQL
- JWT authentication
- psycopg
Hosting
- Frontend: Render (static site)
- Backend: Render (web service)
- Database: Render PostgreSQL
git clone https://github.com/slothsintel/autotrac.git
cd autotraccd frontend
npm install
npm run devFrontend runs at:
http://localhost:5173
Create a virtual environment and install dependencies:
cd backend
python -m venv .venv
source .venv/bin/activate # Linux / macOS
# .venv\Scripts\activate # Windows
pip install -r requirements.txtSet environment variables (example):
export DATABASE_URL=postgresql+psycopg://user:pass@localhost:5432/autotrac
export SECRET_KEY=dev-secretRun the backend:
uvicorn backend.app.main:app --host 0.0.0.0 --port 10000Backend runs at:
http://localhost:8000
Swagger UI:
http://localhost:8000/docs
POST /auth/registerPOST /auth/loginGET /auth/me
GET /projects/POST /projects/DELETE /projects/{project_id}
GET /time-entries/POST /time-entries/POST /time-entries/{entry_id}/stop
GET /incomes/POST /incomes/DELETE /incomes/{income_id}
-
Projects are unique per user (
(user_id, name)constraint) -
All data is strictly user-scoped
-
Cascading deletes are enabled:
- Deleting a project deletes its time entries and income records
cd frontend
npm run build
cd ..
git add .
git commit -m "Build frontend"
git pushRender automatically redeploys the frontend.
cd backends
git add AutoTrac
git commit -m "Deploy backend updates"
git pushRender automatically redeploys the backend service.
- biometric login
- iOS / Android store packaging
- Team / shared projects
Maintained by Sloths Intel GitHub, and Daddy Sloth Github.
© 2026 Sloths Intel.
A trading name of Sloths Intel Ltd Registered in England and Wales (Company No. 16907507).
MIT License.