Matthieu Napoli
banner
mnapoli.bsky.social
Matthieu Napoli
@mnapoli.bsky.social
Building
▸ bref.sh
https://bref.sh/cloud
https://github.com/getlift
https://port7777.com
AWS serverless hero
Pinned
✦ Bref Cloud is live ✦

Modern PHP hosting should be simple: instantly scalable, redundant, monitored, and secure.

Get the best of AWS and serverless with an intuitive dashboard and CLI. No need to become an AWS expert

try it out ↓
bref.sh/cloud
Bref Cloud - Serverless PHP hosting on AWS Lambda - powerful, scalable, simple – Bref
Deploy PHP applications on AWS Lambda for unlimited scalability and enterprise-grade reliability. Get all the power of serverless without the complexity.
bref.sh
I often get asked about the differences between serverless and containers/servers

I updated Bref docs to be much more upfront about what to expect to migrate to serverless.

Am I missing something? What's unclear?
You can comment the PR here: github.com/brefphp/bre...
Docs here: bref.sh/docs
November 12, 2025 at 12:59 PM
My talk at PHPers in Poland is up!
Watch PHP scale on AWS Lambda in real time, link to the timestamp 👇
youtu.be/fNTgMshDLSw...
PHP serverless: how it actually works - Matthieu Napoli
Started in 2017, Bref is an open-source project that helps run PHP serverless on AWS. Today, Bref is used by thousands of companies and handles over 10 billi...
www.youtube.com
November 6, 2025 at 2:03 PM
Playing with an idea for PHP: auto-escaping untrusted strings in SQL queries.

What do we think about this idea? 👇
github.com/mnapoli/aut...
October 20, 2025 at 12:00 PM
Crossed 2000 pull requests in bref.sh 💪
Bref – Simple and scalable PHP with serverless
Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.
bref.sh
September 16, 2025 at 12:02 PM
That moment when you learn that one of the most well known and respected company on the internet uses Bref… but that they don't allow sharing the name 🥹
September 15, 2025 at 4:00 PM
SWIFT bank transfer blocked: "Please provide complete name"

"Null" *is* my company name…

Happened before to receive payments, now it's for paying others 😂
Also banks communicate via these printed protocols wtf
September 15, 2025 at 12:03 PM
New: run Laravel Tinker in AWS Lambda 🎉

Documentation: bref.sh/docs/larave...
September 12, 2025 at 11:57 AM
New post: Optimizing Laravel cold starts on AWS Lambda

I looked into pre-compiling opcache before deploying

mnapoli.fr/optimizing-...
Optimizing Laravel cold starts on AWS Lambda
This article is based on my notes after experimenting with caching as much as possible before deploying a Laravel application to AWS Lambda using Bref. The goal was to optimize AWS Lambda cold starts, without slowing down warm invocations.
mnapoli.fr
September 9, 2025 at 1:58 PM
Small improvements to the X-Ray bridge: there's a changelog (
bref.sh/xray/changelog), and Laravel's HTTP client is now automatically traced 💪
September 8, 2025 at 7:13 PM
So cool, my talk at DutchPHP is finally up!

This one was special for me for 2 reasons: I launched Bref Cloud during the talk, and a bit of a personal story at the end (with the floppy disks) ❤️

www.youtube.com/watch?v=yGL...
PHP serverless: how it actually works by Matthieu Napoli
We are happy to share this inspiring talk from The Dutch PHP Conference 2025!
www.youtube.com
September 1, 2025 at 3:00 PM
Reposted by Matthieu Napoli
Going Serverless doesn't mean starting over.

In a recent Compiled Conversations episode, @mnapoli.bsky.social shares how apps can go serverless without large rewrites - using it simply as hosting, without going all-in on cloud native.

🎧 compiledconversations.com/3/

#Serverless #PHP
August 23, 2025 at 2:14 PM
I've been deep into Bref v3 refactors, migrations, improvements… Feels so good when benchmarks show cold starts keep getting shorter 😌
August 25, 2025 at 11:39 AM
I am sure glad that GitHub has a generous free tier for open-source, and that depot.dev is graciously sponsoring Bref builds… and making them 10 times faster 💙💙
August 21, 2025 at 10:00 AM
> "if you're not embarrassed by the first version you've launched too late"

