Spenddy Link is a lightweight, privacy-respecting browser extension that helps you seamlessly transfer your Swiggy order history to Spenddy where you can analyse your food spending patterns.
Spenddy Link is now publicly available:
The extension performs three things:
- Detects when you are logged in on Swiggy and confirms connectivity.
- Fetches your full order history on demand (the data never leaves your browser until you visit Spenddy).
- Exposes the fetched data to the Spenddy web app so it can be imported with a single click.
Built with WXT + TypeScript, it works in both Chrome and Firefox.
- Node.js ≥ 18
- pnpm ≥ 8 (or swap
pnpmwithnpm/yarnif you prefer) - WXT CLI (optional) – install globally with
npm install -g wxtor run one-off commands viapnpm dlx wxt@latest <command>
The repo already includes WXT as a dev dependency, so installing it globally is optional.
-
Install dependencies
pnpm install
-
Run the development server – this builds the extension in watch-mode and starts a live-reloading environment:
# Chromium / Chrome pnpm dev # Firefox (optional) pnpm dev:firefox
The compiled extension will be output to
.wxt/dist/(Chrome) or.wxt/dist-firefox/(Firefox). Follow the Load unpacked instructions below to load it into your browser.
Generate an optimised, production-ready build:
# Chrome build (default)
pnpm build
# Firefox build
pnpm build:firefoxThe artefacts are placed in .wxt/dist/ and are ready to be published to the respective web-store.
If you need a zipped upload bundle you can run:
# Chrome zip (default)
pnpm zip
# Firefox zip
pnpm zip:firefoxThe zip file will appear at the project root.
- Navigate to
chrome://extensions(oredge://extensions). - Enable Developer mode.
- Click Load unpacked and select the
.wxt/dist/directory.
- Navigate to
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on… and pick the
manifest.jsoninside.wxt/dist-firefox/.
The extension icon should now appear in your toolbar.
- Open Swiggy and log in.
- Click the Spenddy Link extension icon.
• If everything is connected you will see a green "Connected" status.
• Otherwise follow the on-screen steps to establish connectivity. - Press Fetch Order Data – the extension will fetch your entire order history (this can take a minute for large accounts). Progress is displayed in real time.
- When finished, click Go to Spenddy to visit the Spenddy web app where the freshly fetched data is automatically detected and can be imported.
That's it – happy budgeting! 🎉
entrypoints/
background.ts # Service-worker style background script
spenddy.content.ts # Content-script injected on the Spenddy site
swiggy.content.ts # Content-script injected on Swiggy
popup/ # Extension popup (UI)
components/ # Shared TS utilities/helpers
wxt.config.ts # WXT configuration
- Extension Architecture – component diagram, message matrix, build process.
- Data Type Reference – full TypeScript interfaces for Swiggy order payloads and storage keys.
MIT – © 2024 Spenddy
