unstack.in

Mukesh Soni
mukeshsoni@gmail.com
Ph - 8792643041

I am good at JavaScript, HTML, CSS, reactjs and family. I have also worked in nodejs but i am not a nodejs expert. I have been doing web development since 2011 and loved most of the journey. I am super excited about the future of web development. I think it’s still in it’s infancy.

I transitioned into web development from a business analyst role in 2011 and have never looked back.

I like the ideas behind functional programming and try to use them as much as possible in my own code. Immutability rules.

Currently use reactjs and redux for writing complex frontend applications. Have decent knowledge about CSS, Haskell and Elm too.

Have been getting into react-native of late and loving it. react-native might be the future of mobile development.

Know a little bit of PureScript, haskell and Elm. You can ask me about monoids, functors, applicatives and (hold your breath) monads! If you are looking for a beginner haskell or PureScript developer, who you are willing to train, please get in touch with me. I promise you will not regret.

Developers still do a lot of manual work, even though their work automates someone else’s work. The journey a developer takes when building software is far from the promised land they dream about when getting into software developement. I care deeply about this aspect of developer’s life and try building tools to improve it. This i do in my free time.

Some of my personal work can be found on github - https://github.com/mukeshsoni.

Skills

Languages+Frameworks -

Fluent - JavaScript, TypeScript, HTML, Reactjs, Redux

Proficient - CSS, Node.js, Backbone.js

Conversant - React Native, expressjs, Haskell, PureScript, Elm, PHP, Yii

Testing - BDD, jest, mocha, enzyme, react-testing-library, property based testing

Build tools - webpack, systemjs, browserify, gulp, grunt

Databases - MySQL, MongoDB, redis

Misc (don’t know how to categorize these) - nodejs, jquery

Excited About - React Native, GraphQL, Haskell, PureScript, Elm

Companies worked in

  • Saltside - June 2018 till date
  • Projectplace - June 2014 till March 2018
  • Freelancing - November 2013 to February 2014
  • BrizzTV - December 2011 to October 2013
  • Infosys - July 2006 to October 2011

Past work

At Saltside (June 2018 - present), I have been working on architecting and rewriting the saltside sites (https://bikroy.com, https://ikman.lk, https://tonaton.com) as responsive Single page applications. Site performance is one of the key metrics when doing the rewrite. We also tried our best to keep the site as accessible as possible to people with disabilities.

Using react as the backbone for the whole rewrite. The new sites will be responsive, i.e. work on both mobile and desktop with the same code base. We took a mobile first approach to implementing the designs.

The site is server rendered, mainly for seo purposes. The focus of the rewrite is to have a codebase which is easier to maintain and results in a better mobile web experience for the user.

Technologies used

  • HTML, CSS, Sass
  • TypeScript
  • React (ReactJS) (with server side rendering) for UI
  • redux for state management
  • node.js - for serving static content, server side rendering, and a proxy for API endpoints
  • Jest for unit testing

At projectplace (June 2014 - Mar 2018), played a key role in getting the company to move from backbone views to Reactjs to be used for the view part. Have developed a number of reactjs components of various complexities over the past 4 years. Also responsible for maintainance of frontend code of part of the site.

  • Convinced the company to adopt reactjs in 2014 when reactjs was quite young. Did multiple prototypes and gave multiple presentations showcasing the developer productivity boost reactjs brought in.

  • Rewrote the frontend for the commenting system used on projectplace.com from scratch. The commenting system is now used on every tool on the site. It’s also used by the more general conversation tool on the site.

  • Rewrote the frontend for documents management system on projectplace.com from scratch, along with a colleague.

  • Wrote the frontend for a new tool, called roadmap, (along with a colleague) on projectplace.com. The tool is supposed to be used by Product owners or higher up in the management to setup the roadmap for products or services or product lines altogether.

  • Moved the build system for our frontend code from gulp based tasks to webpack. We had multiple codebases for legacy system and a new system running parallely, which made the transition very challenging.

  • Brought in a number of functional programming ideas into the frontend community at projectplace. In my own journey to learn functional programming, i learnt haskell and dipped my toes into learning PureScript and Elm. In my personal projects, i try and use static typing and functional paradigms as much as possible (need based, of course).


As a freelancer, i did a project for TP Vision from Nov 2013 - Feb 2014.

Built an authentication/reporting server for android based smart TVs (by TPVision). The smart tvs in question would be able to enjoy other services in the tv only after authenticating with a central server. This server is designed to handle upto 10-20 million television authentications in a day. The authentication is digest based and sends across a 11kb payload as response.

The server handles 600 requests per second running on a 4 core i7 machine with 2 gb RAM.


In BrizzTV (Dec 2011 - Oct 2013), i was simultaneously working on more than one project most of the time. Some of the noteworthy ones are mentioned below -

  • MCUBE android app - An app which recognizes expenses by reading incoming sms. Pulls the amount from the expense, auto categorizes it based on sms text and past mappings and files it under the corrent account number. Takes the biggest pain, i.e. opening an app and filing an expense, out of the equation. The auto categorization keeps getting better with each incoming sms.

  • Made a backend systems which pulls tweets from specific handles, hashtags, search strings from twitter (using twitter api), stores them in our system and pushes them to television channels (real time tweets on tv).

I also made the front end for specifying rules by which a tweet is connected to a particular channel as well as the front end to manage the handles, hash tags and search strings for pulling the tweets.

You can see the product live on airtel DTH on many channels.

  • Ad overlay for youtube videos I made a popcorn maker like UI but only for adding ads to youtube videos. User could tag photo(s) or text to particular part of the scene and specify the duration for which the ad was to be shown. It’s like a video tagger but for youtube only.

Made a corresponding chrome extension which allows a user to view relevant ad overlays on youtube videos. The idea was to show ads relevant to what someone is wearing/holding in that particular scene.

  • Made an intuitive ad inventory management and scheduling system (both UI and backend) for ad publishers.

The ad inventory was for showing ads on custom movie channels. The idea is to show free movies on television but with permanent ads on the side and bottom. To enjoy ad free movie, subscription is required.

I made the system to maintain the ads, their publisher details, scheduling details and a system to automatically push ads to the proper tv channel at the right time.

  • I made the interface and backend to push content directly from browser to any tv channel (assuming you have credentials for the channel server). The push system is realtime (about 5 seconds delay).

I was a business analyst for multiple multi million dollar project while i was working in Infosys.

  • My last project was a 2 year long project for building an application for Apple to manage and automate the process of setting prices for products (across geographies and org structure) before the product launch. The system helped Apple manage and collaborate the process on fixing prices at a very low level (MPN level).

  • I spent one year as part of a Data Quality solutions team, where I was associated with solution designing, development, and business consulting as data expert for several Fortune 500 organizations. I also wrote data cleansing scripts which gave me immense joy. The product we worked on is called DataFlux (now taken over by SAS).

Education

Bachelor of Engineering, Computer Science, NITK Surathkal (2004)

Contact Details

Email: mukeshsoni [at] gmail [dot] com

Github - https://github.com/mukeshsoni
Twitter - https://twitter.com/mukeshsoni
LinkedIn - https://www.linkedin.com/in/mksoni/


Mukesh Soni

This is the personal blog of Mukesh Soni. I am a typical frontend engineer who's exhausted trying to keep up with all the new technologies in the frontend world. I am good at JavaScript, HTML, CSS, React (ReactJS) and family. I have worked with nodejs but i am not an expert in it. I have been doing this stuff since 2011.

Follow me on TwitterLook at my open source work on github