

Laravel Greece - Thessaloniki October 2026
🛡️ Thessaloniki, we're back! And this time one of us is on stage.
Most of the bugs we chase in production come from the same place: raw strings, floats and ints passed around the codebase, each one trusted a little more than it should be. An email that was never validated. A price that quietly mixed currencies. A status that jumped straight from "pending" to "refunded" because nothing said it couldn't.
This October, Harris Raftopoulos makes the case for Value Objects as the way to close that door for good. Not as an architecture lecture, but as a set of small, practical moves you can start making in your Laravel app on Friday morning. With Laravel 12's casting on top, the wrong state stops being something you catch later and becomes something you can't build in the first place.
Harris took this talk to Laravel Georgia in Tbilisi and to Laravel Live Japan earlier this year. Thessaloniki gets the home edition 🇬🇷
📅 Thursday, October 8th, 2026 🕡 6:30 PM start 📍 OK!Thess, Thessaloniki 🎫 Free entry, RSVP below
📣 Heads up on timing: 6:30 PM is when we kick off the talk, not when doors open. Please come a bit earlier so you can find a good seat, and stick around after we're done 🍕
See you there!
───
⏱️ THE PLAN
18:30 · Welcome and community news 18:45 · Harris takes the stage 19:45 · Q&A 20:00 · Pizza, drinks and the usual hangout that runs longer than planned
───
🎤 THE TALK
Harris Raftopoulos · Bulletproof Your Laravel Code with Value Objects
Primitive obsession is the quiet source of a whole family of bugs: the email string nobody validated, the float that mixed euros with dollars, the status that made an impossible transition. This talk shows how Value Objects remove those bugs by design. We'll build an Email that can't be invalid, a Money object that refuses to add mismatched currencies, and a Status that only allows legal transitions, then plug them into Eloquent with Laravel 12's casting so they flow through your models, requests and responses without ceremony. You'll leave with patterns you can apply to an existing codebase one class at a time, and a good answer for the next time someone asks why the order total came out wrong.
About Harris
Harris Raftopoulos is a Senior Software Engineer and Staff Writer & Educator at Laravel News, where he writes tutorials and produces videos for the Laravel News YouTube channel. He has been building with Laravel since version 4 and co-organizes Laravel Greece. Earlier this year he gave this talk at Laravel Meetup Georgia in Tbilisi and at Laravel Live Japan. Companion code for the talk lives at github.com/harris21/laravel-value-objects-examples.
───
📬 Don't forget to register to our newsletter to keep up with the latest changes and updates for our community! http://laravel.gr/s/subscribe
See you there!
───
🙏 SPONSORS
None of this happens without our sponsors. Huge thanks to Laravel, Typesense, Epignosis, and Hack The Box for keeping the lights on (and the pizza coming) at Laravel Greece.
Special shoutout to our partner Certification for Laravel 💜
See you on October 8th!