The DjangoViet Chapter
In my last episode, I told you how djangoeurope began, and why I ended up on a plane to Vietnam. This is what happened next.
The plan
Our control panel was built with plain Django templates. It worked, but it couldn’t grow with what I wanted to offer our customers. The next version was going to be different: a Django REST API in the back, and a JavaScript front end on top. I planned to write it with Backbone.js.
That’s a lot of work for one person, and our margins could not pay for a team in Switzerland. In Vietnam, they could.
A rough landing
I arrived dead sick. Whatever I had caught on the way, it knocked me out. Not the start I had imagined for my big adventure.
One evening, I dragged myself to a bar, and there I met a woman who would change my life. She took care of me until I was on my feet again. Later, she did much more than that: she helped me talk to the people I hired, and she helped me understand a country whose language I didn’t speak. Today, she is my wife.
DjangoViet
I hired three developers for the front end and started to train them in Backbone.js, while I wrote the back end myself, with Django REST framework. To be able to stay longer, with a proper visa, I founded a Vietnamese company together with locals: djangoviet.
Soon, other customers knocked on our door, too. We were so busy that we didn’t even find the time to build a website for djangoviet.
A letter from Switzerland
In August 2015, Peter Bittner got in touch with me via LinkedIn. He was curious about what I was doing in Vietnam, and I wrote him back:
The control panel for djangoeurope must be renewed and extended. I want to be able to offer new and great things to our customers. Vietnam is ideal when you have a small budget. In Switzerland, I have no chance to hire a few people to help me with it.
Peter told me about Organice, his ready-made website for organisations, built on django CMS. Something like that was on my list, too, and I thought it could become an option of our Django installer. We made a first attempt to work together in January 2016.
Angular2, and an honest review
In the meantime, we had moved from Backbone.js to Angular. In September 2016, the first version of the new panel was running, built with Angular2, on a server in Vietnam. It only worked in Google Chrome, and it loaded slowly from Europe. But it was there.
A few days earlier, Peter had reported a small bug on the login form of our old panel. When I wrote him that it was fixed, I invited him to have a look at the new one. He did, and he sent me a long list. Here’s a taste of it:
Not bad, the new panel! […] You’re planning to offer the “Project Setup” screen for Django, wow! That should be applicable for all other types of installers, though. In other words, simply make a “Create Project” screen and let the user choose the technology.
He wrote about too many shades of green, about the panel on mobile phones, about tests and code quality. He even started a project generator with cookiecutter that a “Create Project” screen could use. I tried it, and it worked well.
I liked the idea a lot. I had dreamt of something similar: one project that holds a Django website, a WordPress blog and its own Redis or PostgreSQL. I also had to admit that our Angular2 code worked, but was not as clean as it should be. My team needed time to improve it, and so did I.
Fading out
We had a video call or two with the DjangoViet team, and Peter drew designs for the panel with an online drawing tool. But we were on different continents, with different priorities, and the collaboration slowly faded.
The panel, though, kept growing. How it took off, and how I eventually came back home, I’ll tell you in the next episode.