The Problem With Framework Drift
When you run a platform long enough, the same problem emerges regardless of the language or framework you chose at the start: things drift. Services get out of sync. Shared utilities get copied instead of referenced. One team’s version of a DTO looks nothing like another’s. The bigger the platform, the worse this gets.
The answer isn’t a better code review process or stricter linting. The answer is a monorepo — everything versioned together, nothing allowed to fall out of sync, shared code treated as a first-class library rather than a pile of copy-pasted helpers.
That’s UbixCore.
What It Is
UbixCore is a PHP 8.3 monorepo framework built on Slim 4 with PHP-DI for dependency injection. It follows SOLID principles and PSR/PER standards throughout, with PHPStan running at max level and a custom CodeSniffer ruleset to enforce consistency.
The architecture is structured around a set of clear patterns:
- Repository Pattern with interface contracts and DTOs for every data access operation
- Strict custom data types — no raw strings or ints floating around domain logic
- Slim 4 middleware for HTTP handling, keeping controllers thin and testable
- PHP-DI for wiring everything together without service locator anti-patterns
- A CLI built on Symfony Console with auto-discovered commands for builds, deployments, database migrations, and more
The frontend is Svelte 5 / SvelteKit 2 with Tailwind CSS — a modern reactive UI that shares nothing with the PHP layer except HTTP contracts.
Sowing.me — The Reference Implementation
A framework without a real application to prove it is just theory. Sowing.me is UbixCore running in production.
Sowing.me is a membership and monetization platform for Christian content creators — think Patreon built for a community that was consistently underserved and demonetized on mainstream platforms. Creators publish videos, podcasts, and articles behind tiered subscriptions. Supporters pay directly, creators get paid out weekly or monthly, and nobody has to worry about a platform pulling the rug out from under their content.
It’s a fully functional two-sided marketplace: creator onboarding, subscription billing, content gating, analytics, and direct messaging — all running on UbixCore, deployed in Kubernetes, backed by MariaDB.
Why Open Source It
The honest answer is that frameworks are best stress-tested by people other than the person who built them. Every assumption I baked into UbixCore made complete sense to me when I wrote it. Exposing it to the open-source community is how I find out which assumptions were right and which were convenient fictions.
There’s also a practical argument: good PHP monorepo patterns are underrepresented in the open-source ecosystem. Most PHP projects are either single-application MVC apps or microservices with no shared code at all. UbixCore sits in the middle — large enough to demonstrate real architecture, small enough to be readable.
The source is at github.com/cwolsen7905/uBixCore. The live demo is at sowing.me. Take a look at both — the code and the product are the same thing.