Tricks

How to make a living selling Filament plugins. Guaranteed.

Dec 21, 2022
Philo
FAQ, Integration

For many software developers, they dream of making a living doing what they love: writing code. And for many, the ultimate dream is to be able to sell their own software products, giving them the freedom to work on any project they choose from anywhere in the world.

Making a living selling software plugins used to be challenging; luckily, it’s now much simpler thanks to the Filament plugins directory and the broad audience of Filament users that are happy to purchase your plugins.

Don’t believe me? ;) Visit the plugins directory and sort the listing by popularity. The #1 plugin and two others (2, 3) in the top 10 are paid plugins.

Start: Find a good problem. Don't waste time looking for a great idea.

If you're ready to start making a living selling Filament plugins, the first step is to find a good problem to solve. It's important to keep in mind that you don't need to have a groundbreaking, innovative idea in order to succeed. In fact, it's often more effective to focus on solving a problem that is universal or widely shared by a large group of people.

As a developer, you are likely solving problems every day. These problems may be related to your job, personal projects, or other areas of your life. Take some time to reflect on your problems and consider whether any of them could be turned into a product.

It's also a good idea to research the needs and pain points of your target audience. This could include asking fellow developers, pitching the idea on the Filament Discord, or asking for feedback from friends or colleagues. Remember, the key is to find a problem that is common, frustrating, or time-consuming. By solving a problem many people are eager to solve, you'll be well on your way to building a successful Filament plugin business. You can also look at open-source examples and see what people are asking for in issues or on discussion boards. You will often see new features aren’t implemented because the author lacks time due to their full-time jobs. Unlike them, you will get paid to work on your products.

Build: Open your editor and write some code

I’ll don’t think I’ll have to explain what you do in this step ;) If you are new to Filament, I recommend you browse the documentation, tricks, and browse the source code of existing plugins to see how they have built their plugins.

Sell: Enjoy the freedom to work on whatever, wherever. You deliver your product, and Anystack will help you sell it.

Filament partners with Anystack to make it super easy to sell your plugin; they even help you with promoting your products to generate more sales!

Create an Anystack account

To get started, head to Anystack and register your account (it only takes a minute). You can log in using your GitHub account or use your email and password.

Create product

Next, you can create your first product. If you have trouble coming up with a name, you can use the AI-powered name generator to give you some ideas! How easy is that? 😎

Next, select PHP as the product type and keep the licensing feature enabled.

Configure licensing policy

Now we can define our licensing policy. A policy is a set of rules that applies to a license. For example, the duration a license is valid or how many times a customer can use a license. Let's take a look at the available policy options.

Name. 
 The name of your policy. We recommend picking a name that describes your policy. For example, "1 Year", "Unlimited", "Basic", "Pro", etc.

Duration / Expiration
If you want your licenses to expire, you can set the expiration date. When a license is created, it will inherit the policy's expiration date.

Expiration consequence. 
You have the option to set a consequence when a license expires. By default, the consequence is to "Revoke access" upon expiration. Alternatively, you can select the consequence "Restrict access":

  • Revoke Access
 -> Upon expiration, revoke all access.
  • Restrict Access -> 
Upon expiration, access is restricted to the latest release that was available up until the license expiry date. This is common if you have a product that can always be used, but your customers must renew their license to receive updates.

Activations. 
By default, it's not required to activate a license before a customer can use it. However, you can enable this option if you want to keep track of your license usage across multiple domains, applications, etc. You can also restrict the number of activations. An everyday use case for this is restricting your customer to use your product on only two computers at a time.

In this example, we will set up a yearly policy, meaning if someone purchases our plugin, they can use it for a year. Once the license expires, they still have access, but they won’t receive any updates.

Connect your GitHub repository

Anystack integrates with GitHub to make it super easy to distribute your Filament via a private PHP composer repository automatically. Simply tag a new release, and Anystack will take care of everything else.

Tag your first release

All that remains to do is to create our first release. Head over to your GitHub repository and tag v1.0.0. Make sure you use semantic versioning (https://semver.org/); otherwise, the import will fail.

If you switch back to Anystack and visit the release section of your product, you will now see v1.0.0 ready to be shipped to your users.

Setup billing

The final step to be able to sell your Filament plugin is by setting up billing from your product dashboard and clicking billing. Enable billing for your product and click “Create plan” to continue.

Your product can contain multiple plans. In this example, we will create just one. A plan is always attached to a license policy; this policy will be used to generate the license keys for your customer. You can enter a title and description, which will be visible to your customers.

You can set up pricing in multiple currencies and also set a different renewal rate if you prefer. If you leave the renewal rate empty, customers will have to pay the full amount again to renew their licenses. Anystack will ensure the correct currency is visible based on your customer's location.

All set! You will see a purchase page button is now visible. Click it to see your checkout page 😎

List your plugin on the Filament website

You can have your plugin listed on the Filament homepage and plugins directory or have the official Filament Twitter account tweet about you. It’s a no-cure-no-pay deal so there is no risk for you guaranteed. You simply pay a percentage to support Filament for every paying customer they refer to you.

From your product dashboard, visit the ‘advertising’ section and click on the channel where you want to publish your product.

Next, confirm that you agree with the commission and click ‘Enable channel’. That’s it! You are all set to have your plugin listed.

Let’s switch to the Filament website and login into our account (or create one).

From the plugins section, we can submit our plugin. Be sure to enable the “Paid plugin” toggle. This will show a new field where you can enter your Anystack product ID. You can find your product ID by clicking ‘Manage Settings’ on your Anystack product dashboard.

Fill out the remaining details about your plugin and submit the plugin for review!

Congrats! You just started your adventure to make a living selling your software online.