Backpack Is 8 Years Old Now 🥳 Here’s Some History

I had this realization the other day - and it blew my mind. Eight years is a lot of time! To put that into perspective: 20% of new bus...

Cristian Tabacitu
Cristian Tabacitu
Share:

I had this realization the other day - and it blew my mind. Eight years is a lot of time! To put that into perspective:

  • 20% of new businesses fail during the first two years of being open
  • 45% fail during the first five years
  • 65% during the first 10 years

We're almost there, at the 10-year mark! More relevant perhaps is that most Laravel admin panels don't survive their first 2 years (we'll follow up soon with an in-depth article, it's super-interesting). But not Backpack, we've been around for 8 years now and we're still alive and kicking! 🎉

We’re very fortunate to be here, writing this post. I want to thank EVERYBODY who bought a Backpack license, everybody who contributed to our codebase and everybody who’s told people about our software. I am perfectly aware it’s thanks to YOU we get to do this, and we’re very VERY grateful. We literally couldn’t do this without you. 🙏 You rock!

To celebrate these 8 years of Backpack, we’ll do two things:

  1. Have a HUGE discount campaign next month - subscribe to our article digest to be the first to find out. We do have to limit the amount of discounts - so it’s first come, first served.
  2. Tell you guys a little bit about out history. Walk you through our growth phases and the people who have influenced it the most. Even for those who are here since the beginning - I bet there are things to find out.

So here goes… here’s The Story of Backpack, including the 3 years that preceded it:

——

v0. Cornel (2012)

In May 2016, on my birthday, I distinctly remember my sister coming over… and me ignoring her for hours. Why? Because I was in a very productive coding spree… I had been so for a few weeks, ever since I decided to fix “my admin panel problem”, once and for all. You see… my web dev agency was small back then - we were doing mostly small websites and web apps. We were starting a new project every month, if not multiple a month… and every freakin’ time, we had to build the same stuff all over again for the admin panel: auth, datatables, forms. I had a new project coming up, and if I remember correctly… my CTO back then (Eugen Tudorache) gave me the green light to build an admin panel library. So I absolutely ran with it. We were using CodeIgniter, and there was this great library called GroceryCrud which solved a lot of the problems we were having. So I put those together, did a lot of wiring so they matched what we usually needed, and boom: Cornel was born. We loved it, cared for it and used it for years, but… we never open-sourced it. Not from some evil plan of having an edge over competition (hell no), but because… like many devs… we were afraid to make our code open-source… and to be frank… we didn’t even know how!

v1. Viorel (2014)

Fast-forward a few years to 2014, and we decided to move from CodeIgniter to Laravel. It was my colleague Cristian Tone’s job to rewrite the whole thing, in Laravel. He did - and we called it Viorel. And with that, the core of the Backpack you know today was born. Hell, a few years ago I found a few comments in the code that made me realize… that bit of code is from back then, from 2014! The comment read something like "sync function, only Tone know how this works" 😂 It was truly a blast from the past. We used Viorel for a while, until we got the courage to finally polish it, generalize it and open-source it.

v2. Dick (2015)

In 2015, after making the decision to rewrite and open-source it, I remember talking to my partner (and CEO of our web development agency) Andrei Iordache about it… he’s a world-class copywriter, and functioned as our creative director… so naming was kind of his thing. We did some back-and-forth when he finally came up with a brilliant name. He said… “Fuck it, let’s call it Dick! I bet people will like it”.

You see, back then the admin panel wasn’t a Composer package. It was an entire Laravel 5 repo… and we had the unique opportunity to ask people to do git push dick and git pull dick  😂 It sounds immature, doesn’t it? Well for a couple of 20-year-olds… ok fine it’s immature for that age too… but we had fun, ok?! 😂 I especially remember how much fun it was to write the website copy for it (see the old Dick website here). I have NO REGRETS over that name. In fact, I think it’s thanks to that name that some people tried it! And people did try it! Turns out… some people liked dick! And some people absolutely LOVED dick. They couldn’t get enough of it!

So yes, Dick started growing. Seeing people actually care about and use my software… that was enormous step ahead. You see, I had been trying to move from « services » to « product » for years by then. I had built and launched about 7 products… all failed miserably… some stillborn, some died within months, some took years of work and still failed. So I had lot of experience of failing at a product… not much experience running a « successful » product. And at the time… and for our level… it was a successful product! People contributed, used it and promoted it. Apparently people got a taste of Dick, they couldn’t get enough of it. Told their friends to try it!

But as happy as I was with Dick… there were troubles that needed to be addressed:

Problem 1. Devs loved the name at first… but then got sick of it fast. In fact, multiple people said they love it in passion projects, but can’t use it for clients, because of the name. They were scared their clients might see it, and think they put it there themselves to mess with them. It wasn’t a professional name.

