{"id":50794725,"url":"https://github.com/mekedron/wolt-stats","last_synced_at":"2026-06-12T13:32:17.449Z","repository":{"id":359412928,"uuid":"1177750873","full_name":"mekedron/wolt-stats","owner":"mekedron","description":"Unofficial hobby dashboard for syncing and exploring your Wolt order history.","archived":false,"fork":false,"pushed_at":"2026-05-21T21:27:26.000Z","size":4038,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T03:50:37.355Z","etag":null,"topics":["dashboard","delivery","food","sqlite","svelte","tailwindcss","unnoficial","vibe-coding","wolt"],"latest_commit_sha":null,"homepage":"https://mekedron.github.io/wolt-stats/","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mekedron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-10T10:34:48.000Z","updated_at":"2026-05-21T21:27:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mekedron/wolt-stats","commit_stats":null,"previous_names":["mekedron/wolt-stats"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mekedron/wolt-stats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mekedron%2Fwolt-stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mekedron%2Fwolt-stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mekedron%2Fwolt-stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mekedron%2Fwolt-stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mekedron","download_url":"https://codeload.github.com/mekedron/wolt-stats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mekedron%2Fwolt-stats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34247461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","delivery","food","sqlite","svelte","tailwindcss","unnoficial","vibe-coding","wolt"],"created_at":"2026-06-12T13:32:16.086Z","updated_at":"2026-06-12T13:32:17.445Z","avatar_url":"https://github.com/mekedron.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wolt-stats\n\nUnofficial hobby dashboard for exploring Wolt order history. Not affiliated with Wolt.\n\nLive demo: https://mekedron.github.io/wolt-stats/\n\n## Use this dashboard through [`wolt-cli`](https://github.com/mekedron/wolt-cli)\n\nThis dashboard is **fully integrated** with its companion project\n**[wolt-cli](https://github.com/mekedron/wolt-cli)**, and that is the\nrecommended way to try it and see your own Wolt statistics.\n\nJust install `wolt-cli` and run:\n\n```bash\nwolt stats\n```\n\nIt downloads a pre-built bundle of this dashboard, syncs your order\nhistory into a local SQLite database, and opens everything in your\nbrowser — no Node.js setup needed.\n\n**Heads up:** the **initial** order sync can take a long time — easily\n**an hour or more** — because Wolt's API has very strict rate limits.\nSubsequent runs are incremental and much faster.\n\n| Primary                                                                      | Secondary                                                                        | Tertiary                                                                       |\n| ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\n| ![Primary desktop screenshot](docs/readme-assets/readme-desktop-primary.png) | ![Secondary desktop screenshot](docs/readme-assets/readme-desktop-secondary.png) | ![Tertiary desktop screenshot](docs/readme-assets/readme-desktop-tertiary.png) |\n\n## What It Does\n\n- Syncs your Wolt order history into a local SQLite database\n- Keeps reruns cheap by syncing incrementally by default\n- Lets you filter by user, country, city, venue, venue type, currency, day split, and date range\n- Shows spending, order cadence, fee pressure, venue patterns, and dish price trends\n- Supports multiple users in the same database\n\n## Dependencies\n\n- Node.js 20+\n- npm\n- `wolt-cli`\n\nInstall `wolt-cli`:\n\n```bash\nbrew tap mekedron/tap\nbrew install wolt-cli\n```\n\nCheck that it works:\n\n```bash\nwolt --help\n```\n\n## Install\n\n```bash\nnpm install\n```\n\n## Sync Your Data\n\n\u003e Tip: if you just want to view the dashboard and you already have\n\u003e [`wolt-cli`](https://github.com/mekedron/wolt-cli) installed, run\n\u003e `wolt stats` instead. It downloads a pre-built bundle from this repo's\n\u003e GitHub Releases, syncs your history into SQLite in Go (no Node.js\n\u003e needed at runtime), serves the dashboard at `http://127.0.0.1:5173`,\n\u003e and opens the browser. The Node sync below is the reference\n\u003e implementation kept for development on this repo.\n\nThe sync writes to `static/data/wolt-history.sqlite`.\n\n```bash\n./scripts/sync-wolt-history.sh \\\n  --userEmail you@example.com \\\n  --expectedOrderCount 870\n```\n\nUseful variants:\n\n```bash\n./scripts/sync-wolt-history.sh --help\n./scripts/sync-wolt-history.sh --userEmail you@example.com --expectedOrderCount 870\n./scripts/sync-wolt-history.sh --userEmail you@example.com --expectedOrderCount 870 --full\n```\n\nNotes:\n\n- normal runs are incremental\n- `--full` forces a full history rescan\n- the database file is git-ignored and should stay private\n\n## Generate Demo Data\n\nCreate a separate one-year fake database for previews:\n\n```bash\nnpm run db:demo\n```\n\nThat command:\n\n- keeps your real sync database at `static/data/wolt-history.sqlite`\n- writes a committed fake preview database to `static/data/wolt-history-demo.sqlite`\n- makes an ignored backup copy of the live DB before generating demo data\n- uses a stable demo window ending on `2026-03-10` unless you override `--endDate`\n\nBuild the app against the fake preview database:\n\n```bash\nnpm run build:demo\n```\n\nFor GitHub Pages project-site builds with the fake database:\n\n```bash\nnpm run build:pages:demo\n```\n\nThat demo build stages only the fake database into the public bundle, so your real\n`wolt-history.sqlite` file and local backups are not copied into `build/`.\n\nThe GitHub Actions pipeline regenerates this demo database, checks that the committed\nsample stays in sync with the generator, runs the full validation gate on pull\nrequests, and deploys the demo build to GitHub Pages when you push a semantic\nversion tag like `v0.1.0`.\n\n## Run Locally\n\n```bash\nnpm run dev\n```\n\nOpen `http://localhost:5173`.\n\nIf you just want to view the dashboard against your own data, prefer\n`wolt stats` from [`wolt-cli`](https://github.com/mekedron/wolt-cli) (see\nthe top of this README) — `npm run dev` is for working on the dashboard\nitself.\n\n## Validate\n\n```bash\nnpm run validate\n```\n\n## Build Static Output\n\n```bash\nnpm run build\n```\n\nFor GitHub Pages project-site builds:\n\n```bash\nnpm run build:pages\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmekedron%2Fwolt-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmekedron%2Fwolt-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmekedron%2Fwolt-stats/lists"}