open-source Framework core in Zig

Zypher — A Web Framework Built for Control, Performance, and Clarity.

Inspired by Django. Powered by Zig. Designed for engineers who want to understand their stack.

Fast & predictable

Performance is a design constraint. Zypher favors fixed costs, clear lifetimes, and explicit behavior.

Explicit over magic

Routing, middleware, templates, and state are visible in code. Less guessing, more control.

Built with Zig

Zig’s approach to memory and compile-time capabilities enables a framework that’s small, sharp, and auditable.

Modular architecture

Bring what you need. Leave what you don’t. Zypher is designed to be extended without hiding the internals.

Readable by default

Zypher is built to be learned. The public API stays explicit, and the internals stay approachable for contributors.

Zig-style pseudocode
const zy = @import("zypher");

pub fn main() !void {
  var app = zy.App.init(.{ .allocator = zy.heap.page_allocator });

  app.middleware(zy.middleware.requestId());
  app.middleware(zy.middleware.logger(.{ .format = .common }));

  app.get("/", struct {
    pub fn handler(ctx: *zy.Context) !void {
      try ctx.text(200, "Zypher says hello.");
    }
  }.handler);

  try app.listen(.{ .port = 8080, .host = "0.0.0.0" });