Hi, I’m Rene Schallner. I build software, tools and products where AI meets research. I run AI Research & Technology Lab in Vienna, where I’m building QualCode and LaBrowser. Before that: Chief Founding Engineer at ZML, eight years at NIM, medical tech and telecom.
Most of my side projects start with a question: can I do this without that? I build the thing, use it for real, and write down the verdict. The good ones grow up and get a successor. More about me.
Latest writing
The family tree
My projects aren’t a list. They’re a family tree: each line is a lineage, and the good ideas keep coming back in the next project.
- Notes: sublime_zk → sublimeless_zk → telekasten.nvim → omajop → omajot. Zettelkasten tools since 2017, one editor at a time.
- Web, in Zig: zap → bounded/http → baz. From a C foundation to pure Zig with hard limits.
- Slides: Bûllets → slides → rayslides. Plain text in, great talk out. Third attempt, best one.
- No cloud: dockercr → omajot. If SSH or Tailscale can do the job, I don’t need somebody’s cloud.
omajot is where the lines meet: notes from the green line, a hub served by baz from the orange one, and the no-cloud rule from the blue one.
Omarchy
Omarchy is my desktop. When I miss something in the bar, I write a plugin for it. There are four so far, and each one installs with a single command.
omajot

My own notes app, synced by my own hub. A dropdown and a main window in the bar, full keyboard control, and the same notes in the terminal and on my phone. Repo →
omajop

A Joplin notes browser: folders and tags, the note list and the rendered note, one click away. omajot’s predecessor. When you’re ready to move, omajot imports Joplin in one command. Repo →
omapress

Omarchy news in the bar. The newspaper turns red when there are unread posts, and a keyboard-driven panel reads them without a browser. Works offline. Repo →
omarchy plugin add https://github.com/renerocksai/omajot --enable
omarchy plugin add https://github.com/renerocksai/omajop --enable
omarchy plugin add https://github.com/renerocksai/omapress --enable
omarchy plugin add https://github.com/renerocksai/neomarchy --enable
omajot also needs its hub on an always-on machine: see Get started.
Case studies
The question, the trade, the verdict.
Synced notes with no cloud at all?
omajot · Zig · CRDT · WASM · Tailscale
Apple-Notes-like markdown notes in the Omarchy bar, in the terminal, and on my iPhone. No Dropbox: a small Zig hub syncs every device over Tailscale. The hub runs on my always-on M3 Max, the same box my coding agents already live on. Hub-and-spoke is a pattern I trust, so notes got the same treatment. A CRDT written in Zig merges concurrent edits, and the same Zig core runs natively on the desktop and as core.wasm in the phone’s web app. The hub is a baz app.
Trade: Dropbox’s zero-setup sync, for notes that never leave my own machines, work offline, never conflict, and that agents can script.
✓ verdict Daily driver. My notes live there now.
A container registry with nothing but SSH?
dockercr · Docker · SSH
omajot’s older sibling in spirit. ghcr.io has download limits. A self-hosted registry wants TLS, a CA and access tokens. dockercr skips all of it: the registry only listens on loopback, and SSH port forwarding does the authentication and the encryption. No Docker Hub, no certificates.
✓ verdict Push to production like a boss.
Fast, and never past its limits?
bounded/http + baz · Zig 0.16 · io_uring · kqueue · IOCP
Zap made Zig backends blazingly fast on top of facil.io, a C library. bounded/http replaces that foundation with pure Zig on io_uring, kqueue and IOCP, inspired by TigerStyle: connections, buffers, queues and workers are reserved up front. When capacity runs out, it pushes back instead of growing. On Linux it needs no libc, so a server can be one static binary. Baz (Bounded Async Zap) puts Zap’s typed endpoints on top, with streaming, SSE, Mustache templates and cookies.
✓ verdict Good enough to trust with my notes: it runs the omajot hub.
Can I build the CPU I drew in the nineties?
rrisc · VHDL · FPGA
In the early nineties I designed a small Radical RISC CPU on paper. At Christmas 2020 I finally built it: VHDL, simulated with ghdl and gtkwave from vim and tmux, with its own assembler, running on a Xilinx Spartan-7 FPGA board. The whole story is written up, from microcode sketches to the first executed instruction.
✓ verdict Nearly thirty years late, and it runs.
Can slides stay plain text and still not suck?
rayslides · Zig · raylib
My third answer to the same question. Bûllets (2020) turned the Godot game engine into a slide show: interactive animations, a game in your deck, and a multiplayer mode. Slides (2021, my first Zig project) went small: one executable, Dear ImGui and OpenGL, a markdown-ish text format, at 10 000 FPS. rayslides, built on raylib, keeps the readable source and adds a visual Studio that stays in sync with it, reveals, transitions and morph animations, and an embedded Neovim. Bûllets’ multiplayer grew up, too: it’s now a phone remote with speaker notes, plus Crowdplay audience polls.
✓ verdict Nobody has noticed I’m not using PowerPoint.
Can a database built for money sell conference tickets?
TigerFans · TigerBeetle · FastAPI · Python
A ticket booking system on TigerBeetle. Tickets and goodies are accounts and transfers. A checkout places a time-limited hold, a pending transfer, and the payment webhook either finalizes or voids it. It uses FastAPI, Redis and PostgreSQL, has load tests, and I wrote an auto-batcher for the async TigerBeetle client along the way. The write-up has the details, or try it live.
✓ verdict If you can reserve it or run out of it, TigerBeetle can count it.
