We got tired of rebuilding the same 80%
Every enterprise project starts the same way: authentication, CRUD operations, admin UI, audit logging, API endpoints. None of it is your competitive advantage. All of it is slow, hard, and a liability waiting to happen.
The Problem We Kept Hitting
Project after project, we found ourselves writing the same boilerplate. Build the data layer. Wire up the API. Create the admin screens. Add authentication. Implement audit trails. Handle permissions. It was months of work before we could even start on the features that actually mattered.
And every time, that undifferentiated code became technical debt. Security patches. Framework upgrades. Bug fixes in CRUD logic that should have been trivial. The 80% that "just works" never just works.
We wanted a different approach: define what your application does, not how to build the plumbing. An opinionated framework that makes the right choices so you can focus on the 20% that actually matters.
What We Believe
Opinionated by Design
Flexibility is overrated. The best frameworks make decisions for you so you can ship instead of debating architecture. When you need to break the rules, you can—it's just Java.
Open Source Forever
Apache 2.0 licensed. No open-core bait-and-switch. The framework that runs your business should never be held hostage by a vendor's pricing decisions.
Enterprise Without the Pain
Security, compliance, and scalability shouldn't be afterthoughts. They're baked in from day one—because bolting them on later is how projects fail.
17 years of solving the same problem
qqq started as a way to stop rewriting the same code. It became a philosophy: define your application, not your plumbing.
First version built
After yet another project spent rebuilding CRUD screens and authentication, we built the first qqq to capture the patterns we kept repeating.
qqq v2 goes enterprise
The framework powered its first large-scale SaaS application. Real users, real scale, real feedback. The patterns held up.
Battle-tested across projects
Multiple production applications running on qqq. Each deployment taught us what mattered and what was just noise.
qqq v4 goes public
We rebuilt from the ground up with everything we learned. Modern Java, clean architecture, and Apache 2.0 licensed for everyone.
QRunIO launches
The framework deserved a full ecosystem: managed hosting, AI-assisted development, and a marketplace for reusable components.
Skip the 80%, build the 20%
Every feature below is something you'd otherwise spend weeks building. With qqq, they're just... there.
Complete CRUD
Define your tables. Get create, read, update, delete, list, search, and export. No hand-wiring required.
REST API
Every table automatically exposes a REST API. OpenAPI docs included. Stop writing endpoint boilerplate.
Admin UI
A complete admin interface generated from your metadata. Search, filters, forms, validation—all automatic.
Authentication
Login, sessions, password reset, OAuth—all built in. Stop implementing the same auth flows for every project.
Audit Logging
Every change tracked automatically. Who changed what, when, and the before/after values. Compliance-ready from day one.
Permissions
Role-based access control down to the field level. Define once, enforced everywhere. No permission checks scattered through your code.
Workflows & Processes
Multi-step business processes with state management, approvals, and branching logic. Define once, run reliably forever.
Scheduled Jobs
Cron-based scheduling with retries, failure handling, and monitoring. Background tasks that just work without the infrastructure headaches.
Reports & Data I/O
CSV imports, Excel exports, PDF reports, and bulk data operations. The data pipeline features stakeholders always ask for, already built.