2020 - My year in review
Just like last year, I want to write a recap blog post about all the things that happened for me in 2020. I mean there has been the obvious one, which is Corona - but on a personal note, my family and I luckily stayed healthy throughout the year, which I'm very thankful for.
I haven't really touched my Macbook for the last couple of days, which is quite unusual for me, as my biggest hobbie is also my job - but the last couple of days were quite relaxing, so I'm a bit late to the "recap blog post" party.
Public Speaking #
I love public speaking, and since 2019 was a phenomal year with a ton of exciting conferences that I was lucky enough to speak at, 2020 slowed things down quite a lot - mostly because of the Coronavirus of course. But I still spoke at a couple of great conferences this year.
Laracon EU Online #
2019 marked the first edition of Laracon EU Madrid - and the overall experience was fantastic. A small venue than the usual Laracon conferences, single tracks, and 30 minute talk slots. So I was really looking forward to meet with the Laravel community in Madrid again this year. Unfortunately this wasn't possible, so instead the conference was held online. I gave a talk about the powerful new Laravel Blade components. You can see the talk on YouTube, if you want:
Laracon US #
The "main" Laracon, which was held in New York last year, was supposed to take place in Atlanta in 2020. I already booked my hotel, and planned a nice family trip around the conference. We initially wanted to go and fly to New York for a couple of days, where I would then fly to Atlanta for the conference. Once again, this was not possible this year - instead Laracon US got renamed to "Laracon" and became the biggest Laravel online conference. I gave my first ever "soft talk" called "Refactoring to simplicity" - which was a very cool experience for me. I was a bit afraid of how people would react to it, but the feedback has been extreely good. Just like last years Laracon Online, giving a conference talk to thousands of people watching live, while you are standing in front of your desk in your appartment, is still something that felt very strange. My talk is not yet available to watch for free, but you can watch it at laracon.net.
And I think that's it already for conferences that I spoke at in 2020. I'll keep my fingers crossed that 2021 will allow us to travel again and meet in person. I really missed that a lot this year. Even though online conferences are great - and allow many more people to watch the talks - meeting with different developers and having a chat is still missing.
Up next, I'm excited to speak at Laracon EU on January 18-20, which will be held online of course. I will give an introductionary talk about ReactPHP.
Beyond Code #
Beyond Code, despite all the things happening in 2020, had the most successful year ever. We can't really pin it down to a single product or course, but it's been the mix of great free courses and services that we released this year, as well as some exciting new paid courses and apps.
Video Courses #
Last year, I released the PHP Package Development video course - which as the one big video course that I focused working on. This year, we managed to release not one, but three video courses - two of which are completely free.
Learning ReactPHP #
Learning ReactPHP is a completely free 10-part video course about how ReactPHP works and why you should use it. It explains various ReactPHP specific concepts, such as the Event loop, streams, promises and sockets. ReactPHP is the library that powers Laravel WebSockets, as well as Expose.
What's new in PHP 8 #
As 2020 also marks the release of a new major version of PHP, we released a video course showing you all the new features that were added in PHP 8. Once again, this course is entirely free to watch.
Desktop apps with Electron #
Last year, we launched "Tinkerwell" - our first desktop application. Version 1 was written in Swift, but 2.x is now completely rewritten in Electron, which allows us to bring the app to Windows, Linux and MacOS all from one codebase. The video course contains everything that I have learned over the last years about writing successful desktop applications with Electron, using VueJS and Tailwind CSS.
It definitely became a commercial success, and a lot of people already approached me and showed me the great apps that they built after watching my course. So if you are thinking about writing a desktop application with web technologies, you should give it a try.
2020 definitely marked the year for Beyond Code where we developed a lot of desktop applications for our portfolio.
Tinkerwell 2 #
As mentioned above, in 2019 we released the first version of Tinkerwell, which quickly became a massive success and improved peoples dev live - which is simply amazing! Because of the demand of having Tinkerwell available on Windows and Linux, I have rewritten the application using Electron. Tinkerwell 2 also allows users to tinker with any PHP application - not just Laravel, thanks to the underlying "driver" architecture. So far, Tinkerwell has out-of-the-box support for every major PHP framework/e-commerce system out there and is the perfect companion app.
Over the course of 2020, we have released a lot of new functionality to Tinkerwell, such as a table mode, Docker support, Laravel Vapor support, and a stand-alone PHPStorm plugin. We still have a lot of ideas for Tinkerwell to improve it for the upcoming year(s).
At the time of writing this blog post, we have sold 5,976 Tinkerwell licenses, which is simply mind-blowing! I still use it every single day myself - which is the best evaluation you can have.
We also released HELO - a desktop application to easily test your local (or even remote) emails. It basically acts as a local email client/server combination. So you can send emails from your PHP/Laravel applications and then see them in HELO, where you can preview the HTML content, check the mail for broken links, or even use a third-party service to test your email on various real email clients (such as Outlook, or mobile clients).
I think HELO is the best and easiest way to work with your local emails. We're happy with the progress that we have made - the application itself is extremely stable and there are almost no support requests coming in. I think that we can still improve the marketing for HELO, but this is something that we want to focus on in 2021.
Invoker is an extremely exciting application. It allows you to instantly turn any Laravel application into a developer-friendly admin interface - without you having to write a single line of code. The first version of Invoker was written and released by Boris Lepikhin in 2019. We acquired Invoker in 2020 and put a lot of time and energy into Invoker 2.0, which we are going to release in January 2021! This was the first ever acquisition that we made with Beyond Code, and the overall process was extremely pleasant, thanks to Boris.
I can't wait to share Invoker 2 with all of you very soon!
You can read our acquisition announcement on our website.
Windy was actually kind of a "surprise product" for us. We were in the middle of polishing Invoker and making everything ready for the release. The idea was to release Invoker in November, together with the Black Friday sale that we had. But during this time, I had the idea of a browser extension that could transform existing DOM elements to HTML with their appropriate Tailwind CSS classes. I started working on a prototype for this, which I got working in ~2 days.
Non-Tailwind to Tailwind in 2 seconds ✨ pic.twitter.com/9TSUjg5yh0— Marcel Pociot 🧙♂️ (@marcelpociot) November 8, 2020
As I had already written a browser extension quite some time ago, the overall process was pretty smooth. We then decided to release Windy as "early access", and the launch feedback was simply phenomenal. We got more than 700 upvotes on ProductHunt and got a lot of extremely good feedback - even though the extension is still in "early access". We have since released a couple of bugfix releases, and will bring Safari support, as well as additional new features and performance improvements to Windy next year.
If you haven't heard of Windy before, be sure to check out the official website, where you can try Windy in your browser.
Together with the "Desktop apps with Electron" video course, we also released a free application called "RegExpress". An app that allows you to visualize your regular expressions.
This app was a lot of fun to build, as I recorded the whole process for the video course. The application itself is entirely free, and you can get access to it once you sign up for the newsletter on the Desktop apps with electron course website.
Services / Open Source #
In addition to those apps, we also released a lot of free services and open source tools this year:
Expose is an entirely open-source tunneling server/client written in PHP. Building Expose was a ton of fun, as this was pretty challenging to make this work in PHP. I have to thank Christian Lück and Cees-Jan Kiewiet for helping me throughout the entire process. Since releasing Expose, we have multiple thousand users registered for the free Expose server and have shared thousands of websites - all for free! Here is my announcement blog post.
Taylor Otwell even uses Expose to offer a free share functionality for Laravel Sail!
Over the course of the year, I have worked quite a lot on version 2 of Expose, which will bring exciting new features such as TCP port sharing, a built-in fileserver, and reserved subdomains.
Laravel Playground #
Laravel Playground is a free services that allows you to run Laravel and PHP code online, right from your browser. You can load GitHub gists, or save your own code snippets and even embed them responsively in your own websites or blog posts.
Building this once again was a lot of fun and quite challenging. Laravel Playground itself is hosted using Vercel. I wrote an in-depth blog post introducing Laravel Playground, which you can read here.
HTTP Dump #
HTTPDump is a completely free and open-source solution that allows you to generate a unique URL where you can send any kind of request to it. You can then inspect and debug the request data. It is written using Laravel and stores the data itself in Redis. If you're interested in the code, check out the GitHub repository.
Banners is a free service that allows you to generate social/open-graph images for your open source projects. The app is hosted on Vercel and uses a headless chrome browser to generate those images on-the-fly, which is pretty cool. I wrote about how it works under the hood, in this blog post.
A big part of my time in 2019 was spent on Flare - a Laravel specific error tracking service that we built together with Spatie. We (Beyond Code) are no longer working on Flare, and it now belongs 100% to Spatie. I'm still very proud of what we achieved with Flare and we wish them all the best with the service.
I am very much looking forward to 2021 and all the exciting things that we at Beyond Code will achieve next year. I started writing this post thinking "Let's see, I guess it won't be much this year" and man, I was wrong. I couldn't be prouder of what we at Beyond Code achieved this year - especially as we are a two-man company. Sebastian and I are super excited for the next months, as we have a lot of exciting things that we are going to share with you very soon.
If you made it this far, I really hope that 2021 will allow us to meet in person again, at a conference somewhere all around the globe. Thank you all for using our services and apps, learning together with me in our courses, and sending us the extremely positive feedback that we received.