Skip to content
Sander

Laravel developer · Leeuwarden

How I build with Laravel

I am a developer in Leeuwarden and I build with Laravel when an application is more than pages: users, permissions, data. My base is the TALL stack: Tailwind, Alpine.js, Laravel and Livewire. This is how I go about it.

What I look after

What I do again in every Laravel application.

  1. 01

    From database to interface

    I build a feature through every layer in one go: migration, model, logic and the screen that goes with it. That is how I picked up parts of the MVP of EcoMobi.

  2. 02

    Livewire for interaction

    Forms, filters and boards that respond without a separate JavaScript app beside them. Alpine.js fills in where it is something small.

  3. 03

    Components you reuse

    Blade and Livewire components with one job. In EcoMobi one text input is used 62 times across the app.

  4. 04

    Roles and permissions

    User management with roles and permissions, and boards you invite people to by e-mail.

  5. 05

    Data from outside

    An API route that fetches data from external sources and stores it, ready to be visualised.

  6. 06

    Tested and documented

    Unit tests with Pest and written documentation of the architecture, so a team can carry on without me.

What did I build at EcoMobi?

EcoMobi is a policy support system for rural municipalities moving to sustainable mobility. It makes the information behind policy choices easier to reach and gives residents a part in them. I worked on it for five months, during my internship at Concept7.

Laravel and Livewire were both new to me. After a few practice projects I picked up parts of the MVP of my own, from database to interface, with every merge request reviewed. My work is in the product: fetching data from external sources, boards you share, archive and reorder by dragging, user management with roles and permissions, and a set of shared components.

Next to that I went through the accessibility against WCAG 2.2 (labels, ARIA labels and contrast), wrote unit tests with Pest, added a dark mode and documented the architecture, so the team could carry on without me.

internship at Concept7
5 months
times the same text input is reused
62
accessibility reviewed
WCAG 2.2

Built with Laravel

A data platform I helped build at Concept7.

View all work

Often in the same projects

  • Alpine.js
  • Filament
  • JavaScript
  • Livewire
  • PHP
  • Tailwind

How I work

Clear decisions, short loops and something real to react to.

  1. Find the actual need

    Before choosing a stack, I clarify the goal, the user and the smallest version worth building.

  2. Build the right amount

    I choose the simplest stack that fits, then move quickly into something real enough to test and improve.

  3. Refine the experience

    Responsive behaviour, subtle motion, accessible choices, readable code and a clear CMS turn a working build into a finished product.

Questions

What I often hear about it.

  1. For an application with forms, tables and boards Livewire is enough: the logic stays in one place, in PHP, and the screens need no API of their own.

  2. I choose the simplest stack that fits. Content someone manages: WordPress. An application with users, permissions and a lot of data: Laravel. A product where the interface weighs most: Next.js.

  3. With tests, readable code and documentation of the architecture. That is how I left my work on EcoMobi, where every merge request was reviewed by my supervisor.

  4. Yes, for admin screens. EcoMobi uses it next to Livewire.

Which stack when

I choose the simplest one that fits.

Stack When
WordPress Content someone manages themselves: a site, a portfolio, a blog.
Expo Something you carry with you and that has to remind you: an app.
Next.js A product with accounts, logic of its own or a lot of interaction.
Laravel An application with users, permissions and a lot of data.