A software studio

PHP deserved better AI tooling.

So we started building it, in public, one package at a time.

01 — Why we exist

The gap was obvious.

When AI features started landing in real applications, the tooling around them grew up almost entirely in Python and JavaScript. PHP teams were left wiring HTTP clients by hand and keeping prompts in string literals.

Laravel's AI SDK closed part of that gap. But the layer around it stayed missing: no standard way to version a prompt, no middleware between an agent and a provider, no answer to what happens when the model does something you didn't plan for.

PromptPHP exists to build that layer. Deck came first, because prompts scattered through controllers were the problem we hit hardest. Intercept followed, because once agents could call tools, "it usually behaves" stopped being good enough.

The studio around those packages funds the work. Client engineering keeps us honest about what production actually demands, and commercial products pay for the maintenance that open source alone never does.

VU

Victor Ukam

Founder & maintainer

Builds and maintains Deck and Intercept, writes most of what appears on the blog, and leads client engagements. Works in PHP and Laravel, and has opinions about middleware.

02 — What we believe

Opinions the code actually holds.

These aren't values on a wall. Each one shows up as a design decision in something we've shipped.

01

Prompts are source code

If a string changes model behaviour, it belongs in version control and in code review. That belief is the entire reason Deck stores prompts as versioned files rather than database rows.

02

Trust is a boundary, and it's yours

User text should be screened inside your application, before it becomes the provider's problem. Guards that run anywhere else are someone else's guarantee.

03

Destructive actions need consent

A tool that writes or deletes should wait for a human or an explicit policy to agree. Confidence from a model is not consent.

04

Small and permanent beats broad and abandoned

Each package does one thing completely. Narrow scope is what makes it possible to maintain them for years rather than months.

05

Free stays free

Nothing released under MIT gets fenced off later. Commercial products are built alongside the open source, never carved out of it.

03 — How we got here

A short history.

2025

Prompt Deck ships

The first package, born out of a real project where prompts had spread across a dozen controllers and nobody could say which version was live.

2025

Featured in Laravel News

The wider ecosystem turned out to have the same problem, which was the signal that this was worth continuing.

2025

Intercept ships

Middleware guardrails for Laravel AI agents — security, observability, performance and guidance — after tool-calling made the risks concrete.

2026

PromptPHP becomes the studio

Prompt Deck becomes Deck by PromptPHP, the packages move under one organisation, and client engineering and commercial products join the open source work.

Next

Evaluation and hosted tooling

Extending outward from prompts and middleware. Announced first to the newsletter.

Built with the community

Both packages take contributions, and plenty of what's shipped came from people who hit a problem and sent a fix rather than a complaint. Issues, pull requests and hard questions are all genuinely welcome.

If the packages have saved you time, sponsorship is what keeps the maintenance sustainable — it buys the hours that go into releases, security notes and answering issues.

0
Packages
0
Laravel News
Newsletter

What actually changed, once a month.

  • 01New releases. What shipped in Deck and Intercept, what broke, and what you need to change.
  • 02Security notes. Advisories, new guard patterns, and attacks worth knowing about.
  • 03The Laravel AI ecosystem. What's moving in the SDK and the packages around it.
Roughly monthly.·No marketing.·Unsubscribe in one click.

We send one email a month and nothing else. Your address is never sold, shared, or used to sell you anything.