Rishabh Rawat
Verified Expert in Engineering
Software Developer
Rishabh is a full-stack developer with exceptional skills in JavaScript and Typescript. He excels in frameworks such as React, React Native, Angular, Next, Hapi, Express, Nest, TypeORM, and Sequelize. His expertise lies in building MVPs, scalable services, infrastructure design, and setting up CI/CD pipelines for startups and mid-sized companies. Rishabh is the perfect resource to help convert your idea into a working product.
Portfolio
Experience
Availability
Preferred Environment
MacOS, IntelliJ IDEA, WebStorm
The most amazing...
...product I've built is a React Native project that helps run Expo and Native module apps together, increasing the development speed by nearly three times.
Work Experience
Senior Full Stack Developer
Bank Wallet (Via Thought Works)
- Owned and led the team in converting a previously built React Native app to run on the web using React Native Web.
- Explored and evaluated the pros and cons of different methods. Convinced the team to choose React Native Web instead of building the web app from scratch in React.js.
- Explored various challenges with the evolving React Native Web framework, and solved most issues the first time.
- Setup an easy way to mock any interface API provided by React Native. Since nearly 30% of the modules weren't compatible with React Native Web, we had to write the mocks-ups and extensions of those like React Native Firebase, React Native Modal, React Native Permissions, React Native Touch ID, and React Native Config.
- Wrote a custom router component to ensure navigation worked smoothly on the web. The app was already using React Navigation extensively, so switching to React Router Native and React Router Dom weren't options. Hence, I wrote the derivative or a mock-up of React Navigation to work on both the web and app.
- Wrote scripts to switch to different versions of libraries based on the platform (web and app) since some of the libraries weren't supporting React Native Web and React Native together. I also used a patch-package to derive the node module according to the app need.
- Optimized the bundle size by adding plugins, modified the code structure, employed lazy-load strategies, and set up the production system and CI/CD pipelines for quick updates.
Front End Lead
Thought Works (Internal Project)
- Built the integrated base starter kits for Angular to be used in thought works for any new project.
- Built pluggable modules with NgRx, and NGXS Sass styled-components and routers that could be plugged instantly to starter kits. Built a base for new projects.
- Built a UI intensive MVP on Next.js using FireBase, Firestore, and Cloud functions for a PoC, using the React animation library and Firestore Redux.
- Built an ejected version of Expo that would help developers in thought works to work with Expo and write mock-ups for Native modules. During production, the mock-ups would be replaced by Native modules, decreasing development time.
- Built a custom validator library on top of Joi package for TW, that could be instantly used to validate any possible value commonly used in TW, and provide a custom message for the same.
Technical Lead
Thought Works (Daimler)
- Led the team to build the Daimler interface in React with TypeScript. It was the Mercedes customization platform built for salespeople.
- Built the back end for the same in Node.js on top of Nest.js framework.
- Integrated TypeORM on the back end for a SQL database, and integrated same with GraphQL using TypeGraphQL, and data loader for an optimized query.
- Built the image rotation component in React that would load the list of images and render a 360-degree view of the car with options to replace certain customizable parts.
- Refracted the main home page from React and deployed it as a Next package for server-side rendering and SEO optimization.
Software Developer
Nagarro
- Built a voting system for audit logs, and a permission module for a banking client of Nagarro. Being a banking platform. audit logs were a crucial part of the job.
- Added functionality to view the difference of audit logs between two subsequent updates giving business more clarity on what changed.
- Added support for weighted voting by adding weight to each individual votes based on the hierarchy. It was critical that persons higher in the hierarchy had more say in the decision.
- Built the UI in AngularJS for audit logs. It was a dynamic content component that would load exactly the same view in audit logs as the actual component.
- Built the permission module front end, where you can create and update votes, see existing voters, and the graphical and chart views of votes distribution.
Experience
Hierarchy-based Voting System
Audit Loggers
Built a dynamic module that would render on the audit logs, similar to the actual component, giving a thorough view of the things that had changed, as well as highlight those changes.
React and React Native Library
Expo Starter Kit with Custom Native Modules Support
The unique feature of this kit is that it lets you add your custom Native modules on top of Expo, which isn't possible otherwise.
The way it works underneath is that Expo is kept in ejected format, and both ejected and un-ejected versions of the app JSON are maintained separately. When the user is adding a Native module, he also needs to add a mock of the same, mocking the functionality of the original Native module. While running, the user will have an option to run the app in ejected or un-ejected format. If run in the ejected format, it'll use the Native module; otherwise, it will use the Native module mock.
The advantage with this structure is that you don't need to build the Native dependencies every time, and you come out of the Native dependencies versioning issue, and in general the development speed is three times faster as compared to the normal development speed with React Native without Expo.
Skills
Languages
TypeScript 3, Python 3, JavaScript, GraphQL, Python, TypeScript, ECMAScript (ES6)
Frameworks
Redux, React Native, NestJS, Next.js, Angular, Express.js, Hapi.js, Ruby on Rails 5, OAuth 2, AngularJS
Libraries/APIs
Node.js, React, Lodash, React Native for Web, React Router
Tools
React Apollo, Sequelize, Mongoose, WebStorm, IntelliJ IDEA, Expo
Paradigms
REST, Agile
Platforms
Android, iOS, MacOS, Web
Storage
MySQL, PostgreSQL
Other
React Native Bridge, Material Design, Semantic UI, Apollo, Apollo Server, TypeORM
Education
Bachelor's Degree in Computer science
Jaypee Institute of Information Technology - Greater Noida, Uttar Pradesh, India
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring