Skip to content

unownone/spenddy-link

Repository files navigation

Spenddy Link Browser Extension

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.

Install from Chrome Web Store

Spenddy Link is now publicly available:

Install Spenddy Link

Spenddy Link Demo

The extension performs three things:

  1. Detects when you are logged in on Swiggy and confirms connectivity.
  2. Fetches your full order history on demand (the data never leaves your browser until you visit Spenddy).
  3. 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.


Prerequisites

  • Node.js ≥ 18
  • pnpm ≥ 8 (or swap pnpm with npm / yarn if you prefer)
  • WXT CLI (optional) – install globally with npm install -g wxt or run one-off commands via pnpm dlx wxt@latest <command>

The repo already includes WXT as a dev dependency, so installing it globally is optional.


Getting started (development)

  1. Install dependencies

    pnpm install
  2. 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.


Building a production bundle

Generate an optimised, production-ready build:

# Chrome build (default)
pnpm build

# Firefox build
pnpm build:firefox

The artefacts are placed in .wxt/dist/ and are ready to be published to the respective web-store.

Creating a distributable zip

If you need a zipped upload bundle you can run:

# Chrome zip (default)
pnpm zip

# Firefox zip
pnpm zip:firefox

The zip file will appear at the project root.


Loading the extension locally

Chrome / Edge (Chromium)

  1. Navigate to chrome://extensions (or edge://extensions).
  2. Enable Developer mode.
  3. Click Load unpacked and select the .wxt/dist/ directory.

Firefox

  1. Navigate to about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on… and pick the manifest.json inside .wxt/dist-firefox/.

The extension icon should now appear in your toolbar.


How to use

  1. Open Swiggy and log in.
  2. 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.
  3. 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.
  4. 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! 🎉


Project structure (TL;DR)

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

Further documentation


License

MIT – © 2024 Spenddy

About

Simple Privacy Friendly chrome extension to track your spends and more!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors