Seb De Deyne
When building a website for a client that wants to be able to manage content, Laravel’s language files aren’t ideal since you can’t edit them without diving into a bundle of text files. We recently decided to drop all the lang files in our custom CMS in favor of persisting translations in the database, which allows us to build a custom interface for managing them.
This post is a quick overview on overwriting Laravel’s default translation loader, which means you can keep using the lang
method while fetching the translations from a database. Writing a custom loader is easier than it sounds. First we’ll set up our translation models, then we’ll write our loader, and finally register it in our application.
Read more
Dynamic languages allow us to pass anything as a parameter without requiring a specific type. In turn, this means we often need to handle some extra validation for the data that comes in to our objects.
This is a lightweight post on handling your incoming values effectively by normalizing them as soon as possible. It’s a simple guideline worth keeping in mind which will help you keep your code easier to reason about.
Read more
Over the past few weeks I’ve been migrating our asset pipeline at Spatie from Laravel Elixir (a gulp wrapper) to webpack. Between having endless possibilities, the occasional incomplete section in the docs, and the fact that everyone has slightly different needs for their asset pipeline (which makes examples hard), it has surely been an adventure. I’m going to do a quick summary of my goals, and how I achieved them with webpack. Hopefully there will be some useful snippets in here for when you’re setting up your own webpack configuration.
I’m not going to explain any basic concepts. If you’re new to webpack, I’d recommend you to go through Webpack Your Bags on madewithlove’s blog first. On the other hand, if you just want a tl;dr in the form of a webpack config file, our base configuration is hosted on Github.
Read more
I’m a designer and full-stack developer from Belgium. I work at Spatie, a small but mighty web agency in Antwerp. We specialize in Laravel development, and have released a lot of open source packages.
Over the years, I’ve floated between backend development, frontend development, design, and product/project management.
Colophon
This blog is generated with Hugo and hosted on Netlify. Plain old vanilla CSS and zero JavaScript, except for some privacy friendly analytics with Fathom. Fonts are Karla and Berkeley Mono. I wrote some notes on the most recent design here.
I occasionally send out a newsletter with personal stories, things I’ve been working on in the past month, and interesting things I come across.
There’s no fixed frequency, but generally don’t expect more than one or two mails per month. Consider it an adventure for both of us!
Last updated 2023-03-21. What’s this?
Now, I’m learning Svelte. I’m using it for side projects, and recently for a small project at work for the first time.
I’m investing more time in frontend in general & design, after doing primarily backend for the past three years.
In my free time, I’m learning photography.
Over the years, I’ve spoken at some conferences and meetups. 2019–2022 was pretty calm on conferences, but I’m looking forward to get back into public speaking in the future.
- Strongly typed views in Laravel — Talk at Laracon EU (Lisbon, 2023)
- Using Vite in Laravel — Talk at Laravel Worldwide Meetup (Online, 2021) [Video]
- Have your cake and eat it too with Inertia.js — Talk at Laracon EU (Amsterdam, 2019) [Video]
- Four feature prioritization systems in four minutes — Lightning talk at Full Stack Europe (Antwerp, 2019) [Video]
- Writing open source software — Lightning talk at Full Stack Europe (Antwerp, 2019) [Video]
- React Hooks with Cocktails — Talk at Full Stack Ghent (Ghent, 2019)
- Considering Single Page Applications — Talk at Full Stack Antwerp in (Antwerp, 2019)
- Server Side Rendering in PHP — Uncon talk at PHPBenelux (Antwerp, 2018)
Welcome to my /uses
page! This isn't meant to be a complete list of everything I touch on a daily basis, but a spotlight of the tools I enjoy using most.

Workspace
| |
---|
Laptop | MacBook Pro M1 2020 |
Stand | Rain Design mStand |
Speakers | Bose Companion 2 Series II speakers |
Monitor | LG 27MU67 |
Keyboard | Keychron Q1 w/ Phantom Red switches |
Mouse | Logitech MX Master |
Mic | Shure MV7 |
Studio arm | Rode PSA1 |
Headphones | AIAIAI TMA-2 |
Desk | Fully Jarvis w/ custom rubberwood top |
Chair | Herman Miller Aeron |
Light | Mr. Wattson |
Development
My current IDE of choice is PhpStorm. I’ve been predominantly writing PHP you can’t beat PhpStorm when it comes to navigating and refactoring a large codebase.
Taking autocompletion and other IDE features out of the picture, Sublime Text is still my favorite editor. Its snappiness and multi-cursor options make it feel very natural, and it supports anything you throw at it regardless of format or size. I use a GitHub light theme in both editors.
Productivity
My main browser is Safari. I value its low footprint and sync with my other devices, despite being the weakest of the bunch when it comes to devtools. When I occasionally need more advanced tooling, I switch to Chrome.
I use Things to manage tasks that are time-sensitive or need a reminder. I tend to store more information in note-taking apps. iA Writer has always been a staple for writing and note-taking.
I also want to mention Excalidraw. I do a lot of UX & product design work, and Excalidraw has been my tool of choice to mock up interfaces or create diagrams to clarify specs & documentation.
Reading, learning, leisure
On my Mac & phone I use Reeder. It’s one of those Mac apps that has craft oozing out of it. It’s tied to my Instapaper & Feedbin accounts. I use Feedbin over a free RSS aggregator because it has great email integration for newsletters. Instapaper is my read it later tool of choice because of its Kindle integration, where I do most reading.
I store bookmarks in Pinboard. It’s a fast, simple product that has just the amount of features I need. Another daily driver is Tweetbot which I use on my Mac & phone to browse Twitter.
More setups across the web
Some other people’s setups and uses pages that inspired me in the past or for the future.