DEV Community

chubiao huang (MR HUANG)
chubiao huang (MR HUANG)

Posted on Originally published at mw4field.com

I built a camo tracker that never asks you to log in

I built a camo tracker that never asks you to log in

32 weapons, 576 camo challenges, progress saved in localStorage. No account, no sync, no backend.

Live: MW4Field camo tracker · Weapon stats: MW4 weapons database · Map: Hajin interactive map


Every camo tracker I tried wanted an account first. Sign up, connect your platform, grant permissions, then maybe get a checklist. For a grind that resets every game, that is a lot of commitment for a table of checkboxes.

So I took the boring approach: the state lives in the browser, and the site never learns who you are.

What it actually does

The camo system in MW4 is large enough that a spreadsheet gets unwieldy fast. The tracker covers:

  • 32 weapons across 9 classes (Assault Rifle, SMG, Shotgun, LMG, Marksman, Sniper, Pistol, Launcher, Melee)
  • 18 camos per weapon, 576 challenges in total
  • Three separate mode profiles, so multiplayer, zombies and campaign progress do not overwrite each other
  • Backup / Restore as JSON, which is the escape hatch for the browser-only trade-off
  • A search box, and each weapon card shows 0 / 18 plus a prestige count without opening anything

The counting detail matters more than it sounds. When a roster is hand-entered it drifts: one duplicated weapon in the source list and every percentage in the UI is quietly wrong. On this site the totals are derived from the roster data at build time, so adding or removing a weapon updates the counters instead of leaving a stale number behind.

Why localStorage and not a database

Three reasons, in order of how much they mattered:

  1. No account means no friction. The tool is useful at the moment you unlock a camo, which is usually ninety seconds after you stopped playing.
  2. Nothing to leak. The site only ever stores a set of completed challenge ids. There is nothing to breach that is worth breaching.
  3. Cheap to run. A static site with no auth, no sessions, and no database is a static site that stays up.

The trade-off is real and worth stating plainly: clear your browser data and the progress is gone, and there is no automatic phone-to-PC sync. That is why the export exists — a JSON file you can drop back in on another device.

The general lesson for small tools

If you are building a tracker, a checklist, or a calculator for a fan site, ask whether the feature needs an account at all. Most progress tools need exactly one thing from the backend: a place to put a set of ids. localStorage is that place, shipped for free, on every device you care about.

The constraints you accept:

  • single device unless you move the export yourself
  • progress lost on hard reset
  • no server-side analytics on what people are grinding

For a free fan tool, all three are acceptable. For anything you would charge for, none of them are.

What comes next

The tracker is one of the four tools on MW4Field, an independent Modern Warfare 4 field guide. The map has zone-level threat data and POIs with source dates, and the DMZ code ledger labels every row as confirmed or community-reported.

If you use it and something is missing — a weapon, a camo, a challenge that is not counted — the source is on GitHub and the fix is usually a data row.

Top comments (0)