Experiences at IMAD & HPDF

Shrey Dabhi
4 min readOct 22, 2018

I still remember it was during this time last year, that I was looking for something interesting to do during my 3rd semester in the college. To begin with I love to create software that people can use, and I was lacking in one important area. Hence, I used to just create some boring, offline and mostly static mobile apps. Until then I had outright denied the importance of web apps, the major reason being I didn’t understand how they worked!

That’s when I came across IMAD (Introduction to Modern Application Development) being offered on NPTEL jointly by IIT Madras and a company called Hasura (wait, what?). It was being advertised as a course which can get you started in the development arena with a strong head start!

Also, looking at the course, I felt that it offered a good starting point for diving into web apps. And then the journey began in August!

As I watched the videos, I started understanding more and more about how things worked on the internet. The DNS, server side scripting, hosting platforms, and the most important thing for me “Client Side JavaScript”.

I cannot deny the fact that I was plainly afraid of working with JavaScript. The unstructured code seemed like some ancient language to me. I watched videos and continuously kept on fiddling with the IMAD Console. By the end of the course I was so confident that I decided to create my own portfolio website!

Now the time came for the certification exams & with it the announcement for HPDF (Hasura Product Development Fellowship). It got me super excited and even more motivated to perform well. This could be one of my very few chances to get an internship at such an early stage.

The results were out by the end of November and it was celebration time for me. Yes. I got selected for HPDF. Now folks, this was the easy part. The actual story begins here.

I was presented with 4 different frameworks, which were completely alien to me even after successfully completing IMAD, to choose from for my internship/fellowship. They were:

  1. React.JS
  2. React Native
  3. Python Flask
  4. Node.JS Express

And because of my love for mobile apps, I went for React Native. And then it all began. In the middle of my semester end exams, I was supposed to submit a clone of the Twitter mobile app. The guys at Hasura were kind enough to extend the deadlines for those who had exams. But due to my fear of JS, I knew I would never make it, no matter how many extensions they gave me. So I requested them to let me switch to native Android apps (yes, React Native is for cross platform apps), and surprise surprise, they let me do so! (Though now I feel it was a bad decision for me. But that’s for a completely different story)

So I went on to create some near perfect replicas of Twitter’s Android app. In fact, it was so realistic that for sometime they were even suspicious that I had created them on my own from scratch. But then code speaks louder than words! I shared the link to the GitHub repo for the same and that was enough to put away all their suspicions.

Now came the next task of hosting it on a Hasura cluster, which for us front-end devs, was pretty much easy and uneventful. But for the more curious ones it was an open opportunity to checkout the awesome products that the guys at Hasura were going to launch in a few months time. What has now been open-sourced as GitKube was a tool we explored and tested as a part of Hasura Cli back then.

And then came the team tasks! We had to collaborate on the problem definitions provided to us and deploy it on Hasura’s infrastructure.

Initially every thing went smoothly, but after some time the hurdles started showing up. Some people decided that they couldn’t take it anymore and decided to ditch their teammates without informing anyone, a few others went AWOL for reasons only best known to them.

I thought that I was lucky as all my teammate were there, but it turns out that the guy who was to work with me on the mobile app only gave excuses instead of working. So I had to do all the work on the mobile client on my own. Except for these few hiccups the internship went smoothly for me.

It was a really great experience and I got a peek at how things actually work in production environments. Also, I got to thinking that why not learn to create some back-end to support my apps. And hence, a whole new journey of mine began!

A huge shout out to Hasura for such a great opportunity & experience!!

--

--

Shrey Dabhi

A curious passionate developer with a strong interest in literature