Convex functions.
One file.
Your server.
- Queries, mutations and actions in TypeScript, live on every screen
- Login, file storage, scheduler, crons and search
- A dashboard to see and fix what is going on
- Backups, HTTPS and updates with a way back
convex/messages.ts
import { query, mutation } from "./_generated/server";
import { v } from "convex/values";
export const list = query({
args: {},
handler: (ctx) =>
ctx.db.query("messages").order("desc").take(50),
});
export const send = mutation({
args: { author: v.string(), body: v.string() },
handler: (ctx, args) => ctx.db.insert("messages", args),
});
Terminal
notusbase init chat && cd chat
notusbase dev # server and dashboard, redeploys on save
src/App.tsx
const convex = new ConvexReactClient("https://api.example.com");
// unchanged client: useQuery(api.messages.list) updates live
In the box
Your Convex code
Functions written for Convex run as they are, and your app keeps the
convex client. Migrating is a guide, not a rewrite.
One binary
Server, bundler, runtime and command line in one file. No Docker and no other service to install.
SQLite
The data is one SQLite file on your own disk, with indexes and full-text search.
Dashboard
Data, functions, logs, failures, deploys, environment and limits, with the fix one click away.
Backups
Continuous backup to any S3-compatible storage, and restore to a point in time.
No cloud
No account and nothing running on anyone else's machine. One person runs it on one server.
NotusBook
NotusBook is a team notebook built on NotusBase: pages made of blocks, databases with table, board, calendar and timeline views, tasks, comments, version history and live presence. It is the first real system on NotusBase, and the showcase of what one binary on one server can carry.

Download
The packages open with the first public version. Today there is no stable version yet, and no system runs on NotusBase in production. Until then, the Quick start shows how it works.
FAQ
Is NotusBase Convex?
No. NotusBase is an independent server that runs functions written in the Convex format, and your app talks
to it with the official convex client. It is not made by or affiliated with Convex. What runs the
same and what differs is in Migrating from Convex.
Do I need a Convex account or any cloud service?
No. Everything runs on your machine or your server. Backups go to S3-compatible storage of your choice, and that is optional.
Is it open source?
Not today. The binary is free to use, including commercially, and if maintenance stops the code is published under the MIT license: see the continuity promise. The open source parts it includes are listed in the third-party notices.
Where does it run?
macOS on Apple Silicon for development, and Linux x86_64 with glibc 2.38 or newer (Ubuntu 24.04) for production.
How far does one server go?
NotusBase is one server with one SQLite file, by design: there is no sharding and no cluster. It fits apps whose data and traffic one good machine carries. Limits per function lists what each function may do.
Can I use it in production?
Not yet: there is no stable version so far. When there is, the Linux package is made for it: install.sh sets up the service, HTTPS and backups, and
update.sh updates with a way back. There is no warranty and no promise of support: see the
terms.
What is NotusBook?
A team notebook built on NotusBase, shown above. It exists to prove NotusBase on a real system.
Terms, in short
Free to use, including commercially. No warranty and no promise of support. The source code is closed for now, and if I stop maintaining NotusBase it becomes MIT: terms, continuity promise, third-party notices.