Petro Lashyn

@labrodev.bsky.social

CTO Well Digit | Software Engineer | Laravel Developer | Build SaaS applications

Showing data on a Laravel + Inertia page is four classes, one job each: IndexQuery fetches the list. ViewModel shapes the page. Resource shapes each model. Format a date or prepare some select options? ViewModel. Filter a list? IndexQuery. Shape a model? Resource. Code is puzzled intentionally 👌

A Laravel controller receives input, delegates, returns a response. That’s the whole job. Banned inside, by rule: branching, calculations, inline Eloquent, ->save/->update/::create, DB::transaction. All of it lives in a Core Action. Input in, delegate, respond.

Bild

About controllers in Laravel. One rule I never break: one endpoint = one invokable controller, one __invoke(). No multi-method controllers. CRUD isn’t one BookingController with 7 methods. It’s 7 tiny classes, one reason to change each. Route::resource() banned — it hides 7 endpoints behind 1 line.

After 15 years in IT, I compressed everything into 3 things that actually matter: 1.Keep It Simple, Smart — not dumb-simple. Intentionally simple. 2.Separate concerns 3.Single source of truth. When architecture is blurry, AI amplifies the blur. Full article 👇 lshnpt.dev/journal/what...

What matters the most for me after 15 years of experience — lshnpt.dev

On simplicity, boundaries, and building software that lasts. Reflections triggered by AI integration after 15 years of software development.

lshnpt.dev

So #LaraconEU 25 has started. All the topics so far is interesting and actual. For me, Especially presentation related to embedding words and Pipeline use cases. And yes, static analysis is the must-have tool for solid projects 💪.

Bild