Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
Plan shoots, send call sheets, track confirmations and run production days from one place. From client brief to wrap.
BusinessTypeScript · JavaScriptGitHub @boostkitioOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Production OS for video companies. Codename repo, product name pending.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Production OS for video companies: plan shoots, book crew and kit, quote the job, send call sheets, track confirmations and run production days from one place. Live at https://unitdeck.app. src/lib/brand.ts is the single rename point.Read the full README ↗Production OS for video companies: plan shoots, book crew and kit, quote the job, send call sheets, track confirmations and run production days from one place. Live at https://unitdeck.app. src/lib/brand.ts is the single rename point.
unit on team boostkit_unit on team boostkit, production at https://unitdeck.appengines in package.json)npm install
npx convex dev # pushes functions to the dev deployment and watches
npm run dev
Copy .env.example to .env.local and fill in the values. Convex writes its own values when npx convex dev first runs.
npm run lint
npm run typecheck # the app, then the Convex functions on their own config
npm run test
npm run build # Next.js only; deploys nothing
CI (.github/workflows/ci.yml) runs lint, typecheck and tests on every push and pull request.
A push to main is a production release. .github/workflows/deploy-production.yml deploys main to Vercel through the CLI, and the Vercel build command (vercel.json) is npm run build:vercel, which in the production environment runs npx convex deploy --cmd 'npm run build', so the same step pushes the Convex functions and schema to the production deployment. There is no staging step in between: treat a push to main as a change to the live app and its live data model.
Preview deployments of other branches do not run convex deploy unless the Vercel preview environment holds a preview deploy key (CONVEX_DEPLOY_KEY starting preview:). Without one, build:vercel builds Next.js only, against whatever NEXT_PUBLIC_CONVEX_URL the preview environment provides; with none set, the preview builds but has no Convex backend.
Every in-app address is built in src/lib/routes.ts and names a thing the way the office does:
| Page | Address |
|---|---|
| Production | /projects/0025 (job number) |
| Kit list | /projects/0025/kit-list |
| A day's call sheet | /projects/0025/call-sheets/2026-10-05 (shoot date) |
| Combined call sheet | /projects/0025/call-sheets/combined |
| Wrap report | /projects/0025/wrap/2026-10-05 |
| Quote | /quotes/260915_Rap_2 (quote reference) |
| Client copy of a quote | /quotes/260915_Rap_2/view |
Each page also opens from the database id that older links carry, then moves the address bar to the readable form (src/lib/use-canonical-path.ts). The old /projects/…/shoot-days/<id>/… addresses redirect (next.config.ts). Public links sent to crew, signers and PDF renderers are token addresses (/s/…, /sign/…, /print/…) and are unchanged.
orgId. Every query and mutation derives the org from the Clerk identity via requireOrg (convex/lib/auth.ts), never from client arguments.agentRuns, never directly to production data.src/lib/brand.ts.convex/lib/kitClashes.ts, a day at a time. The production page, the kit picker and the dashboard all read from it.convex/_generated/ai/guidelines.md before changing Convex code, and the relevant guide under node_modules/next/dist/docs/ before changing framework behaviour.docs/agent-context/docs/superpowers/specs/2026-06-12-unit-mvp-design.mddocs/superpowers/specs/, docs/superpowers/plans/docs/research/plans/