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 simple app to price jobs, send invoices, pay your crew and keep track of change orders. Nothing else.
BusinessGitHub @HeidiWOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Marketing web site for JobsOxo
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Marketing site for JobsOxo: landing page, /privacy, /terms, and a waitlist endpoint. This repo is separate from the JobsOxo app.
POST /api/waitlist is the only serverless function.waitlist table); a confirmation email goes out through Resend.G-64Z1WC2M9S, loaded only after cookie consent; production builds only). Each signup sends Plausible waitlist_submit and GA4 sign_up, both with trade and crew.npm install
cp .env.example .env # fill in values to test the waitlist end to end
npm run dev # http://localhost:4321
npm run build # type-check + build
src/pages/index.astro landing page (sections below, in order)
src/components/ Nav, Hero, Problem, Features, BuiltInTheTrade,
NothingElse, Waitlist, Questions, Footer
src/pages/privacy.astro legal pages (share src/layouts/Legal.astro)
src/pages/terms.astro
src/pages/api/waitlist.ts POST endpoint: validate → Supabase → Resend
src/lib/waitlist.ts email regex, trades, crew sizes (shared client/server)
src/styles/global.css design tokens (light; dark ready via data-theme="dark")
supabase/config.toml Supabase CLI config
supabase/migrations/ database schema changes, applied in filename order
public/ logo, favicons, app screenshots
Schema changes live in supabase/migrations/. Never edit a migration that has already run; add a new one instead:
npx supabase migration new add_phone_column # creates supabase/migrations/<timestamp>_add_phone_column.sql
Write the SQL in the new file, then commit and push. With the Supabase GitHub integration connected (working directory .), migrations are applied to production when they land on main. Without the integration, apply them yourself:
npx supabase login
npx supabase link --project-ref fpgrgfhfcflwlxtjzuin
npx supabase db push
public/ and pass src to the <Photo> in Hero.astro and BuiltInTheTrade.astro.[bracketed] items (effective date, mailing address, notice period) in privacy.astro and terms.astro, then get a legal review.<Hero layout="app" /> in index.astro swaps the photo for the dashboard screenshot.POST /api/waitlist with { name, email, trade, crew, source } returns { ok: true } or { ok: false, error }.
ok: true without inserting again, so the response doesn't reveal who's already on the list.company honeypot field silently drops bot submissions.WAITLIST_NOTIFY_EMAIL is set, each new signup also sends a notification to that address.