Why completely re-coding my website was the greatest investment
I created Templana in 2014, and started with a Wordpress instance skinned with a template bought a few dollars. A few PHP tweaks here and there, and with the help of Bastien and Quentin, the website was up and running. The website was starting to get some traction, but I was also targeted by Wordpress hackers. They hacked the site a few times. They were trying to display their own ads, but were actually completely breaking the site while doing so. That is when I decided to move away from Wordpress.
Templana v2 was the same as v1, but without Wordpress. I copy-pasted everything I could, removed Wordpress and redeployed. I removed a few features along the way to speed up migration. It stopped the hackers. I added a few small features over time, but the site stopped to evolve pretty quickly.
After four years, I had enough. I could not stand that design anymore. I could not stand the website going down randomly just because the server needed to be restarted. I could not stand the shitty PHP framework-less codebase that I created but was afraid to touch. I had absolutely no confidence in the code, and I was stuck with an old version of the Asana API, too afraid to upgrade anything. It was time for a change.
Templana v3 exists today thanks to two companies: Google and Whoz. Google bought a company called Firebase which created a set of tools to help you create and deploy a website or an application backend easily. They deal with hosting the code, storing the data and files, and deploying backend functions without having to maintain a server. Whoz, the company I co-founded, allowed me to acquire a very useful skill: developing web application using Angular. The team taught me everything I know about Angular today.
I had what I needed for Templana v3: Firebase + Angular. Here is what I learned while developing this version.
⏰ It takes time, but you can take shortcuts
Recoding everything obviously takes time, depending on the size of your application. When part of the stack is unknown, it takes even more time. This was, however, a great opportunity to start from scratch. Nobody forces you to re-develop everything the same way. You can cut corners, and leave some features for later. When I released v3, I did not have PayPal payment like I used to (only Stripe) and did not code the template preview either. It took me a few more days for the PayPal integration, and I still did not decide on the template preview. However, coding differently usually means “retro-compatibility” and that is really a pain in the ***.
🚀 A motivation booster for free
When you work on the same side project for years, for me there are three possible ways to get a booster: hire a coach, recognize an opportunity or deal with a threat. My little hacker friends were the threat that got me motivated to work on Templana again. For v3, the coach I talked to a few times and his suggestions about how to improve the application planted the seed. A brand new codebase is now an opportunity to implement new features.
📘 A free course on technologies
Over the last few weeks, I had the opportunity to learn to work with most of the Firebase stack. I also improved my skills on Angular, especially since I had the opportunity to start a new project from scratch and setup everything myself. And I improved my existing skills on things like bash script, nodeJS or CSS. My new skills are giving me new opportunities, both at work and in my side-projects.
📣 A great opportunity for communication
A new code and a new design is a good excuse to talk about your website. You can re-connect with clients and users to ask for their feedback and even involve them in the creative process. It is perfect to show, even to competition, that the project is alive and well.
💥 Nothing ever happens like planned
My migration from v2 to v3 was well planned. I rehearsed several times. Everything was in order for the big day. The morning of the migration, while my users from the US were sleeping, I started my migration checklist. Since I had a dry-run the day before, the database was filled with almost up-to-date data. So instead of doing a full migration, I decided to append the latest data. This is when the trouble started and where “less than an hour and then I’ll have a coffee” migration process turned into a three hours process. And once I clicked on the button to deploy the website, Firebase took 15 hours to create an SSL certificate for the site! Which means that for more than half a day, users were seeing a very scary security message in their browser. Turns out the “it takes 24 hours” information was written in the documentation, but I got confused by the interface saying I should just wait up to two hours 😅
⏱ Invest time to save time
A complete re-code means you can do things in a cleaner way and with the latest technologies. I can now move a template from free to paid in a click, where it took several minutes of manual work and checks before. It might not seem a lot but when you want to put a price tag on 15 free templates, that easily ends up taking an hour. An hour of “side-project time” for me is a very long time.
I also created a dashboard for the users and don’t send emails anymore, which means less support because they often did not receive the emails. And the list goes on.
Completely recoding Templana was a challenge because I only work on my side-projects a few hours a week, and you can easily lose motivation over a weeks-long project. But I managed to finish before the autumn, the website had very few bugs, and the sales number are very encouraging! This is what the new website looks like 👇