Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
One ledger for every watch that comes back to you.
BusinessTypeScript · PLpgSQLGitHub @nodus-pivotOnlineOwner 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
Pivot Charlie: Nodus repair ticketing, sheet-fed intake
Translation pending
Loading the full README. The saved excerpt is shown below.
Nodus Watches' repair ticketing, second demo. Next.js 16 + Supabase. New tickets arrive from the
Google Sheet "Nodus Warranty Claims" (Incoming Watches tab); accepting one moves the row to the
current month tab and creates the ticket here.Read the full README ↗Nodus Watches' repair ticketing, second demo. Next.js 16 + Supabase. New tickets arrive from the Google Sheet "Nodus Warranty Claims" (Incoming Watches tab); accepting one moves the row to the current month tab and creates the ticket here.
npm install (Node 24+; on this Mac export PATH=/opt/homebrew/bin:$PATH)..env.local holds the Supabase URL and keys, the Google service-account key (base64 JSON) and
the sheet ID. Ask an owner for a copy; it is never committed.npx supabase link --project-ref vmzypgrryjspytnxhipm once, then:
npm run db:push applies migrations in supabase/migrations (one baseline file; see
docs/SCHEMA-V2.md). While pre-launch, schema changes edit the baseline and then
npx supabase db reset --linked rebuilds the database and runs the seed.npm run db:seed regenerates supabase/seed.sql from supabase/seed.py and applies it.
Re-run any time to reset the demo tickets and demo people; tickets created in the app are kept.
Then node --env-file=.env.local scripts/seed-photos.mjs uploads the two demo photos.npm run db:types regenerates src/lib/supabase/database.types.ts. Run it after every
migration and commit the result.npm run dev.Every demo account uses the password PivotDemo2026!! (the seed resets it).
| Role | |
|---|---|
| [email protected] | owner (Wes) |
| [email protected] | owner (Cullen) |
| [email protected] | watchmaker, Nodus |
| [email protected] | brand rep, Nodus |
Pushes to main deploy to Vercel (project pivot-charlie). Preview deployments get the same
environment variables.
The app acts as the service account [email protected],
which must be an Editor on the sheet. Pivot reads Incoming Watches, moves accepted rows to the
MMM YYYY tab (creating it if missing) and dismissed rows to Archive, and writes back only the
month row's Solution, Payment Received?, Repair Completed? and Shipped Back? cells.