Manas Chaudhari, Robotics Developer in Mumbai, Maharashtra, India
Manas Chaudhari

Robotics Developer in Mumbai, Maharashtra, India

Member since July 30, 2016
Manas has over three years of experience building applications on Android, iOS, and Ruby on Rails platforms. Coming from the startup world, he has a strong focus on speed, quality, and impact. He loves creating architecture patterns to make development faster without compromising on stability. He presented one such pattern titled "Functional MVVM: Using RxJava and Data Binding" at DroidconIN 2016.
Manas is now available for hire

Portfolio

Experience

Location

Mumbai, Maharashtra, India

Availability

Part-time

Preferred Environment

MacOS, Slack, Android Studio, VSCode, Git

The most amazing...

...framework I've built is an Android library for MVVM based on RxJava and data binding that enables code reuse via composition and testability.

Employment

  • iOS Developer

    2017 - 2017
    Flightmode
    • Developed a complete iOS application from scratch using React Native and published to the app store. The application provides highly personalized and quality reading content to the users.
    • Defined REST API requirements in collaboration with the back-end developer and integrated with the app.
    • Built interactive animations using React Native's Animated and PanResponder APIs, resulting in a very fluid user experience.
    • Developed higher-order components in React to maximize code reuse for repeating tasks like submitting forms, loading progress, and showing errors.
    • Implemented offline interactions and a synchronization service to ensure all data is updated on the back-end.
    • Implemented Facebook and Twitter login using OAuth.
    Technologies: React Native, Redux, JS
  • Lead Developer

    2017 - 2017
    Crypto Plus Certified
    • Developed an application for algorithmic cryptocurrency trading that tracked market data in real time over web sockets and executed trades as per the trading strategy configuration.
    • Refined trading strategy ideas into complete algorithm specifications by identifying and addressing all the scenarios. Implemented and optimized the algorithms further to maximize profits.
    • Developed an interface in React.js to visualize the algorithm's performance to speed up algorithm development.
    • Finalized the product requirements for the automated trading platform in the form of wireframes and app flow by collaborating with the designer and product owner.
    • Defined the tech stack and architecture for the complete platform and set up a team of five developers to implement the project.
    Technologies: React, Redux
  • iOS Architect

    2016 - 2017
    UpGrad
    • Built an iOS sample app using TDD to serve as documentation for coding guidelines to be followed by the team.
    • Covered all critical aspects of architecture including network layer abstraction, view modularity, database, navigation, caching, deep-linking, push notifications, dependency management, testing frameworks, test suite speed, and quality.
    • Implemented VIPER architecture to maximize testability.
    • Implemented continuous integration to ensure stability and high test-coverage in pull requests.
    • Integrated Danger and SwiftLint to automate code reviews.
    • Developed a network abstraction layer using Moya with stubbed network requests for faster test runs.
    • Guided the team in Git branching practices to ensure a smooth workflow.
    • Reviewed the code for architectural issues and shared the impact regularly with stakeholders.
    Technologies: Swift, iOS, VIPER, TDD
  • Full-stack Developer

    2016 - 2016
    Mink
    • Developed an end-to-end solution for automating all operations for the laundry business including supply chain management, customer service, payments, and billing.
    • Developed finite state machines to track and validate the flow of inventory starting from collecting garments from users, submission to the nearest hub, transporting to vendors for processing based on services required, transporting back to the hub, and finally delivering to the user.
    • Developed a web front-end based on ActiveAdmin to be used by all operators to fulfill their respective tasks, which included handling parts of the supply chain, scheduling pickups and drops, verifying the state of inventory, generating invoices, applying discounts, and more.
    • Developed a job-based system and an Android app for use in delivery trucks to automate the transportation of inventory on various routes in the supply chain.
    • Created a RESTful API in Ruby on Rails with role-based authorization supporting both web and Android clients.
    Technologies: Ruby on Rails, ActiveAdmin, HTML, JavaScript, Java, Android
  • Engineering Manager

    2015 - 2016
    TinyOwl/Runnr
    • Refactored pages with complex interactions by introducing functional reactive programming (RxJava, RxSwift).
    • Created an MVVM framework for Android based on RxJava and data binding to enable code reuse through view composition.
    • Integrated Kotlin for Android development and Swift for iOS to eliminate null pointer exceptions and accelerate development speed through better code reuse.
    • Supported internal web panels based on Backbone.js and a back-end based on Ruby on Rails.
    • Achieved stable weekly releases to production by bringing into practice feature gating and Agile methodology as a tech lead.
    • Restructured the push notification job scheduler used by the marketing team to support sending push notifications to millions of users at a time while eliminating delivery failures and minimizing delay.
    • Drove the development of the Magical Fridge product to provide a highly personalized food ordering experience with the vision to display exactly what the user wants.
    Technologies: Java, Kotlin, Android, Objective-C, Swift, iOS, Ruby on Rails
  • Mobile Developer

    2013 - 2015
    TinyOwl
    • Developed food ordering apps on Android and iOS from the ground up.
    • Architected core modules, including database access, networking, data sync, navigation, and UI logic.
    • Extended GreenDAO ORM to support executing database queries directly from JSON without intermediate conversions, accelerating data insertions by 20x.
    • Implemented SyncAdapters to download and refresh restaurant menus offline, to provide a rich offline user experience.
    • Designed a highly versatile offer schema capable of storing all variations of restaurant offers (e.g., Buy one large pizza, get 50% off on one medium pizza of lower price). Implemented a client-side offer application based on the downloaded offers to instantly apply an offer or guide the user without making any network calls.
    • Integrated multiple payment gateways ranging from internet banking to mobile wallets, providing a seamless online payment experience.
    • Developed a post ordering experience to indicate the status of ongoing orders and allow users to take actions such as calling the restaurant, cancelling the order, and providing feedback.
    • Developed a real-time inventory tracking system to support restaurants with limited stock.
    Technologies: Android, Java, iOS, Objective-C

