Abinav Seelan

Web Engineer and Javascript Junkie living in Bangalore, India. Author at Camp Vanilla. Building a friendly and inclusive Q&A community for coders at Hashnode


JS For Newbies #2 - Data types, arrays, objects, functions

January 2018, JS Meetup Bangalore (Online)

A webinar introducing newcomers to Javascript to Data Types, Arrays, Objects and Functions in the language. This was the second session in a set of sessions aimed to help those who want to learn Javascript!

Event Link | Companion Github Repository

Redux Middleware - A DIY Guide

December 2017, ReactJS Bangalore

A talk on how middleware in Redux work and a quick code-along to building your own custom Redux Middleware!

Event Link | Slides for the talk

Investigating Memory Leaks (and performance tuning your Javascript)

October 2017, AngularJS & ReactJS Bangalore

A talk on how garbage collection and memory leaks occur in Javascript, and how these memory leaks can be investigated and fixed using the Chrome Developer Tools.

Event Link | Slides for the talk

An Introduction to Redux

August 2017, Saltside

Crash course on the importance of Redux in managing application state. Talk was primarily focused on ramping up the web team at Saltside to work on the new web stack (React/Redux - ExpressJS - NodeJS).

Slides for the talk

Camp Node - An Introduction to building web applications

March 2016, PESIT Bangalore South Campus

Getting started with web programming for the new web developers through live-coding examples. Built with NodeJS, ExpressJS and MongoDB.

An Introduction to Git and Github

September 2016, PESIT Bangalore South Campus

Introducing Version Control Systems, specifically Git, and using it with Github to students of PESIT South Campus



Software Engineer: Oct 2017 to Present

At Hashnode, I was part of the core team building a Friendly and inclusive Q&A community for coders. My role at Hashnode was that of a Full Stack Engineer. Features required me working across the stack, with ReactJS on the frontend and NodeJS and MongoDB in the backend.

Some features that I worked on here are:

  • Performance improvements to the Post Detail Page. This helped reduce the page load time from 11 seconds to just 4 seconds.


Web Engineer: Jan 2017 to Oct 2017

Associate Web Engineer: Jul 2016 to Dec 2016

Being part of the web engineering team, I contributed to the web application front-end and server-side web development, built on a Javascript stack (NodeJS & React/Redux). The workflow at Saltside involves taking a feature from design, to development, through testing and then deployment, where it impacts millions of users across the four markets - Bikroy.com, ikman.lk and Tonaton.com

Some features and projects that I worked on here are:

  • Converting all listing pages to Google AMP pages
  • The Employer Dashboard. Employers using our sites had a tough time dealing with candidate applications. My team and I built a seamless experience for employers to view potential candidates, filter through the applications and also to shortlist candidates.
  • Automating the listing fees process for our sales teams
  • Improvements to the Buy Now feature that made using it a breeze both for end-users and for our internal sales teams.



Easily build production ready universal apps

A powerful boilerplate project that gives you a solid head start on building universal React apps. Beginner friendly, comes with great Developer Experience and is highly flexible. I'm currently maintaining the project and working on version 3.


Prototype API Requests 🦄

Simulating different HTTP response codes is hard. sendback mocks HTTP status codes for you, so you can build your applications faster! ⚡️

React Input Trigger

React component for handling character triggers inside textareas and input fields. 🐼

Useful for building applications that need Slack-like emoji suggestions (triggered by typing :) or Github-like user mentions (triggered by typing @).


A Slack Integration to speed up Pull Request reviews for organizations on Slack 🐨


ReactJS: Building Github-style User Mentions

Using react-input-trigger

Most editors and writing apps, including Medium here, provide some means to reference other users on their platform. A common pattern that a lot of applications use (Github, Slack, Facebook, Twitter…

ReactJS: Dropdown menus

A quick guide on building dropdown menu interactions in React.

We’ll be building a menu with the following interactions:- Clicking opens the menu. Clicking on anything inside it does not close the menu. Clicking anywhere outside the menu closes it.

Jest, ExpressJS and the EADDRINUSE error

Potential fix for an obscure error. 🕵️‍♂️

This is more of a TIL post; something that I feel might be useful to someone looking for answers to what I had run into. 😄

An Intro to Javascript Proxy Objects

Change the way you interact with Objects

Proxies were introduced in ES6 to allow you to provide custom functionality to basic operations that can be performed on an Object. For example, get is a basic Object operation. Here, the console.log…

Managing user presence with Firestore

Handle your users’ online and offline status

A quick guide on managing your users’ online and offline statuses using Firestore, Firebase Cloud Functions and Firebase Realtime database

Build your own Redux middleware

A quick-start guide to Redux’s underused feature!

There is no denying the impact that Redux has had on the React (and even Angular) landscape. Over the years, it has cemented its position as one of the most popular state management libraries. Now…

Documentation does not have to be hard

Stop your dev teams from losing knowledge

Some day, someone is going to find your well structured PR, task or doc, or even the guide you’d written and think to themselves — “Damn. Whoever you are, I will find you and I will buy you a beer” 🍻

Search-friendly Infinite Scroll

Help indexing bots find content on your infinitely scrolling page

Infinite scroll is a UX staple today. It’s a seamless way to get users to potentially see everything that you’ve got to offer without showing them where your content ends. It makes content discovery…

Javascript : The Curious Case of Null >= 0

Why it’s important to read the Javascript Spec

While compiling notes for a crash course on Javascript I was to give to a couple of colleagues, I came across a rather interesting scenario with null and relational operators…

NodeJS and GraphicsMagick: Cropping and resizing images on your server

Guide to building a ExpressJS application that can resize and crop images.

Image manipulation is a common task that developers come across. Uploaded images may need to be cropped, resized, compressed, etc on the server before being saved off in a storage service like s3…

Debug your website on a mobile device

Accessing browser developer tools on a mobile device.

Desktop browsers have amazing debugging and developer tools. Using Chrome Remote Debugging, you can now extend this to mobile browsers too!