Me: one last easter egg, I promise last one
favicon.show/
favicon.show - Universal Favicon URL
Get any website's favicon with a simple URL. Fast, reliable, with smart fallbacks.
favicon.show
August 19, 2025 at 3:00 PM
A common mistake with migrations to Bref is setting AWS access keys in env variables.

That's not needed: AWS Lambda automatically provides access keys. It's more secure as these creds are granular, temporary, and rotated.

Documented that in a new page:
bref.sh/docs/enviro...
AWS credentials on AWS Lambda – Bref
Access other AWS services from AWS Lambda by using the built-in AWS credentials.
bref.sh
August 19, 2025 at 10:00 AM
The screenshot on
bref.sh/cloud now turns into a video when clicked

Here's the video, feedback is welcome!
August 18, 2025 at 3:00 PM
The thing I'm most proud of with this project is that I bought the domain AFTER building the thing 🏅
Week-end project: get the favicon of any website

runs on Cloudflare workers, code is open-source on GitHub. Loads of easter eggs on the website too :p

favicon.show/
favicon.show - Universal Favicon URL
Get any website's favicon with a simple URL. Fast, reliable, with smart fallbacks.
favicon.show
August 18, 2025 at 10:19 AM
Week-end project: get the favicon of any website

runs on Cloudflare workers, code is open-source on GitHub. Loads of easter eggs on the website too :p

favicon.show/
favicon.show - Universal Favicon URL
Get any website's favicon with a simple URL. Fast, reliable, with smart fallbacks.
favicon.show
August 17, 2025 at 5:35 PM
Published PHP-DI 7.1 which adds support for native PHP proxies for lazy-loaded services
github.com/PHP-DI/PHP-D...
Release 7.1.0 · PHP-DI/PHP-DI
What's Changed Add support for native PHP 8.4+ lazy proxies. by @BusterNeece in #917 When running on PHP 8.4 or later, lazy loaded services will now automatically use native PHP lazy objects. Tha...
github.com
August 15, 2025 at 3:24 PM
Tried GPT5 instead of Claude Code (via Conductor by @charliebholtz), it takes forever.
Last attempt at a simple task (add a model to Laravel Nova):
- GPT5 took 17 min (~$1) and didn't finish (rate limit error)
- Claude took 3 min, made one small mistake (fixed), and it's working
August 8, 2025 at 3:53 PM
I wish "Actions" and "Jobs" were the same thing/in the same directory (in Laravel).
The only diff is that one runs async, but both are actions. It's confusing having to search for logic in either directory depending on "how it runs".
August 7, 2025 at 9:25 AM
Reposted by Matthieu Napoli
Ep. 3: Serverless PHP w/ @mnapoli.bsky.social is live! ☁️🐘

We talk Bref's evolution and the launch of Bref Cloud:
🏗️ PHP on AWS Lambda
🔌 Laravel & Symfony integration
⚖️ Serverless vs Kubernetes
🧰 DX & platform design
🌱 Open source & sustainability

🎧 compiledconversations.com/3/
Serverless PHP with Matthieu Napoli - Compiled Conversations
Matthieu Napoli, creator of Bref, shares how PHP found its place in serverless through AWS Lambda - and what it takes to run modern applications without managing infrastructure. We cover Bref's archit...
compiledconversations.com
August 6, 2025 at 3:34 PM
Brilliant! SQS adds "Fair Queues"
Perfect for multi-tenant systems to prevent one tenant from hogging the queue for everyone else.

aws.amazon.com/blogs/compu...
July 22, 2025 at 9:29 AM
The `bref deploy` CLI will now suggest optimizing your deployment size when using the AWS or Google SDK.

Thanks to a tweak in composer.json their size can be drastically reduced.

Link for AWS SDK: github.com/aws/aws-sdk...
For Google SDK: github.com/googleapis/...
July 18, 2025 at 11:05 AM