A tool to generate and share resource lists for film and television productions quickly.
✨Register to try it out at shootdrop.com
During pre-production for video/film projects, making gear lists is time-consuming. I created ShootDrop as a simple, easy-to-use tool to quickly create gear lists.
A drop is tied to a shoot in the real world, it serves as the home for all gear-related info pertaining to the shoot.
- Collaborators can be added here. They can edit any lists attached to the drops they're on.
- The URL is publically sharable for everyone on the production to stay up to date.
- Overview of all list items - giving you an idea of the shoot at a glance.
- PDF Generation to easily print and share with production teams.
A list is tied to a drop, it consists of Gear Items in a particular category (either camera, lighting, grips or sound).
- Comments and preferences can be added for each list item.
- Last edited by with time and user to keep track of who added what.
- Categories (grips/lighting/camera/sound)
- Tagging for easy filtering. Tags are either generic (eg: cable) or tied to categories (eg: lens or recorder)
- Preferences (eg: Lens Mount or Power Solution)
Web
- NextJS (React)
- TailwindCSS
- Apollo Client (GraphQL client and state management library)
- Zustand (minimal state management where Apollo reactive variables would be overkill)
Api
- NodeJS
- Apollo Server
- MongoDB (with Mongoose ODM)
- AWS S3
- AWS SES (Email Service)
You need pnpm as your package manager. Install it globally with npm install -g pnpm if you don't have it already.
You can give this a spin on your local machine by installing NodeJS version 16 or higher.
Make sure you setup the environment variables in .example env files
Commands for running the app locally
In root directory of repo, open terminal.
pnpm install
pnpm dev:services
# Setup local bucket
chmod +x minio-setup.sh
./minio-setup.sh
pnpm dev:api
pnpm dev:web
Get prod dump and then:
mongorestore --uri="mongodb://root:example@localhost:27017" dumps/240501_02-00
# open shell
db.createUser({
user: "appuser",
pwd: "yourpassword",
roles: [ { role: "readWrite", db: "shootdrop" } ]
})
DEV_MONGODB_URI=mongodb://appuser:yourpassword@localhost:27017/shootdrop
👤 Tom Radford
- Website: tomradford.co.za
- Github: @TomRadford
- LinkedIn: @https://www.linkedin.com/in/tom-radford-21699b153/
Feel free to check the issues page to request fixes and new features! Alternatively you can drop me a mail on [email protected]
Drop me a mail [email protected]
Give a ⭐️ if this project helped you!
Copyright © 2025 Tom Radford.
See license.
Thanks for your interest in this project!



