A Web Framework For The Rest Of Us

I'm not a traditional software engineer. My background is in IT and systems administration — lots of homelabbing and building tools to solve real problems. When I started creating my own projects, I kept running into the same issue: every web framework I tried got in the way more than it helped.

Django felt overwhelming before I could even write a single line of useful code. Flask was better, but I still found myself constantly switching between routes, blueprints, template files, and handler logic. And don't get me started on the JS frameworks. Skill issue? Probably. But they just don't feel good to use for me.

So I built ScribeFramework — a low-ceremony Python web framework that doesn't require complex project setup and lets you hit the ground running.

The Philosophy

The core idea is simple: start small, grow naturally.

Need a quick internal tool or a single-page form? Just create one .stpl file. It contains the route, the server-side logic, and the HTML/template all together.

Building something bigger? Split logic into dedicated Python files in lib/, create multiple templates, and organize however you want. The framework auto-discovers and wires everything up.

"Python where you need it" doesn't mean cramming everything into templates. It means you decide what belongs in the template, what belongs in a helper module, or what should be its own service — and ScribeFramework handles the connections without forcing you into a rigid project structure.

It's flexible by design. Instead of you conforming to the framework, the framework adapts to your workflow.

What It Is (and What It Isn't)

Scribe was built from a simple belief: frameworks should be tools, not destinations. It intentionally removes friction without removing capability.

It's ideal for solo developers, internal IT teams, sysadmins, and anyone building things people actually use — operational dashboards, internal tools, workflow systems, data-driven applications, automation interfaces.

It is not trying to replace every Python framework or become the center of an enormous ecosystem. It's also not anti-modern — sophisticated architectures are absolutely possible with Scribe. We simply believe developers should opt into complexity when they need it, not inherit it on day one.

Scribe is for people who have quietly wondered: "Why did building useful software become so complicated?" And then decided to do something about it.

Where It Came From

Scribe actually grew out of a side project — a text-based game engine I was building. After spending a lot of time on the underlying architecture, I realized I had accidentally created a solid foundation for a general-purpose web framework. I couldn't easily refactor the game into it, so I started over from scratch with web applications as the goal.

The name "Scribe" is a nod to that original game engine.

Today and Tomorrow

We're currently in Alpha (v2), with a single static Linux binary that gets you running instantly. Recent additions like project-level virtual environments let you bring in any Python packages you need, so you're never locked into what's baked into the binary.

The guiding principle remains the same: reduce ceremony, minimize context switching, and let developers focus on solving problems instead of managing framework boilerplate.

If that resonates with how you like to work, I think you'll feel right at home.

Install ScribeEngine →