Bialet#
Web apps from HTML and SQL. Nothing else.
One binary under 1 MB with a built-in database. No build step, no dependencies, no config — write a file, refresh the browser.
Install Bialet with a single command — macOS ARM, Ubuntu x86_64, or Ubuntu ARM:
curl -sSL https://get.bialet.dev | sh
Features#
Zero Configuration
Start coding in seconds — no YAML, no JSON, no setup files. Run
bialet in any directory and it just works.
SQLite Built-in
Store and query real data with zero setup — no separate DB to install or connect. Migrations, queries, and CRUD work out of the box.
Single Binary
Deploy by copying one file under 1 MB — no runtime, no package manager, no external services to provision. Ship anywhere in one step.
No Build Step
See changes instantly — edit a .wren file, refresh the browser,
done. No compile, no bundler, no watch process.
Getting Started#
Once installed, run bialet in your project folder and open 127.0.0.1:7001. Here’s a complete app in one .wren file:
// Bialet is a single-binary web framework: Wren scripting + SQLite, file-based routing.
// Drop `.wren` files in a folder, run `bialet`, and you have a server-rendered app.
var title = "🚲 Welcome to Bialet showcase"
// Normally, table creation goes in `_migration.wren` (run once at startup).
// Placed here so this showcase file is fully self-contained.
`CREATE TABLE IF NOT EXISTS items (phrase TEXT)`.query
// POST handling
if (Request.isPost) {
Db.save('items', {"phrase": Request.post("input").trim() })
System.log('✅ Item saved')
}
// Querying
var items = `SELECT * FROM items`.fetch
// Inline HTML with `{{ … }}`
var content = <section>
<h2>Items</h2>
{{ items.count > 0 ?
<ul>
{{ items.map{|item| <li>{{ item["phrase"] }}</li> } }}
</ul> :
<p>No items, create one!.</p>
}}
</section>
// Every `.wren` file is a handler; `return` sends the response body to the client.
// Use `<!doctype html>` for full HTML pages.
return <!doctype html>
<html>
<head>
<title>{{ title }}</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.fluid.classless.min.css">
</head>
<body>
<main>
<h1>{{ title }}</h1>
<form method="post">
<input name="input" placeholder="Write some text..">
<input type="submit" value="Add new item">
</form>
<hr>
{{ content }}
</main>
<footer>Made with <a href="https://bialet.dev">Bialet</a></footer>
</body>
</html>
Bialet integrates the object-oriented Wren language with
a HTTP server and a built-in SQLite database — in a single binary.
No configuration files, no dependencies, no build step. Just write .wren
files and run.
Who is Bialet for?#
Prototyping & Internal Tools
Spin up a data-driven dashboard or admin panel in minutes. Bialet’s all-in-one design means zero infrastructure overhead.
Learning Web Development
Focus on HTML, SQL, and basic logic — not webpack configs, package managers, or ORM abstractions.
Developers Who Value Simplicity
If you prefer a single tool that does one thing well over a dozen micro-libraries, Bialet is for you.