Problem 2. It was a Laravel installation, with a lot of things - the CRUD library, UserManager, NewsManager, LogManager and more. You couldn’t pick and choose what you want. Plus, updates were pretty difficult to get… and it sometimes overrode your custom code. Ouch! By then, Composer had proven itself and I was eager to split it up into distinct packages, one feature each.

Problem 3. Time! I was all nice and dandy that people were using my software, but it turns out… collaborating with dozens of people every day… takes a lot of time. For a year or more, i was working 16h days… first 8h for web dev clients… then 8h for Dick, for free. I was lucky I was in my prime - I definitely couldn’t do that now. But after a few burnouts I realised… this isn’t sustainable. And it isn’t fair. We need to find a way for Backpack to make some money, and become more professional.

So I thought if a different name… and I came up with…

v3. Backpack (2016)

Seemed like the perfect name for a collection of PACKages that help you build BACKends. Plus… I wanted Backpack to truly represent its physical namesake - to be useful, versatile and feature-packed. To have everything you need in your journey.

So I launched Backpack with the differences above… and after a lot of deliberation with a few heavy users… decided to charge for it too. Since our audience was now also professionals who build stuff for clients, we had dual-license:

  • free for non-commercial projects;
  • €19/project for commercial ones;

Some napkin math told me that would be enough… that 100 paid projects per month would basically cover my time spent on it (I didn’t value my time back then 😅), and that was good enough for me.

And with a lot more work and patience and care, Backpack took off. We were fortunate enough to get A LOT of help from the community - and I do need to give a big shout-out to Owen Melbourne, David Lloyd and Abby Jansen here, who really helped out almost daily, for months or years. Felt like PRs and issues were coming in… faster that I could read them. Our charts for number of downloads was going up only. We were talked about in all Laravel-related communities, despite some choices our stack being despised by some (ehem… jQuery). We were doing something VERY right.

And yet… we were doing something very wrong. We were making a few hundred bucks per month, at most. People were using Backpack a lot (we had download stats now) but they weren’t paying for it. Lesson learnt: if you don’t force someone to pay for a product… they’ll find a way not to pay.

So as good as Backpack v3 was… something had to change. Sure, we needed a version bump in our dependencies… and to push some fixes that contained breaking changes… but more than anything… we needed a business model change. We needed to actually start making money. I had years of 16h workdays by now, and enough burnouts that I stopped counting. And despite not making enough money to cover my time... we were being judged as a paid product.

Backpack v4 (2018)

I don’t quite remember what it was that v4 brought new in terms of features (later edit: it was Bootstrap 4, Widgets and more) but I remember what it did have in terms of business: We kept the dual-license, but we started actually enforcing it. Both free and paid users needed to have a license code, for their software to work. Free users could get it by filling in a form… paid users could get it by purchasing it (it should have been $39/project by now).

Fun fact: the license-checking mechanism… only checked that there was a license key… not the actual license itself 😂 It’s ok to say that now, right? I thought… if there are people who are upset for us forcing this license-check mechanism… I’d give them an easy way to hack it… and continue using it for free.

That doesn’t sound very smart, does it? I just said a lesson I learned in v3 was that « if you don’t force people to pay, they won’t ». Alas, I didn’t learn it well enough. But... it worked! More people paid, because it wasn’t public knowledge the licensing system was a ruse…

We could grow our team a bit… this is where our oldest core team member (outside me) came in - Pedro Martins. Pedro had fallen in love with Backpack and was submitting contributions anyway, so I was eager to ask thim to come onboard, and help me carry the load.

But our licensing system also generated another problem… we were manually approving free licenses! Every day, dozens of people were applying to get free licenses. So it took me hours every day to go through them… judge them… and issue the licenses. We had automated it as much as possible, but it wasn’t feasible for us to keep doing this. Every free user was costing us time to accept… so much time in fact, that we ended up hiring someone to do this alone - part time.

Sounds like a bad system? That’s because it is! So bad in fact that we were covering our small (very small) salaries… but that’s about it. We couldn’t think long-term or do any useful things to level-up our software, because we were spending all of our time on the free users.

Did we try other things? Of course we did. We tried consulting. We tried ads. We tried many things. Nothing worked. So after 2 years of grinding it… we saw it for what it was… a bad business model. So we decided in the next version… we’ll do things differently.

Backpack v5 (2022)

We finally took the leap, and changed our business model form dual-license… go open-core. Our most used features would be part of the open-core, which would be MIT-licensed… and our other features would be addons - some free, some paid.

