
Template details
Surreal SvelteKit
A SvelteKit starter kit with SurrealDB, authentication, CRUD operations, and realtime data sync.
About this template
Surreal SvelteKit is a free open-source starter kit that combines SvelteKit with SurrealDB to provide authentication, CRUD operations, and realtime database sync in one project template.
What is Surreal SvelteKit?
Surreal SvelteKit is a boilerplate project for building full-stack web apps with SvelteKit and SurrealDB. It takes care of wiring up a Dockerized SurrealDB instance and a SvelteKit dev server with a single script, and ships with working account creation, login, username validation, and post-management flows. The project is maintained by GitHub user oskar-gmerek and is tagged for Hacktoberfest 2023, meaning contributors are invited to open issues and pull requests.
Key Features
- Authentication — Register, log in, and validate username input, with flows demonstrated in the repository’s included video demos.
- CRUD operations — Create, list, edit, and delete posts through a UI wired to SurrealDB; the README shows exactly these actions.
- Realtime sync — SurrealDB’s live query capabilities keep the SvelteKit UI updated when data changes in the database, without manual refresh.
- Form validation with Superforms and Zod — Uses sveltekit-superforms plus Zod schemas for typed, server-validated forms.
- MasterCSS styling — The template replaces TailwindCSS with @master/css.svelte, demonstrating the alternative CSS engine on a real project.
- Day.js integration — Included for simplified date and time handling in the frontend.
- Dockerized setup — The npm script
multitaskum:developumstarts SurrealDB inside Docker on port 8000 and launches the SvelteKit app on port 5173 in one step.
Who is it for?
- SvelteKit developers looking for a pre-wired starting point for auth and a realtime database, so they can skip the boilerplate and focus on their own features.
- SurrealDB learners who want a concrete example of using surrealdb.js with a modern frontend framework instead of a bare database demo.
- Hacktoberfest contributors who need a small, approachable open-source project with clear issues and an invitation to contribute.
What can you do with it?
- Start a CRUD app fast: clone the repo, run one install command, and get a working post-management UI backed by SurrealDB with auth.
- Prototype a realtime feature: use the template’s realtime setup as a base for chat, collaborative editing, dashboards, or notification feeds.
- Learn the stack: study how sveltekit-superforms, Zod, Day.js, MasterCSS, and surrealdb.js fit together in one SvelteKit application.
How does it work?
Clone the repository, install dependencies with bun, pnpm, or any Node.js package manager, then run multitaskum:developum. That script spins up SurrealDB in a Docker container on port 8000 and starts the SvelteKit dev server on port 5173, so you can open http://localhost:5173 and test account creation, login, and post CRUD immediately.
Pricing
Surreal SvelteKit is free and open source. The GitHub repository is public, and the author sponsors via GitHub Sponsors, but using the starter itself does not require any payment.
FAQ
Is Surreal SvelteKit free?
Yes. It is an open-source starter kit published on GitHub; you can clone it, modify it, and use it in your own projects without paying the author. The page includes a sponsorship link for optional support.
Do I need Docker to run it?
Yes. The one-command setup expects Docker Desktop to be installed, and ports 5173 and 8000 must be available so the SvelteKit app and SurrealDB container can run.
Which package managers are supported?
The README shows bun install and bun run multitaskum:developum, and notes you can use pnpm or any other Node.js package manager instead. The specific commands will differ only by the package manager prefix.
What does the multitaskum:developum script do?
It is the predefined npm script that starts SurrealDB in a Docker container and simultaneously launches the SvelteKit development server, so you get a full local environment with one command.















