Where PHP,
Meets Elegance.

Doppar reimagines PHP. Temporal time-travel ORM, Observable Model Properties, multi-actor auth, AI pipelines, frozen services, and attribute-driven architecture — every feature crafted with intention, delivering a cohesive, intuitive DX.

Autonomous LLM

Native integration with self-hosted and cloud transformers.

Aristocratic Syntax

Code that reads like literature, executes like lightning.

System: Optimized
Frontend Ready

Your stack
0 configuration

The Doppar skeleton ships with Vite, Odo layouts, CSRF tokens, and HMR already wired in — the moment you create your project, the frontend is ready.

Choose React, Vue, Svelte, or Vanilla JS during setup. Doppar handles the build pipeline, asset hashing, and production delivery — you just write the UI.

  1. 1 Create a project with composer create-project — the frontend stack is included from the start.
  2. 2 Pick your stack during setup — React, Vue, Svelte, or Vanilla JS. Vite and HMR are wired automatically.
  3. 3 Build — the pipeline handles manifest hashing, compression, and production asset delivery out of the box.

Done before
your coffee cools

The Doppar skeleton scaffolds the client folder, Vite config, Odo layout bridge, and production asset flow. No docs needed.

Any framework,
one flow

React, Vue, Svelte, or Vanilla — the same Doppar pipeline wraps them all. Switch stacks without relearning the tooling.

Every tool you love

Already wired in.
Just start building.

Vite powers the build. Odo wraps the shell. Your framework owns the UI. No glue code required.

React Vue Svelte Vanilla JS Vite Tailwind CSS Bootstrap Odo layouts Build manifest
Frontend bootstrap

One command. Everything set up.

Watch Doppar scaffold the project, install the frontend stack, and wire the build pipeline automatically. No loose setup steps. No manual configuration.

Scaffold

Creates the app shell, environment, and backend foundation.

Choose

Pick Tailwind, Bootstrap, React, Vue, Svelte, or Vanilla.

Launch

Vite, HMR, manifest hashing, and Odo layouts arrive prewired.

Tailwind / React / Vue / Svelte
Vite, HMR, manifest, layouts
doppar-app installation
Live demo
Real benchmark

Performance, measured under load.

These numbers come from a real Doppar request running on Nginx + PHP-FPM + PHP 8.5, hitting a SQLite-backed route that returns User::find(1).

Peak throughput

2103.41

requests/sec at 4 threads and 200 connections

Fastest latency

24.16ms

average latency on the 2-thread baseline run

Highest load

500 conns

sustained near 2k req/s before pressure appeared

wrk profile SQLite-backed route
wrk -t2 -c50 -d20s 2066.98 req/s
wrk -t4 -c200 -d30s 2103.41 req/s
wrk -t8 -c500 -d60s 1959.45 req/s

Throughput

Requests per second

best run: 4t / 200c
0 req/s 1,050 req/s 2,100 req/s 2 threads / 50 connections 4 threads / 200 connections 8 threads / 500 connections 2066.98 2103.41 1959.45

Latency and saturation

Average latency under concurrency

604 read errors at max load
0 ms 84 ms 168 ms 252 ms 2t / 50c 4t / 200c 8t / 500c 24.16 ms 94.76 ms 252.25 ms

The goal here is not a hollow hello-world number. This route enters Doppar through the full HTTP layer, resolves the route, hits SQLite through the ORM, and returns a real response.

Full benchmark notes
Ultra-Clean Syntax — Unmatched Clarity

Write Less, Do More.

From attribute-based routing to built-in AI agents, every Doppar feature is crafted with intention — delivering a cohesive, intuitive DX.

use Doppar\AI\Agent;
use Doppar\AI\AgentFactory\Agent\SelfHost;

$response = Agent::using(SelfHost::class)
    ->withHost('http://localhost:1234')
    ->model('local-model-name')
    ->prompt('Generate a PHP function to validate email')
    ->send();
                                    
profiler
Made With Doppar

The documentation
you're reading right now
is built with Doppar.

Every route, every rendered page, every query — this entire site runs on the very framework it documents. A real production application.