This was a HUGE boost in revenue. It provided the financial security we needed, to know we can do this for living, and lead decent lives. It allowed us to increase the team again, bringing in first Antonio Almeida… then a year later Karan Datwani, Jorge Castro, Mauro Martinez, Mohammad Emran and Munjal Mayank. Add to that Vali Dumitrescu for the admin stuff and… yes, we tripled our team in one year 🤯 We were on a roll! And thought it didn’t work out with all of the people here, we were pretty proud of what we had achieved… and the amount of stuff we were able to put out. For the first time ever… we were doing things we had only dreamed of: videos, blog posts, Twitter posts, new features every month 🤯

Did we need to change anything at this point. Yes. We wanted to refactor everything. To modernize it, and lose some tech debt we had gathered over the years. But we couldn’t do that. Our customers were very clear with their feedback - the v4 to v5 upgrade was brutal to those who had complex projects, so going forward we should keep breaking changes to a minimum.

Backpack v6 (2023)

Needing to do some breaking changes anyway and bump dependencies… we took advantage and polished a lot of our code, removed old versions and refactored what was needed, in order to be able to build the most-requested features.

We added themes… which was a flop. We expected people to create custom themes… but noone did. We added custom operations… which was a flop. We expected people to create custom operations, not a lot of people did (though it’s really powerful feature).

So one thing we learned in v6 was that sure… customers can request features… but that doesn’t mean you must build them. A lot of times… it’s better to help customers scratch their own itch in their projects, rather than build and maintain a feature for ever… because 1% of your users might use it a few times. Going further, we’ll be much more careful with doing BIG features and rewrites. The way we see it, Backpack is feature-packed already… in fact, that’s one of the reasons people love Backpack - because it offers out-of-the-box most features an admin panel will need.

So we’re happy to consider… Backpack has reached maturity. Yes we’ll still add features - in fact we’ve been launching new features every month - Antonio and Pedro make sure of it 😉 But we won’t be bringing any major changes any time soon. In fact, the direction is the opposite - for Backpack to become a « boring technology » like PHP, Laravel and jQuery. Technologies you know you can rely on, because they’re battle-tested, time-proven and stable.

Backpack Today (2024)

And that takes us to today. In 2024… Backpack is doing good. Sure we’re not becoming millionaires any time soon. Sure we have a lot of stuff to do, optimizations, refactors, restructuring, recalibrating. But overall… we’re proud to be in the position of still being here, 8 years later. And having no doubt we’ll be here to celebrate 10 years and 15 years and more. We’re a small but sustainable software company… and we expect to grow a few times over after we learn some marketing 👀🤞.

Thank you for being part of this journey. Thank you for contributing, with your money, time, ideas or attention. We’re super-grateful to serve customers that are just like us - it’s a dream come true. And thank you for reading my rambling so far… I did NOT expect you to 😂 But if our history was interesting to you… so will our future. We have BIG plans, so keep an eye on us.

To end, yes, we’re doing a huge promo campaign next month. Subscribe to our weekly blog digest to find out when it starts, and grab yourself a hugely discounted admin panel. And feel free to buy years in advance at that discount, we’re not going anywhere.

Thanks for being a part of this. Cheers!

Want to receive more articles like this?

Subscribe to our "Article Digest". We'll send you a list of the new articles, every week, month or quarter - your choice.

Reactions & Comments

What do you think about this?

Congratulations on 8 years!
Thank you, Brian! Here's to 8 more! 🍻
Many Congratulations to Team Backpack for 8 Years mark. Keep growing. Keep shining. Cheers.
Thanks for bringing your energy and enthusiasm, Munjal!
Congratulations! I have been using Backpack since v3 and I am happy for what you have achieved during the years and wish you even more success. You totally deserve it with all the effort and attention you have put into the projects.
Thank you Dimitar 🙏 Your efforts have been VERY appreciated as well. We're super-grateful for people like you, who help other people in our community!
Congratulations on your 8th years and best wishes for the 16th and 32th years :)) . It was such a great article to read. Helped me a bit to understand the harsh nature of adjusting the balance between open source and earning. One question though, as much as I liked the idea of slowing down the features and making it a boring product 😅 sounds nice to keep it rock solid and stable. Won’t it affect the income?
Thank you Evrim 🙏 We won't stop on adding features, we just don't plan to add any BIG ones... mostly because there aren't many BIG features that are worth doing. That most people would use. So we'd rather spend our time making our existing features... easier to customize. To be honest, I don't think "new features" affect product sales at all. Imho people don't buy Backpack because of the new features, but because of our core/pro features, that we developed a long time ago, and have been polishing and polishing. Every new feature only affects like 1-3-5-10% of users, so we get diminishing returns from them. This has been more and more obvious since we started launching them as add-ons - we can see how many projects use those.
WOW, what a journey! 👏👏👏👏 I remember when I first tried your *initial name* product and it was fun 😂. I am still using BackPack and love it! Thanks for sharing BackPack story it’s very inspiring.
Haha, thanks for sticking with us for so long Stefan! Dick was a lot of fun, yes 😅

Latest Articles

Wondering what our community has been up to?