Skip to content
OPEN SOURCE · ALPHA

Your database,
one file away.

Documents, queries, and live updates. Embed Meldbase in your Go app, or serve the same database to your browser and Node.js clients.

Apache 2.0 · Single node · Built in Go

A small API. A real database.
db, err := meldbase.Open("todos.meld")
if err != nil { return err }
defer db.Close()

todos := db.Collection("todos")
_, err = todos.InsertOne(ctx, meldbase.Document{
    "title": meldbase.String("Build something"),
    "done":  meldbase.Bool(false),
})

cursor, err := todos.Find(ctx,
    meldbase.Filter{"done": false})
Run the complete Go example →
01 Own your database file02 Query typed documents03 Subscribe to what changes

TRY THE QUERY

Change a document.
See the result move.

Check a todo or add your own. The result follows the query through the actual local SDK.

Collection todos

Live result 2 documents

todos.find({ done: false })
Write a documentfalse
Watch your query updatefalse

This demo runs in memory in your browser. Refreshing resets it. Connect a real app to the server →

SMALL FOOTPRINT. USEFUL PRIMITIVES.

01 / STORE

Keep the app close
to its data.

Open a durable .meld file from Go. Use documents and collections without running a separate database service.

Work with documents →
02 / QUERY

Ask for what
you need.

Filter, sort, and paginate. Add indexes for your access patterns, with explicit semantics for typed values.

Understand queries →
03 / CONNECT

Let your views
stay in sync.

Add the HTTP service when another process needs access. Subscribe to query results over WebSocket.

Build with live queries →

YOUR NEXT STEP

From first write
to a working app.

Released under the Apache License 2.0.