TarkovTracker tracks Escape from Tarkov tasks, hideout upgrades, required items, levels, and team progress separately for PvP and PvE.
Try it live at https://tarkovtracker.org.
You can start tracking your progress immediately — no account required. Your progress is saved in your browser's local storage and stays there between visits.
- Track task and objective completion (PvP and PvE separately)
- Track hideout module upgrades and the parts you still need
- View player level, faction progress, and needed items
- Browse interactive maps with spawn points and objectives
- Customize display preferences and game mode
- All data persists locally in your browser
Sign in (via Discord, Twitch, Google, or GitHub) when you want to:
- Sync progress across devices — your progress follows you to any browser
- Create or join a team — share progress with teammates in real time
- Share your profile — let others view your progress via a shareable link
- Use API tokens — programmatically read your progress via the public API
- Back up your data — server-side storage protects against browser data loss
Signing in: If you have local progress and create a new account, that progress uploads to your account on first login. Returning users (same browser, same account) get a merge of local and cloud progress. If you sign into an existing account from a new browser that already has cloud progress, the cloud data takes precedence — your local guest progress is not merged.
- Questions or bugs? See
SUPPORT.mdfor where to ask. - Found a security issue? See
SECURITY.mdfor how to report it privately. - Community: Join us on Discord or GitHub Discussions.
- Translations: Help translate at translate.tarkovtracker.org. Supported languages: English, German, Spanish, French, Russian, Ukrainian, and Chinese.
The rest of this README covers local development and contributing. If you only want to use TarkovTracker, visit https://tarkovtracker.org — no setup required.
corepack enable # enables pnpm via Corepack (Node >=24.12.0)
pnpm install
pnpm run dev # http://localhost:3000Copy .env.example to .env and fill in your Supabase values. Without Supabase configured, the
app runs in offline mode with localStorage only — auth, sync, realtime, and team features are
unavailable.
Only
NUXT_PUBLIC_SUPABASE_URLandNUXT_PUBLIC_SUPABASE_ANON_KEYare required for login/sync. Everything else is optional and documented indocs/ARCHITECTURE.md.
Tech stack: Nuxt 4 (SPA, ssr: false), Vue 3 Composition API, TypeScript strict, Pinia,
Supabase, Tailwind CSS v4, Vitest, Cloudflare Pages/Workers.
| Task | Command |
|---|---|
| Dev server | pnpm run dev |
| Build | pnpm run build |
| Preview build | pnpm run preview |
| Lint | pnpm run lint |
| Typecheck | pnpm run typecheck |
| Tests | pnpm run test |
| Test watch | pnpm run test:watch |
Run pnpm run lint, pnpm run typecheck, and pnpm run test before pushing. The full command
list (including i18n, Supabase types, OpenAPI validation, and the API gateway tests) is in
AGENTS.md and docs/WORKFLOW_AUTOMATION.md.
Each pull request must address one change only — a single fix, update, doc improvement, or feature. PRs that bundle unrelated changes may be asked to split or be closed.
- How to contribute — issues, branches, PR process, and the PR template.
- Label system — issue types, scope, priority, ownership, and status.
- Project board — how issues move from backlog to done.
New to the codebase? Start with
.github/CONTRIBUTING.mdfor the development workflow and PR process. When available, issues labeledgood-first-issueare scoped for newcomers.
The short version: this README gets you running; the docs/ folder explains how things work.
| You want to… | Read |
|---|---|
| Get started | This README |
| Report a security vulnerability | SECURITY.md |
| Find where to get help | SUPPORT.md |
| Read the code of conduct | CODE_OF_CONDUCT.md |
| Understand the systems (caching, data, overlay) | docs/SYSTEMS.md |
| Understand the full architecture & data flow | docs/ARCHITECTURE.md |
| Read the Tarkov data architecture decision | docs/decisions/tarkov-data-architecture.md |
| Use or extend the HTTP/API surface | docs/API.md |
| Understand rate limits / abuse controls | docs/RATE_LIMITING.md |
| Deploy, configure env vars, or handle an incident | docs/runbook.md |
| Understand CI/CD, hooks, and releases | docs/WORKFLOW_AUTOMATION.md |
| Contribute (issues, branches, PRs, labels) | .github/CONTRIBUTING.md |
| Work as (or configure) an AI agent | AGENTS.md + docs/agent-context/ |
Start at docs/README.md if you are not sure which doc you need.
app/ Nuxt 4 source (features, stores, server routes, shell, locales)
supabase/ Database migrations and edge functions
workers/ Cloudflare Workers (public API gateway)
scripts/ Precompute and other tooling
docs/ Project documentation
public/ Static assets
See docs/ARCHITECTURE.md for the full module map and
docs/SYSTEMS.md for how the non-obvious systems (Tarkov.dev integration,
multi-layer caching, overlay corrections, precompute) actually work.
GNU General Public License v3.0 — see LICENSE.md.