Open Source
The web development world is fully dependent on open-source software. Everyone is getting an enormous amount of value from open source, at a completely zero cost. Therefore it's only fair to give back.
Which is why we do a lot of open-source work. In fact, our entire business began with a multi-tenancy package. Open-source doesn't just provide value to its users, it also provides massive value to its creators and maintainers: it proves skill, shows credibility, builds goodwill, and distinguishes them from all other developers — for instance on job applications.
Open-source is a positive-sum game, and there's no reason not to play it.
If you're considering starting an open-source project, we highly encourage you to do so. You can join our Discord's #opensource
channel.
And if you don't want to start a new project, and would like to help maintain existing projects instead, you can help with our projects! Check out our GitHub and reach out to [email protected].
Our work
Laravel
- tenancy provides multi-tenancy in a way that doesn't require you to change your codebase. It's also the most feature-rich multi-tenancy package for Laravel.
- money a simple package for working with money.
- laravel-seo a simple and extensible package for improving SEO via meta tags, such as OpenGraph tags.
- laravel-pages lets you easily add routes to a Laravel app by creating Markdown or Blade files.
- airwire provides a PHP-TypeScript interface for writing frontend UI components that interact with Livewire-style PHP components.
- gloss extends the Laravel translator with a couple of extremely powerful features that make dealing with overrides and complex languages easy.
- jobpipeline lets you use a pipeline of multiple jobs as an event listener. Useful for creating and migrating databases in synchronous order after a tenant is created.
- virtualcolumn adds the ability to store attributes on a model even if there aren't dedicated database columns for them. Anything that's not put into its own column gets stored in a JSON data column.
-
laravel-hasmanywithinverse lets you define the inverse relation for
HasMany
, which allows for huge performance improvements in a few cases.
Livewire
-
livewire-access provides an advanced layer for enforcing access to Livewire properties. Useful in cases when you need
public
properties in PHP while keeping them hidden from the frontend. -
wire-replace provides a
wire:replace
directive for more control over the DOM diffing algorithm. - livewire-petite-vue provides petite-vue support for Livewire.
Alpine.js
- alpine-typescript provides helpers for building class-based Alpine.js components with TypeScript. Very useful for projects that already use Alpine, but have a few complex components.
- alpine-reactive provides a layer for object reactivity between Alpine.js and the other JavaScript code. It can also be used for sharing state between multiple Alpine components.
- alpine-arrow-focus provides a useful abstraction for adding arrow focus-based navigation to any HTML elements.