A one-man army behind Errorception - the front-end whiz, Rakesh Pai
Twitter has become one of the biggest sources for journalists, and so was the case again when I came across a tweet from Wishberg about Rakesh Pai's startup. I checked up what the man does and it certainly was something that would pique interest - he runs a company called Errorception. The name gives an intriguing first impression, and further investigation necessitated a profile on this man who has the likes of Khan Academy, SoundCloud, Zendesk, Cleartrip and Guardian as his clients.
Rakesh Pai builds robots and is also a beer guzzler, but primarily he is a front-end developer. He has been in the space for a decade. He tells me that in the beginning, he was just a developer but his vision widened over the years and he was then able to develop something that got widespread adoption. Here is how Rakesh narrated his story to me:
Views on front-end programming
You see, front-end programming is sometimes characterised as being rather painful. There's a good reason for it. Front-end programming - if you aren't aware - is the bit where the programmer's code doesn't run on well controlled and safe-guarded servers managed by massive teams, but out in the wild on people's browsers. The thing about browsers is that they aren't all created equal, don't run on similar platforms, and are nearly infinitely customisable by their users. As a front-end developer, you have to care about this. This is what people see, and what defines the perceived quality of any product. And if a site is broken, it's only human to think that the products they are selling are sub-standard too.
Every good front-end developer is conscious of this. However, the 3D-matrix of browsers, browser versions and operating systems that every front-end developer has to cater to is just crazy. There's just no way it's humanly possible to make sure that your site works everywhere. This is the plight of every single website on the Internet, including that of the very biggest giants. Every site has bugs. If users come across these bugs, they usually simply move on. The programmers never find out. How would programmers fix stuff if they aren't even aware of it?
I didn't have such a holistic view for this, back when I was working as a developer. I was just another front-end guy, trying to build sites. As a responsible front-end person, you care about what your users perceive. And just like everyone else, I had absolutely no way of knowing what they perceived!
Because server environments are so controlled and organised, it's relatively easy to know what's happening there. I always envied the tools server programmers had. They seemed to always have a finger on the pulse of what's going on. I wasn't even close to that sense of control. It was the nature of the technology, and I was envious.
Building the product
I stumbled upon the idea of capturing errors from the browser, and somehow recording it so that it could be reviewed later. You see, browsers throw errors very frequently. Much more frequently thank you think at first. And all these errors are simply lost, because they happen on your computer, not on the fancy server clouds that website operators control and monitor all the time. So, what usually happens is that some front-end developer writes some code that they hope will work. They might even have tested it reasonably well. However, it might not work in many common setups, and they have no way of knowing. There is usually a lot of prayer involved. This isn't how software should be written today!
So, that idea was brewing in my head. Meanwhile, I quit my job - this was about 2.5 years ago - and decided to start up with a bunch of friends. This is after having worked on front-ends for about 8 years. A couple of months in, and we realised it isn't going to work. Better early than late, right? Savings eaten into, no income in hand, depleting bank balance - I had to do something quick.
After we decided to go our own ways, I launched Errorception in 15 days flat. It was obviously crap at launch, but it was out there in front of people's eyes, and I started getting solid users and solid feedback. I was overwhelmed by how well it was received. In all honesty, it still surprises me. I modified - even rewrote everything - to handle the incoming upsurge of traffic. Do you know what it's like to rewrite a live service? It's like changing the wheels of a car. While it's running. At 200 kmph!
Errorception is still a single-person company. I'm just a front-end programmer who taught myself the skills to make it possible to assist people who were sailing in the same boat as me. I'm fortunate that the problem has been a common one - one that all people from companies big and small have faced. Errorception is run by just me, my servers and my code-scripts that make sure everything is working like clockwork. Errorception is built on the most cutting-edge of technologies, making it possible to make the most efficient use of all available resources.
There's another aspect to Errorception- front-end programming, however important it is, has so far been majorly carried out by amateurs. One of the reasons for this is that it's a rather new field of engineering. Another is that it is cross-discipline, overlapping with design, usability and UX. Errorception has managed to find itself in right that space - where smart people want the best tools to ensure that they can deliver the richest experience for their users. Put differently, Errorception delivers quality tooling that front-end developers should demand and should expect.
Based out of Mumbai, Rakesh has certainly achieved something phenomenal and one can expect many more names to be added to the list of clients Errorception has.