Run your production workspace on your own terms.

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.

Private by default Password-gated app, configured with your own credentials.
Self-hosted Run it locally, on a Node host, or on Netlify.
Built for one workspace Useful for an individual or small production operation.
Private workspace
Open work 7
Waiting $4.8k
Public gear 24
Project Client Status
Commercial pickup day Invoice SD-2026-014 Northline Studio Active
Gear rental package Lighting, grip, batteries Lewis Creative Quote
Short film weekend Labor plus rentals Independent Producer Edits

What it covers

The focus is practical production admin. It keeps the important work in one workspace without turning the app into a generic CRM.

Projects and pipeline

Track shoot type, dates, contacts, roles, notes, results, status, budget, and linked invoice details.

Contacts tied to work

Store client and crew details, then see the projects connected to each contact without digging through old notes.

Gear inventory

Manage categories, stock counts, day rates, availability, public visibility, and rental history.

Rental quotes

Build rental carts from your gear list, override rates when needed, and keep rental-only projects separate from crew or shoot work.

Invoices and PDFs

Generate service and rental invoices with payment details, discounts, extra fees, invoice notes, PDF export, and email draft support.

Public gear list

Share a public gear-list page where people can request quotes. Submissions become contacts and planning projects inside the workspace.

Install Shoot Desk

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.

Install on Netlify

Best for most people. Netlify handles builds, hosting, HTTPS, server functions, and production storage with Netlify Blobs.

Fork or copy the Shoot Desk repo, then create a new Netlify site from that GitHub repo. Use the release branch, not main.
Use the included netlify.toml. It sets npm run build, .next, and Node 22.
Add APP_USERNAME, APP_PASSWORD, and AUTH_SECRET in Netlify environment variables.
Deploy, then open the Netlify URL. Your private workspace is at the site root, and the public gear list lives at /gearlist.

Official references: Next.js on Netlify, environment variables, and Git deploys.

Open the full beginner install guide

Local hosting

Use this when you want direct control on your own computer or server. It only works while the app is running.

Install Node 22 and Git, then clone or download the Shoot Desk repository from the release branch.
Run npm install. Copy .env.example to .env.local and set the login variables.
Copy private-app-config.example.json to private-app-config.json and replace the placeholder workspace details.
Run npm run dev and keep it running while you use http://localhost:3000.

Important notes before sharing it

This is meant for people comfortable owning their software setup. It is not a managed hosted service.

Private files stay local

.env.local, private-app-config.json, workspace exports, and local data/ files stay on the installer's machine.

One workspace per install

The current app is a private workspace model. It is not designed as a multi-user public SaaS with separate customer accounts.

Back up your data

Local installs write to data/. Netlify installs use Blobs. Use export and backup tools before moving hosts or replacing data.

Get Shoot Desk from GitHub.

Use the release branch, set your private environment variables, and run it on your own machine, server, or Netlify site.

Get Shoot Desk