Backpack for Laravel has become the go-to tool for many Laravel developers. If you were to put it in a simple equation, Backpack equals admin panels minus pain. So, we sat down with Cristian Tăbăcitu, Backpack`s creator and first user, to see how it all came to be.
Q: You mentioned in another interview that if you were to choose four keywords to look yourself up on Google, you would type in “Backpack for Laravel creator”. Backpack caught like wildfire and it is something you`re best known for. So, how do you pick an idea that will succeed? What makes for a good software product idea?
Cristi: Yes, I do think I’m best known for creating Backpack. To put it differently, I’m not known for all the ideas that didn’t succeed :-) Backpack was actually my 4th or 5th attempt at a product. What made the difference between the failed ones and this one, was that Backpack scratches my own itch.
With my previous products, I tried to build stuff for markets I didn’t belong to. I thought that identifying a need was enough to build products that could deliver value to those markets. The process involved talking to a lot of people to determine what, why and when to build. And that’s tricky. You can’t decide yourself, since you’re not knowledgeable about that market. But you also can’t completely trust customer interviews, because a lot of the time people don’t know what they want.
Backpack, on the other hand, helps me personally. I’m not only Backpack’s creator, I’m also its first user. This makes it so much easier to understand what to build. And why. Faster time to MVP. Easier to determine what features are non-essential. Easier to understand the market, since I’m part of it. Plus, it’s more fun to run a business in a market you’re already part of. Every day, you talk to people just like you. And help people just like you. It’s eye-opening, actually.
Q: Can you walk us through your thinking process when building software?
Cristi: Again, I like to build software for people just like me. So, whenever I build something new, I like to:
think about a possible solution
quickly prototype that solution
If it works and I’m happy enough with it, I show it to some people and ask for feedback. It took some time for that saying to really sink in — “if you’re not ashamed of it, it’s not an MVP”. Nowadays, I like to build in the open and share incremental progress. I’ve discovered this approach builds better software.
But, in general, I prototype first and then “make it pretty”. I think this is the best way to build stuff, because it helps you to focus on what’s important — the functionality. Otherwise you can easily get distracted by the design, marketing, etc.
Q: Backpack for Laravel currently stands at over 340.000 downloads. How did you manage this without any marketing budget?
Cristi: No idea, to be honest. People just liked it, I guess.
Ok, so to expand on this. Backpack was not my first Laravel-powered admin panel. I had a previous project, called Dick (just because we enjoyed writing “git pull dick” and “git push dick”… I know, very mature). Partly because of the name, partly because its philosophy was similar to Backpack’s (super-simple architecture, easy to understand and extend), a lot of people liked Dick. So, when I created a new and better admin panel, and named it Backpack to be more corporate-friendly, I already knew what other Laravel developers wanted. And had a small audience to launch to.
Also, the Laravel ecosystem itself is pretty mature. And it has a few places where developers hang out, so it’s easy to promote something just by mentioning it in 2–3 places, for free. If you can find some people who like your product on Laravel News, Laracasts and Reddit, you can start a snowball.
After a few people tried Backpack, word-of-mouth did its thing, and more people started trying it out. Backpack’s been blessed to have people actually help us build a better product. People who spent time on PRs or answering people on StackOverflow or Gitter, stuff like that. People who really enjoy Backpack, help others enjoy it and also spread the word. I’m especially grateful to the Backpack Veterans, whose help was invaluable in building what Backpack is today. I really wish Backpack could become a big enough business to properly reward them. Maybe after v4 ;-)
Word of mouth was very important to Backpack’s growth. Which, I think, is another great thing about the Laravel market. People are open, they’re willing to try new things, they help promote stuff they like. That’s quite different from other markets I’ve tried to enter (movie tech, education, non-profit) :-)
Q: What made you choose Laravel as the backbone of your project?
Cristi: I’ve been using PHP since I was 14, and Laravel has been a natural progression from my previously-favourite PHP framework, CodeIgniter. Like most people who adopted Laravel in versions 4 or 5, I followed Jeffrey Way. I loved him on TutsPlus, and when I saw the enthusiasm he had for Laravel, I tried it myself. It wasn’t love at first sight, since it was a bit more complicated than CodeIgniter, but I pulled through and grew to love it.
After being part of the Laravel ecosystem for a while and after the slow demise of CodeIgniter, Laravel became my go-to framework. It was a natural process, I didn’t have to think about it. The king was dead. Long live the king.
Q: You have experience both as a developer and as an entrepreneur (you kick started a few start-ups and also worked as a freelancer). How did putting both thinking caps on help when creating a product such as Backpack?
Cristi: Yes, it did help a lot that I know and like marketing and business. But what ultimately helped the most is the fact that I am a developer who builds products for developers.
Having an entrepreneurial background eased the transition from free to paid. It made figuring out the legal and accounting aspects less difficult. Maybe if I weren’t this comfortable in those areas, it would have been a lot scarier to move Backpack from free to paid. So, it did help make Backpack more sustainable. But I definitely have more to learn in these areas. And I am eager to do so.
Q: What`s the main problem Backpack for Laravel solves for developers/entrepreneurs?
Cristi: Building admin panels. It sounds easy, and it is…in theory. But in practice, it’s a fine line to walk. If you use something like WordPress and let admins change A LOT of things, they will most likely break the website, or at least its design. If, on the other hand, you only give them basic editing options, they will bug developers to make the changes for them, which is either costly or annoying. But, either way, never a good use of developer time.
I think Backpack strikes a good balance in this sense. It lets developers build admin panels that are simple to use, configurable enough, but not extensive enough to allow admins to break websites. All this while using a robust Laravel framework, and having a maintainable codebase, not spaghetti code.
Q: Where are you heading now? What are your plans for yourself and for Backpack?
Cristi: I’m currently working on the newest version of Backpack. It’s been A LOT more difficult than expected. I went through analysis paralysis for some time, because I’m not 100% happy how modern Javascript & modern PHP are used together.
At Backpack we have a history of supporting software. Our current version (v3) has been around for 3 years or more. And I want the next version to be just as reliable, but modern Javascript changes so fast. I guess because it’s not quite there yet — not in my opinion anyway.
That’s the challenge, to build something that’s in it for the long haul. As a developer, I know how important it is to have a tool you know and love. A tool you can pick up any time, without having to re-learn stuff. That’s what Laravel has been for the past few years. That’s what Backpack has been for the past few years. I want Backpack v4 to be this go-to tool for Laravel developers all around the world, even if things change in the Javascript landscape. Just like v3 has been.
Backpack v4 is going to revolutionize how admin panels get built. Can’t wait to launch it.
Top comments (1)
Thanx for your job! You made my projects easier to code!