PayTransparency.work is built by David Reed using SvelteKit, Heroicons, and Tailwind CSS.
United States map icons are from coryetzkorn and originally derive from ProPublica's StateFace. Canada map icons are derived from Wikimedia's Canada map.
This site is open source and available under the MIT License. Want to improve the site, or add more transparency data? Open a Pull Request on GitHub!
To work on PayTransparency.work, follow these steps.
- Ensure that you have
git
andnpm
(NodeJS 20) installed on your computer. - Clone the Git repo.
- Run
npm install
in the repo to install dependencies. - Run
npx husky install
to add pre-commit Git hooks. - Run
npm run dev
to start the hot-reloading dev environment. - Run
npm run build
to build the static files. This is important to validate that changes don't impact SvelteKit's ability to statically render the entire site.
The PayTransparency.work repo is a Nix flake. If you want to use Nix to develop, it will automatically install the right Node version and manage all of the NPM dependencies for you.
- Ensure that you have Nix set up on your computer.
- If desired, set up
direnv
and optionallynix-direnv
. - Clone the Git repo.
- Run
npx husky install
to add pre-commit Git hooks.
If you're using direnv
:
cd
into the repo.- Run
direnv allow
to permit the use of this repo's environment. - Run
npm run dev
to start the hot-reloading dev environment. - Run
npm run build
to build the static files. This is important to validate that changes don't impact SvelteKit's ability to statically render the entire site.
If you're not using direnv
:
cd
into the repo.- Run
nix develop
to start a dev shell. Note that the dev shell is isolated from any configuration of your usual shell. - Run
npm run dev
to start the hot-reloading dev environment. - Run
npm run build
to build the static files. This is important to validate that changes don't impact SvelteKit's ability to statically render the entire site.