I build line-of-business applications for the public sector with Laravel, Symfony, Vue 3 and PostgreSQL, deployed with Docker, Kubernetes and GitHub Actions. The pieces that keep coming back become small, focused packages, on Packagist and npm: one problem each, Laravel and Symfony/Doctrine support when it makes sense, tests and a short README.
| Released | Package | What shipped |
|---|---|---|
2026-10-08 |
site-audit v0.1.0 |
Audit a website you own from the command line |
2026-10-08 |
api-gouv-publique-fr v1.1.0 |
Typed client for French public APIs |
2026-10-08 |
laravel-keycloak-sanctum v1.0.4 |
Keycloak SSO for a SPA backed by a Laravel API |
2026-10-08 |
slug-history v1.0.4 |
Keep old URLs working when a slug changes |
2026-10-08 |
unaccent-search v2.0.4 |
Accent and case insensitive SQL search, without a database extension |
Kadelio is a SaaS to build a gift list from any online store and share it in one click, used by hundreds of people for births, weddings and birthdays. I design, build and run it end to end: React 19 and Tailwind front-end, Node.js API with Prisma and PostgreSQL, Stripe billing, transactional emails with Resend, error tracking with Sentry, a browser extension and Docker deployment. The code is private, the product is live.
- One problem per package. If a class keeps getting copied between projects, it becomes a package with tests (Pest, Vitest) and a README you can read in two minutes.
- Framework-agnostic when it matters. Laravel and Symfony share the same core; the bridge is thin and optional.
- Boring infrastructure on purpose. PostgreSQL, Redis, Docker, Kubernetes, GitHub Actions. Keycloak for SSO when the client already has it.
- Front-end that stays close to the data. Vue 3 with Pinia on the day job, React 19 on Kadelio, TypeScript on both.
- Website: augustin-kavera.fr, Laravel, Filament and Reverb on the back-end, Vue 3 and Pinia on the front, self-hosted with Docker, nginx and PostgreSQL
- Packagist: kaveraa
- npm: @kaveraa


