Skip to content
The technology stack

Every choice has a reason.
Every reason is your advantage.

Tiger's stack isn't chosen to be trendy — it's chosen to be proven, portable, fast, secure, and understood by AI. Every layer runs the web today, has run it for years, and will keep running it — so what you build stays fast, stays yours, and is easy for your AI to work on.

The thread through every choice below: predictable, explicit architecture that an AI can read and extend with confidence. Rigid structure isn't old-fashioned here — it's exactly what makes Tiger a great platform to build on with Claude Code.

PHP 8

The language that runs the web

PHP powers roughly 77% of all websites — WordPress, Wikipedia, Etsy, Slack's backend, Mailchimp. And PHP 8 is fast and modern — JIT-compiled, with optional strict typing when you want it. Each request runs in a clean, isolated process — no shared state to leak, stateless by design, which makes it stable by design. The talent pool is huge and affordable, so hiring is a solved problem.

Modernized ZF1 — rigid, predictable MVC + SOA

AI-native by construction

Tiger runs a PHP 8 evolution of Zend Framework 1's architecture: enterprise-grade structure with modern language features. The payoff for AI-assisted development is huge — controllers live in the controllers directory, models in models, views in views, and every module follows the same shape. When your AI reads a Tiger app it doesn't guess; it reads a predictable pattern and works with confidence. The wiring is explicit — what you see is what runs — so nothing is hidden behind runtime magic the AI has to infer.

A GRX monolith

One process. One deploy. ~10ms.

Twenty microservices mean twenty deployments, network boundaries to debug, and orchestration overhead that needs a full-time DevOps engineer — distributed-systems complexity at startup scale. A well-structured monolith is faster to build, easier to debug, simpler to deploy, and cheaper to run. Tiger is one application, one process, one deployment, ~10ms responses — no service mesh, no API gateway, no container choreography.

A zero-build frontend

Bring your own JavaScript

Drop a JavaScript file in, reference it in your view, and it works — React, Vue, Alpine, vanilla, or nothing. No Webpack, no Vite, no Babel, no bundler, no node_modules folder with tens of thousands of transitive packages you've never audited. That's also a security decision: deep npm dependency trees are a real supply-chain attack surface, and the best defense against a supply-chain attack is not having a supply chain. The best part is no part.

MariaDB

The default — or any PDO database

Tiger ships on MariaDB: the open-source continuation of MySQL, maintained by its original creators after Oracle acquired MySQL — fully MySQL-compatible, ubiquitous, and free of vendor lock-in. A great, boring default that runs everywhere. But the data layer is database-agnostic: point it at any engine with a PDO driver — PostgreSQL, MySQL, Oracle, or SQL Server — and the query builder and models work the same. Your database stays invisible, and yours.

Apache or Nginx

Battle-tested. No proprietary runtime.

Apache has served the web since 1995, Nginx since 2004; between them they handle most of the traffic on earth, and every host supports them. Tiger doesn't need an edge network, serverless functions with cold-start penalties, or a vendor routing layer — just a web server that hands a request to PHP. No cold starts, no invocation fees. The request arrives, PHP handles it, the response ships.

Composer

Sane, explicit dependencies

Composer dependency trees are flat and explicit: you declare what you need, versions resolve deterministically, you commit the lock file, and every install is identical. Tiger's composer.json is a short list of intentional packages from established vendors — AWS SDK, Stripe SDK, PHPMailer — each a deliberate choice with a security team behind it. You can actually read the list and know what's there and why.

Server-side rendering

The page arrives complete

A browser requests a Tiger page and gets complete, rendered HTML — no blank screen while a client framework boots, no "loading…" spinner, no hydration step. That means fast by default (HTML paints before any framework could bootstrap), SEO-ready by default (search engines see full pages), accessible by default (screen readers see content immediately), and resilient by default (if JavaScript fails, the page still works).

DB-backed sessions

The server knows who you are; the browser doesn't

On login, Tiger writes a session record and hands the browser an opaque token — a UUID that means nothing on its own. Every request looks up the session and the ACL evaluates permissions in real time. The token carries identity only, never roles or claims, so there's nothing to forge and permissions can be changed or revoked instantly — no waiting for a token to expire. Less is more: the token carries identity, the server carries everything else.

MVC + SOA

Separated concerns the AI can navigate

Model, View, Controller for the web layer — plus a service layer (SOA) where the business logic lives. Each has one job and one predictable location: data in the model, presentation in the view, thin request-handling in the controller, business logic in the service. Every layer can be tested, changed, or replaced independently. For AI-assisted development that's the whole game: when your AI needs to change how data is stored it goes to the model; how a page looks, the view; how the business logic behaves, the service. It never has to wonder where something lives. Predictability is productivity.

BSD-3 license

Enterprise-safe, commercially permissive

Use it however you want — modify it, build a commercial product on it, sell that product, keep all the money. The only asks: keep the license notice, don't use the project name to endorse your product, and don't blame us if something breaks. Unlike copyleft licenses (GPL/AGPL), where derivative or even networked use can force your own code open, BSD-3 is the license enterprise legal teams approve without a fight — protective enough to trust, permissive enough to be practical.

At a glance

The full stack, one table

Layer Tiger's choice Why
Language PHP 8 77% of the web, huge talent pool, process-isolated, fast
Framework Modernized ZF1 Rigid MVC + SOA, AI-native structure, enterprise patterns
Architecture GRX monolith One process, one deploy, ~10ms, no microservice sprawl
Database MariaDB, or any PDO engine Postgres, MySQL, Oracle, SQL Server; MariaDB by default, no lock-in
Web server Apache / Nginx Decades proven, zero cold starts, no vendor runtime
Dependencies Composer Flat, explicit, auditable — no npm supply-chain risk
Frontend Zero-build No bundler, no transpiler, bring your own JS
Rendering Server-side Complete HTML, no hydration, SEO + accessible by default
Sessions DB-backed Server-side state, opaque token, no JWT exposure
Pattern MVC + SOA Separated concerns, predictable structure, AI-friendly
License BSD-3 Enterprise-safe, commercially permissive, no copyleft
Every choice leads to the same place

You own it.

No vendor lock-in. No proprietary runtime. No build pipeline that breaks. No dependency chain you can't audit. No client-side token carrying your security model in plain text. No microservice constellation that needs a team to run. One framework, one server, one process — full ownership, ~10ms.