Rad

Rad

Schema first relational database with generated type safe clients and automatic migrations

Open Source

Gallery

About Rad

Rad is an experimental relational database that rethinks the traditional stack by combining the database server, migration tooling, and type safe client generation into a single cohesive workflow. You define your schema in a YAML file, run one command to apply migrations, and get generated client code in Go or Rust that queries the database without raw SQL strings. The goal is to remove the friction between data modeling, persistence, and application code so that changes to your schema propagate automatically through the entire stack.

The problem it tackles is the disconnect most developers experience between their database and their application. You write a migration in SQL, then update your ORM models, then fix the type mismatches in your queries, then hope the production migration does not break something a test did not cover. Rad collapses those steps. The schema file is the single source of truth, migrations are generated from it, and the client library is regenerated to match. If you change a column name, the build fails until you fix every call site, which is exactly what you want.

Under the hood, Rad uses a machine friendly intermediate representation instead of raw SQL strings. Queries look like method chains in Go or Rust, compiled to a relational node graph that the planner optimizes. Persistence is backed by SlateDB on object storage rather than a custom disk format, which means you can run stateless compute against durable cloud storage without provisioning NVME volumes. The system supports standard relational operations including joins, CTEs, aggregations, and nested relationship reads that return structured data rather than flat rows.

It is aimed at developers building new projects who want a tighter feedback loop between schema and code, teams tired of maintaining separate migration and ORM tooling, and anyone experimenting with object storage backed databases. If you are already running a production workload on Postgres or MySQL, Rad is not a drop in replacement. It is research stage software designed for exploration, not for data you cannot afford to lose.

What sets it apart is the unified toolchain philosophy. Most databases treat migrations and client generation as afterthoughts or third party add ons. Rad treats them as first class features shipped in the same binary as the server. The generated clients are strongly typed, queries are validated at compile time, and the migration system handles online schema changes with data rewrites built in. There is also an AI agent integration that documents every CLI command so you can automate the workflow with skills compatible tooling.

Access is open source under a permissive license. You install the rad binary, init a project, define your schema, and start the server. The CLI handles migrations, code generation, and administration. Documentation is available on the website, and the GitHub repository includes a demo project. Be aware that this is a proof of concept with no API stability guarantees and zero production workloads. It is ready to try, not ready to trust with important data.

Key Features

  • YAML schema as single source of truth
  • Automatic migration generation
  • Type safe Go and Rust clients
  • Object storage backed persistence
  • Compile time query validation
  • AI agent skills documentation

Pros & Cons

What we like

  • Schema changes propagate to clients automatically
  • No raw SQL strings in application code
  • Stateless compute over durable object storage
  • Single binary includes server, CLI, and codegen

Room for improvement

  • Research project with no production workloads
  • No API stability guarantees yet
  • Only generates clients for Go and Rust
  • Requires learning a new query model

Frequently Asked Questions

What is Rad?
Rad is an experimental relational database that unifies the server, migration tooling, and type safe client generation into one workflow. You define your schema in YAML, and Rad handles migrations and generates strongly typed clients in Go or Rust.
Is Rad production ready?
No. It is a research project with zero production workloads and no API stability guarantees. It is ready for exploration and experimentation, not for important data.
Which languages does Rad support?
The generated database clients currently support Go and Rust. Other languages may be added in the future.
How does Rad differ from traditional databases?
Rad replaces raw SQL with a machine friendly query interface and backs persistence on object storage instead of local disk. It also bundles migrations and client generation as first class features rather than external tooling.

Best For

Prototyping a new application with tight schema iterationExperimenting with object storage backed databasesGenerating type safe database clients from a single sourceExploring relational databases without SQL strings

Featured in

Alternatives to Rad

View all

Reviews (0)

No reviews yet

Be the first to share your experience with Rad

Sign in to write a review

Badge builder

Add Rad to your website

Choose a badge style and size, preview it here, then copy the generated HTML. Badge images are self-contained SVGs and do not require an external script.

Rad badge preview
<a href="https://toolindex.net/tools/rad?ref=badge" target="_blank" rel="noopener">
  <img src="https://toolindex.net/badge/rad/medium.svg" alt="Rad - Listed on Tool Index" width="180" height="50" />
</a>

How to use the badge

  1. 1. Pick the style, size, and theme that fit your layout.
  2. 2. Copy the generated HTML from the code block.
  3. 3. Paste it into your footer, homepage, or press page.

Standard badge available

The standard listing badge is available now. Score and circle badges are limited to tools currently ranked in the top 10 of a category.

Badge clicks return visitors to this profile with a referral tag so the source remains identifiable.