V-CMS 2.0
The modern approach to building PHP web applications starting from a rock-solid foundation: containerized local development, strongly-typed code, unit tests, strict coding standards, multi-threading capabilities, native compatibility with Tailwind CSS, HTMX, and Alpine.js, all optimized for production environments. Furthermore, the architecture is engineered to be exceptionally AI-friendly, including built-in foundational rules that LLMs can follow effortlessly.


A Breath of Fresh Air in Modern Web Development
At its core, the CMS utilizes CodeIgniter 4 which, despite growing in complexity compared to its predecessors, remains one of the lightest and fastest PHP frameworks available today.
Compared to V-CMS 1.0, version 2.0 comes straight "out of the box" with:
Architecture & Core (Modernized CodeIgniter 4)
- Robust Structure: Native support for Entities, Migrations, and Services.
- Stability: An advanced error reporting and catching system, similar to the one found in Symfony.
Performance & Infrastructure
- Speed: The option to run asynchronous/multi-threaded processes directly on FrankenPHP.
- Caching: Quick and effortless configuration for APC, OPCache, and Redis.
- Containers: A ready-to-go Docker image with all necessary PHP extensions pre-installed.
Modern Frontend & Security
- Dynamic Interface: Native integration with HTMX (for a seamless SPA experience without the overhead) and Alpine.js.
- Styling & Editor: Built-in integration with Tailwind CSS (token-based) and EditorJS.
- Protection: A complete authentication and authorization system via CI Shield.
Tooling, Code Quality & Deployment
- Mandatory QA: Static analysis via PHPStan, Unit Tests, and automatic code formatting using PHP-CS-Fixer.
- Automation: Pre-configured deployment stages via
makecommands and Bash scripts for rapidly pulling local assets (fonts, icons) during development.
The Pillars of V-CMS 2.0
This CMS is built upon a strict set of architectural rules and conventions from day one:
- User accounts are clearly structured using Role-Based Access Control (RBAC).
- The vast majority of content utilizes a soft-deletable mechanism.
- All entities within the administration panel are indexed and optimized for internal search engines.
- Data validation is multi-layered: handled by CodeIgniter 4 rules on the backend and Alpine.js on the frontend.
- User interaction is predominantly driven by HTMX.
- The URL functions as the application state.
- The application is PWA-ready and fully operational on mobile devices.
- Strict security defaults: CSRF protection and CSP (Content Security Policy) are enabled by default.
- Traceability: Every piece of data stored has a visible accountable user (including system-generated logs).
Thanks to this structural layout, the CMS is highly malleable. Currently, it runs successfully in production as a factory management system, an e-commerce platform, and an online catalog. A concrete example is the kloer.ro website, where these kinds of results have become the standard:

The Feeling of Having "Cracked the Code" in Web Development
By using this approach, I can deliver an incredibly high-performance product that is extremely easy for the end-client to use, built in record production times, and structured in a way that any other developer can rapidly understand. As a bonus, scaling the infrastructure is completely frictionless.
The Weak Spots
Looking at the bigger picture, this specific stack isn't the most popular on the market right now. Even though the views are cleanly structured as isolated components, the architecture isn't highly permissive for development teams larger than 4 people. The requirement for seamless collaboration within massive teams is what makes React with Node.js solutions far more popular across the industry.
AI Assistance in the Workflow
I have been delivering web applications for nearly 9 years. My first four years were spent working intensively with heavily modified, traditional CMS platforms, while the last 5 years have been focused exclusively on static applications and proprietary CMS engines written from scratch in PHP. This background gives me a clear perspective on the evolution of AI assistance. While LLM tools were almost useless in the beginning, today they have become core pillars of my workflow. After several months of refining and defining specific prompts and project-level instructions, the AI delivers excellent, consistent results.
For design and frontend prototyping, I use Google Stitch. The tool consistently outputs great results and allows for an impressive level of visual polish. The best part? Google Stitch offers direct export into Tailwind CSS code, and since V-CMS 2.0 is built on that exact same technology, integrating them is as simple as snapping two Lego bricks together.
Following the design phase, Cursor comes into play as another indispensable tool in modern development. By utilizing their Composer feature for roughly 80% of the tasks, with the remaining 20% split among models from Google, Anthropic, or OpenAI, the exported design is adapted and natively hooked into the CMS logic.
Why do I rely on Composer so heavily? Because I don't need it to design the architecture for me; I need it to execute repetitive tasks quickly and accurately, which is where it excels. It is fast and highly efficient, allowing me to maintain an aggressive development pace. Of course, like any LLM, it requires constant verification, as it has a tendency to drift from the established project rules about 1% to 5% of the time.
For me, writing templates and mapping raw frontend logic was laborious work that consumed a lot of time and mental energy. By delegating this process to Cursor, I can focus exclusively on pure business logic, which is the area of programming that brings me the most satisfaction.

At this moment, as a developer, I am thoroughly satisfied with the efficiency of this product, and the feedback received from clients mirrors this sentiment. It remains to be seen how well it stands the test of time.
Thinking about improving your business with a web system?
The consultation is free. Pricing is hourly or per project.
I can help you see if what you're proposing is viable and give you an approximate cost.




