Most project management tools are built for teams: assigning tasks, tracking who did what, and managing collaboration. Project Tracker is built for you, the project manager. It is a personal PM practice environment grounded in the PMI PMBOK® Guide – Eighth Edition, designed to help you internalise and apply the standard across everything you manage.
No teammates required. You track the charter, the WBS, the risks, the stakeholders, the earned value, because understanding each of those is what makes you a better PM, not just a better task-assigner. Other tools help you delegate work. This one helps you master the discipline.
- PMBOK 8 Framework: Life cycle phases (Initiating to Closing), 7 performance domains, 6 principles self-assessment
- Hierarchy: Portfolio, Program, and Project grouping with governance at every level
- Project Artifacts: Charter, WBS, Risk Register, Stakeholder Register, Issue Log, Change Request Log, Lessons Learned, Notes
- Earned Value Management: PV, EV, AC with SPI, CPI, SV, CV, EAC, ETC, VAC and colour-coded indicators
- AI Chat: Multi-provider AI assistant (OpenAI, Claude, Gemini, OpenRouter, Ollama) with session history
- Knowledge Base: Upload PDFs and Word documents; AI searches them using RAG (pgvector)
- AI Reports: Generate status reports, risk reports, and more with one click; export to PDF
- Analytics: Cross-project charts, budget tracking, task completion trends
- Public Portfolio: Share your project history at
/portfolio/[username] - Dark / Light Mode: Fully themed, persists across sessions
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) + React 19 |
| Database | PostgreSQL + pgvector via Drizzle ORM |
| Auth + Storage | Supabase |
| UI | Tailwind CSS v4, shadcn/ui, Framer Motion |
| AI | Vercel AI SDK (multi-provider) |
| Resend (optional) |
- Node.js 20+: nodejs.org
- A free Supabase account: supabase.com (takes 2 minutes to set up)
- At least one AI provider API key: needed for the chat and report features
git clone https://github.com/oleevaqween/project-tracker.git
cd project-trackernpm installSee SUPABASE_SETUP.md for a step-by-step guide. At minimum you need to:
- Create a Supabase project
- Enable the
pgvectorextension - Create a storage bucket called
documents - Copy your project URL and API keys
cp .env.local.example .env.localOpen .env.local and fill in your Supabase credentials and at least one AI provider key. Every variable is documented inside the file.
npm run db:pushThis syncs the Drizzle schema to your Supabase database. Run this once on first setup.
npm run devOpen http://localhost:3000. Sign up for an account and you are in.
| Script | What it does |
|---|---|
npm run db:push |
Sync schema to the database (use for first-time setup) |
npm run db:migrate |
Run pending migrations in order (use when pulling updates) |
npm run db:generate |
Generate a new migration file after schema changes |
npm run db:studio |
Open Drizzle Studio, a visual database browser |
- Create OAuth credentials in Google Cloud Console under APIs and Services, then Credentials
- Set the authorised redirect URI to:
https://[YOUR-PROJECT-REF].supabase.co/auth/v1/callback - In Supabase Dashboard, go to Authentication, then Providers, then Google, and paste your Client ID and Secret
Requires a Resend account and a verified sending domain. See SUPABASE_SETUP.md Step 4.
Recommended for public deployments. Leave NEXT_PUBLIC_TURNSTILE_SITE_KEY and TURNSTILE_SECRET_KEY blank to disable it (default for local use).
- Go to Cloudflare Dashboard, then Turnstile, then Add site
- Copy the Site Key and Secret Key into
.env.local
To use local models with no API cost:
- Install Ollama
- Pull a model:
ollama pull llama3 - In the app: Settings, then AI Provider, select Ollama, and set base URL to
http://localhost:11434
- Push your repo to GitHub
- Go to vercel.com, click New Project, and import your repo
- Add all environment variables from
.env.localin the Vercel dashboard - Deploy
After deploying, update your Supabase project's Site URL and Redirect URLs to your Vercel domain (see SUPABASE_SETUP.md Step 5).
Contributions are welcome. If you have self-hosted this and found something broken, have an idea that fits the PMBOK 8 direction, or want to improve the setup experience, open an issue or a pull request.
A few things that would be genuinely useful:
- Bug reports with clear reproduction steps
- Improvements to the self-hosting setup or documentation
- New PMBOK 8 features or better alignment with the standard
- UI/UX improvements
If you are planning something significant, open an issue first so we can discuss the approach before you invest the time building it.
MIT. Do whatever you want with it.