Github|...

Introduction

Spooky is a reactive, local-first application framework built on top of SurrealDB. It bridges the gap between the database and the client, providing live queries that update incrementally and efficiently with strong type safety.

Supported Frameworks

Spooky provides official client libraries for multiple platforms:

  • TypeScript / JavaScript (SolidJS, Vanilla)
  • Flutter / Dart (Mobile/Desktop)
  • Rust (Core library and WASM Modules)

Key Features

1. Live Queries

Instead of fetching data once, your components subscribe to Incantations. When data changes on the server (or locally), your UI updates instantly. No manual refetching required.

2. Local-First

Spooky uses IndexedDB to store a local replica of your data. This means your app works perfectly offline. Changes are queued and synchronized automatically when the connection returns.

3. End-to-End Type Safety

Your database schema is your application schema. Spooky generates TypeScript interfaces directly from your .surql files, ensuring you catch errors at compile time, not runtime.

Getting Started

Check out the Installation guide to set up your environment, or jump straight into a framework guide: