sparqweb.com and admin
A static marketing site and a Laravel back office, with git as the publish step between them
- Type
- Website and back office
- Status
- Live · sparqweb.com
- Year
- 2026

Sparq Web’s own website, built as two separate systems. The public site is static Astro with no client framework. The back office is Laravel with Inertia and React, and handles leads, live chat, the assistant’s answers and the website’s content.
The admin’s database holds drafts and people data. Anything the public site shows goes out through a Publish action that commits to the site repository, where CI checks schemas, runs a banned-claims check and tests the sales assistant’s knowledge before deploying. The site never calls the admin while rendering; only the contact form and live chat reach its API, so the marketing pages stay up when the back office is down.
Nobody can sign up to the admin. Invitations work once, expire, and carry their sender’s authority. Two-factor sign-in with TOTP is required, with recovery codes and passkeys, and deactivating a user ends their sessions everywhere.
How it works
- Admin drafts content
- Publish action
- Git commit
- CI checks: schemas, banned claims, assistant knowledge tests
- Static deploy
Engineering decisions
- The public site is static Astro and never calls the admin while rendering. Only the contact form and live chat reach the admin's API, so pages and the assistant stay up when the admin is down.
- Content publishes as a git commit to the site repository, where CI runs zod schemas, a banned-claims check and the sales assistant's knowledge tests before deploying.
- The admin holds the people and time data (users, invitations, audit log, leads, conversations, drafts), with TOTP two-factor sign-in, passkeys, and invitations that carry their sender's authority.
- Deactivating a user signs them out everywhere at once, and invitations they sent stop working.
Built with
- Astro
- Tailwind
- Laravel
- Inertia
- React
- TypeScript
- GitHub Actions