• Makers Make by SaaSykit
  • Posts
  • Custom Tenant Roles in SaaSykit, PHP 8.5, Generate Open Graph Images for Laravel, How to Build an Agent, The Great Differentiation & more

Custom Tenant Roles in SaaSykit, PHP 8.5, Generate Open Graph Images for Laravel, How to Build an Agent, The Great Differentiation & more

Hey Makers 👋

Hope your week’s been filled with progress, shipping, learning, and building things that matter.

This week in SaaSykit Tenancy, we rolled out custom tenant roles! Your tenants can now create and manage their own roles, giving them more control over how they organize their teams. 🎯

On the Laravel front, things have been a bit quiet lately, feels like summer slowdown mode is in full effect. 😎

From SaaSykit

As PHP developers, we've witnessed an incredible transformation over the past few years. From PHP 7's performance revolution to PHP 8's union types and attributes, each release has brought features that genuinely make our daily coding lives better. PHP 8.5 continues this trend, but with a different focus – it's less about groundbreaking paradigm shifts and more about those "finally!" moments we all experience.

From the Community

The Open Graph protocol, initially introduced by Facebook in 2010, is a set of technologies that allows web developers to control how their web pages are represented when shared on social media platforms. By enabling your pages to become "rich" objects in a social graph, Open Graph meta tags dictate the title, description, image, and other vital information that appears in social media previews. This is where Open Graphy steps in: it's a neat Laravel package designed to generate these essential Open Graph images for your application dynamically. Open Graphy helps you to create social cards on the fly, either leveraging its intuitive default templates or allowing you to create your own, ensuring your content always makes a striking impression across social networks.

It’s not that hard to build a fully functioning, code-editing agent.

It seems like it would be. When you look at an agent editing files, running commands, wriggling itself out of errors, retrying different strategies - it seems like there has to be a secret behind it.

There isn’t. It’s an LLM, a loop, and enough tokens. It’s what we’ve been saying on the podcast from the start. The rest, the stuff that makes Amp so addictive and impressive? Elbow grease.

Laravel's closure-based Artisan commands support full dependency injection, allowing you to inject services directly into command parameters alongside traditional arguments and options.

The service container automatically resolves dependencies when you type-hint them in your closure parameters:

This site you're reading here is a basic Laravel application with only a few additional packages. All of the articles (this one included!) are written in markdown and then rendered with the CommonMark PHP library using this Laravel shim.

Let me share the Cursor rules I use as "User rules". I'm planning to update this article with more changes in the future.

You can place these rules in Cursor Settings, like this:

The Laravel 12.19 release introduced the UseEloquentBuilder PHP attribute to define a custom query builder for your model. Models don't typically need a custom query builder, but you can use this technique to thin out models, group scopes in one central place, and include custom query builder methods you'll reuse in your application.

Dealing with hefty CSV files is pretty standard in the business world, especially when you've got loads of data to analyze, report on, or move around. If you're using Laravel and need to process large CSV files, you've come to the right place. We will guide you through the smoothest way to handle this task without causing a traffic jam in your application's performance.

Overengineering (or over-engineering) is the act of designing a product or providing a solution to a problem in an elaborate or complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.

All about SaaS

A driving-gloved Vlad Tenev pilots a 1961 Jaguar E-Type through the curves and streets of Cannes, France to the gravel allée of Château de la Croix des Gardes. The Robinhood co-founder and CEO steps out of the Jag, resplendent in “playboy-in-Portofino” chic: crisp ivory blazer cut from lightweight suiting cloth, striped with thin navy pinstripes. Lapels: peaked. Shoulders: roped. Neck: ascotted. On his left wrist, Tenev sports a gold watch. In his right hand, a structured, hard-shell attaché case in British racing green.

I’ve been having coffee with lots of frustrated founders (my students and others) bemoaning most VCs won’t even meet with them unless they have AI in their fundraising pitch. And the AI startups they see are getting valuations that appear nonsensical. These conversations brought back a sense of Déjà vu from the Dot Com bubble (at the turn of this century), when if you didn’t have internet as part of your pitch you weren’t getting funded.

Here’s a story that every founder needs to hear, because it reveals something fundamental about markets, competition, and the hidden costs of being first.

In the world of Python programming, there’s been a tool called pip that has dominated package installation for years. pip has been the de facto way to install Python packages through all the many different versions of Python that have existed. It worked, it solved the problem, and it became ubiquitous.

AI excels at “good enough” work.

The challenge, in the next 5 years, is going to be telling the difference between work that can stand to be “good enough” (and should be AI generated), and work that needs human intervention to be truly differentiated.

When I say “good enough,” I’m not talking about mediocre work. I’m talking about work that’s good enough to get the desired outcome (or close to it) without much or any human intervention.

Continue the article


Videos

Keep building, keep rocking! 🤘

Psst, are you building a SaaS?

SaaSykit is a multi-tenancy Laravel-based boilerplate with everything you need to build an awesome SaaS.