Projects and pipeline
Track shoot type, dates, contacts, roles, notes, results, status, budget, and linked invoice details.
Shoot Desk is a completely free, self-hosted workspace for freelance production work: projects, contacts, gear rentals, invoices, and a public gear-list quote page.
The focus is practical production admin. It keeps the important work in one workspace without turning the app into a generic CRM.
Track shoot type, dates, contacts, roles, notes, results, status, budget, and linked invoice details.
Store client and crew details, then see the projects connected to each contact without digging through old notes.
Manage categories, stock counts, day rates, availability, public visibility, and rental history.
Build rental carts from your gear list, override rates when needed, and keep rental-only projects separate from crew or shoot work.
Generate service and rental invoices with payment details, discounts, extra fees, invoice notes, PDF export, and email draft support.
Share a public gear-list page where people can request quotes. Submissions become contacts and planning projects inside the workspace.
Start with Netlify for the easiest private hosted setup. Local hosting is still available if you want to run it from your own computer or server.
Best for most people. Netlify handles builds, hosting, HTTPS, server functions, and production storage with Netlify Blobs.
release branch, not
main.
netlify.toml. It sets
npm run build, .next, and Node
22.
APP_USERNAME, APP_PASSWORD, and
AUTH_SECRET in Netlify environment variables.
/gearlist.
Official references: Next.js on Netlify, environment variables, and Git deploys.
Use this when you want direct control on your own computer or server. It only works while the app is running.
release branch.
npm install. Copy .env.example to
.env.local and set the login variables.
private-app-config.example.json to
private-app-config.json and replace the placeholder
workspace details.
npm run dev and keep it running while you use
http://localhost:3000.
This is meant for people comfortable owning their software setup. It is not a managed hosted service.
.env.local, private-app-config.json, workspace
exports, and local data/ files stay on the installer's machine.
The current app is a private workspace model. It is not designed as a multi-user public SaaS with separate customer accounts.
Local installs write to data/. Netlify installs use Blobs.
Use export and backup tools before moving hosts or replacing data.
Use the release branch, set your private environment variables,
and run it on your own machine, server, or Netlify site.