| .vscode | ||
| deploy | ||
| public | ||
| src | ||
| .dockerignore | ||
| .drone.yml | ||
| .gitignore | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| index.html | ||
| LICENSE | ||
| main.go | ||
| package-lock.json | ||
| package.json | ||
| package.json.md5 | ||
| postcss.config.js | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Organizrr
Organizrr is a local-first, open-source file labeling and PDF splitting/merging tool built to support back office workflows in the financial advisory sector.
Runs fully in the browser (no backend, no file uploads), and can be installed as a PWA. Built with React, Go, and WASM.
🧱 Tech Stack
| Layer | Tech |
|---|---|
| Frontend | React, Vite, Mantine |
| PWA | Vite PWA Plugin |
| PDF Engine | Go (compiled to WASM) using pdfcpu |
| WASM Loader | Native via wasm_exec.js |
| Build | Multi-stage Dockerfile for production deployment |
🚀 Getting Started
1. Clone the Repo
git clone https://github.com/InnoPeak-GmbH/organizrr.git
cd organizrr
2. Install JS Dependencies
pnpm install
# or
npm install
3. Compile Go to WASM
Make sure you have Go installed (>= 1.21):
GOOS="js" GOARCH="wasm" go build -o ./src/main.wasm ./go
cp "$(go env GOROOT)/lib/wasm/wasm_exec.js" ./src
This will output the
main.wasmbinary and include the Go JS runtime shim (wasm_exec.js) in yoursrcfolder.
4. Start Dev Server
npm run dev
App will be served at http://localhost:5173.
📦 Production Build
npm run build
Static assets will be built to dist/.
🐳 Docker Build (Multi-Stage)
This project includes a multi-stage Dockerfile:
- Builds the Go WASM binary and copies
wasm_exec.js - Installs Node deps and builds the frontend
- Serves it using
vercel/serve
docker build -t organizrr .
docker run -p 3000:3000 organizrr
App will be served at http://localhost:3000.
💡 Project Goals
Organizrr is not a commercial product. We built it to improve the efficiency of internal teams who:
- Receive a large number of files from customers
- Regularly split, merge, and label PDFs
- Need to work without uploading sensitive data to the cloud
Organizrr runs entirely in-browser and respects privacy by design. It’s open-source and built to be forked, modified, and branded.
🛠 Customize It
- Want to change file label presets? Edit them in the
src/utils.tsxfile. - Want to theme or rebrand? The Mantine-based UI is fully customizable.
- Need different PDF logic? Extend the Go WASM module.
📜 License
MIT License.
📎 Links
- 🔗 Live: organizrr.innopeak.ch
- 💻 Code: github.com/InnoPeak-GmbH/organizrr