Experience

  • Flightmode iOS App (Development)

    A news reading application that provides minimal but quality content. The application automatically loads three articles every day based on the user's preferences and works offline. This is one of the best user interfaces that I have built.

  • Android MVVM (Development)
    https://github.com/manas-chaudhari/android-mvvm

    A framework for implementing MVVM on Android using RxJava and data binding that focuses on minimizing the boilerplate for view setup and enables reuse of presentation logic through view composition.

  • Functional MVVM Using RxJava and Data Binding (Talk at DroidconIN 2016) (Other amazing things)
    https://speakerdeck.com/manaschaudhari/functional-mvvm-using-rxjava-and-data-binding

    It is important to write reusable code to increase development speed and for easier maintenance. Although it is quite easy to share model logic across various components of the app, sharing presentation logic isn’t trivial. In this talk, I demonstrate how MVVM architecture allows you to tackle this issue using composition.

  • A Subscription-free Way of Using RxJava (Other amazing things)
    http://manaschaudhari.com/blog/2016/09/05/rxjava-meets-data-binding-part-4/

    Cleaning up RxJava's subscriptions is critical in order to prevent memory leaks. However, it is often dependent on the Android lifecycle and results in boilerplate code. In this article, I present how data binding can be used to clean up subscriptions without any boilerplate code.

  • iOS VIPER Architecture Sample (Development)
    https://github.com/manas-chaudhari/ios-tdd-sample

    An architecture sample app that displays data from GitHub's API.

    Technologies: TDD, VIPER, Continuous integration, Danger

  • Energy Optimal Path Planning for Mobile Robots (Development)
    https://www.youtube.com/watch?v=xrHlQodl8qQ

    As part of my master's thesis, I developed a new technique for determining energy optimal trajectories based on Dubins curves, achieving linear time complexity and 14.8% more average energy savings than existing methods. I also Improved waypoint selection by enhancing A* and Theta* techniques for finding optimum solutions with turn-based cost functions.

    Technologies used involved C++, Robot Operating System (ROS), and Gazebo.

Skills

  • Languages

    Swift 2, Swift 3, Objective-C, Swift, Kotlin, Java, ECMAScript (ES6), Ruby, JavaScript, C++
  • Libraries/APIs

    ReactiveX, RxJava, RxSwift, React, Mixpanel API, OpenCV
  • Tools

    Crashlytics, Git, Atom, RSpec, Moya, Jira, GitHub, Zeplin, SwiftLint
  • Paradigms

    Functional Reactive Programming, Model View Viewmodel (MVVM), Agile Software Development, REST, Test-driven Development (TDD), Protocol-Oriented Programming, Unit Testing, Model View Presenter (MVP)
  • Platforms

    iOS, Android
  • Other

    Code Reviews, Architecture, Mobile App Development, ActiveAdmin, CanCan, SIMD, Simultaneous Localization & Mapping (SLAM), Robotics
  • Frameworks

    React Native, Redux, Mockito, Ruby on Rails (RoR), Factory Girl, Robot Operating System
  • Storage

    SQLite, PostgreSQL

Education

  • Bachelor's and Master's of Technology degrees in Energy Science (Minor subject: Electrical Engineering)
    2009 - 2014
    Indian Institute of Technology (IIT) Bombay - Bombay, India

To view more profiles

Join Toptal
I really like this profile
Share it with others