Shivang Nagaria
Verified Expert in Engineering
Software Developer
Bengaluru, Karnataka, India
Toptal member since February 11, 2022
Shivang is a senior back-end engineer with 8+ years of experience in Ruby on Rails and Django and has created multiple high-quality web apps, REST APIs, and microservices. Shivang is an expert in 3rd-party integrations with Google Calendar, Gmail, Twilio, and SendGrid. He excels with background tasks (Celery, Sidekiq), databases (MySQL, PostgreSQL, MongoDB), indexing and searching (Elasticsearch), serverless computing (Lambda and cloud functions), and async communication (SQS, Pub/Sub).
Portfolio
Experience
Availability
Preferred Environment
Ruby on Rails (RoR), Django, MySQL, PostgreSQL, Python
The most amazing...
...thing I've developed is Scaler's (a major edtech startup) Ruby on Rails back-end, which is used by over 10,000 students on a daily basis.
Work Experience
Senior Back-end Engineer
NBAI Inc
- Developed a micro-SaaS platform using Django and PostgreSQL. As the sole back-end engineer on the team, I manage everything from designing architectures to production deployment.
- Upgraded our system recently to use the Google Calendar Watch API, which reduced our CPU usage by 20%. We previously fetched data using cron jobs and wasted computations.
- Wrote routines to detect overlaps, enforce budget, and suggest free slots given a user's preference.
Senior Software Engineer
Apna
- Led performance testing of microservices using JMeter and Datadog. Identified and fixed many bottlenecks that we found in the code and the design.
- Contributed to building a job search microservice used by over 15 million app users for searching and applying for jobs. Used Go, Mockito, Docker, and Elasticsearch.
- Designed and developed a microservice using Go and Elasticsearch. Scaled it to serve over 1,500 requests per second with latency well below ten milliseconds.
- Implemented a mechanism to ingest search terms from monolith to Elasticsearch via Google Pub/Sub. It captures all updates and deletes events.
- Conceptualized and implemented an interpretation layer for popular search terms. Devised a wrapper language that enabled anyone to query Elasticsearch and map it to search any terms directly.
- Headed a process of identifying duplicates in a corpus of three million terms via a semi-automated process. Used the Natural Language Toolkit (NLTK), Python, bash script, and MongoDB.
- Designed and built self-served job verification flows using Django, Celery, and PostgreSQL, increasing a verified job count from 23% to 67% and reducing the number of fraudulent jobs posted in Apna. It is now India's most trusted job platform.
- Designed and led the development of a Go microservice that integrated multiple third-party APIs for document verification. The service has verified 100,000+ documents while minimizing the error rate.
- Contributed to a job feed module with over five million daily hits. Scaled it by profiling a Django function, optimizing queries, and adding a cache. Wrote a Celery task to compute impression-based parameters determining job position in the feed.
Technical Lead
InterviewBit
- Served as a founding member of Scaler (scaler.com). Led a team that built the platform from scratch using Ruby on Rails (RoR).
- Scaled the platform to be used by 15,000+ students every day for attending live classes, solving programming problems, watching recorded videos, etc.
- Owned and built all the core components of Scaler from scratch, including live and recorded classes using Zoom, AWS S3, and Sidekiq, the problem-solving interface, one-on-one calls with mentors, and referral experiences using RoR and React.
- Worked on multiple apps on the admin interface that manages classes, student enrolment, and batches. Used React, Redux, RoR, and Sidekiq.
- Ideated, led, and introduced gamification components to make learning fun and addictive. Over 800 students have consistently exercised for more than 30 days straight. A few even stayed consistent for more than four months.
- Added gamification components like a streak, virtual coins, and a store using React, Redux, and RoR. Wrote multiple background tasks to compute scores periodically using Sidekiq and Redis.
- Oversaw Elasticsearch integration with an RoR back end. Wrote multiple background tasks on top of it to calculate the time spent by students on the platform.
Software Engineer
InterviewBit
- Built a SaaS product for outbound hiring, allowing users to run fully automated personalized email campaigns. Added auto follow-ups, matching profiles, scheduling tests, and rejected failing criteria features. Used Amazon SES, RoR, Sidekiq, and Vue.
- Integrated Gmail and Outlook APIs to run campaigns from work email. Used OAuth for access. Major companies like Expedia, Sprinklr, Zomato, Cleartrip, Myntra, and others use this.
- Participated in the hiring of full-time employees and interns. Mentored new hires and got them up to speed.
- Conducted multiple optimizations in the deployment pipeline via AWS EC2 and bash scripting, reducing deployment time by 60%.
- Wrote a resume redacting service using AWS Lambda to process resumes and hide all personally identifiable information. Contributed to a sourcing product, which recruiters use to search resumes and screen them without access to contact information.
- Migrated a three-year-old codebase running on Rails 4 to Rails 5. Added unit tests to ensure there is no breakage. Later, the newer version was released via canary deployment to minimize the impact.
Open Source Software Contributor
OpenMRS
- Designed and wrote unit tests, implemented an offline login feature, and integrated multiple APIs for an Android client. Implemented and enhanced core functionality in the Android client, such as patient registration and monitoring.
- Awarded /dev/3 by the community for significant contributions in OpenMRS projects such as the Android client.
- Mentored school kids starting out in open-source development.
Software Engineering Intern
InterviewBit
- Created a highly reusable one-on-one video calling module. Built with RoR, React Redux stack, and a Twilio API. Integrated it with a problem library and compiler to make it even more useful for technical interviews.
- Created mock interviews for InterviewBit and mentor sessions for Scaler to use on a one-on-one video calling module. Over 200,000 sessions have been conducted on it, making it one of the most profitable apps for the company.
- Fixed a large number of bugs on the InterviewBit website, directly handled users' feedback, and debugged many users' issues.
Student Software Developer
Google Summer of Code
- Worked on the data integrity module, which is essential for validating patients' data entered by clinics. This system is live and being used in many African countries and is helping improve the healthcare system.
- Designed and developed RESTful APIs, easing integration of the module with other services.
- Expanded the user interface of different pages and enhanced filtering and searching by improving the UI/UX.
- Added support to export a filtered list of entities to CSV, Excel, and PDF. This was an essential feature for places where electricity supply isn't reliable.
Experience
Google-like Autocomplete Feature with Microservice - Go & Elasticsearch
https://apna.co/A few examples are:
• Writing "Eng" returns → "Software Engineer," Mechanical Engineer," etc.
• Writing "boy" returns → "Bouncer," "Office Boy/Helper/Peon," "Delivery Boy."
I built this product using Go, Elasticsearch, and Redis. The microservice was hosted on a Kubernetes cluster. I benchmarked and scaled the whole setup to serve over 1.7k QPS with a P90 of 10 milliseconds.
Millions of users in India use this feature on the Apna app and website. The search is live on the Apna homepage: https://apna.co/
Redaction Service with AWS Lambda, Python, S3, and Rails
These services enabled InterviewBit to share its candidate pool with anyone without worrying about bypassing them. Previously, others would directly contact our candidates, resulting in a loss of commission for us.
This service has two main components: a serverless function that processes the resumes and a Rails monolith. I used Pub/Sub to establish async communication between them. The serverless function was written in Python and ran on AWS Lambda.
Tool to Track and Budget Your Time Using Django & PostgreSQL
When they approached me, they had a rough idea and no working prototype. I stepped in as a solo back-end developer. I also handled hosting, setting up app servers, and everything else in between.
I built a scalable platform hosted on AWS with Django, Celery, and PostgreSQL. I also wrote routines to detect overlaps, enforce budgets, and suggest free slots based on a user's preference.
Email Campaign System Using Rails, Gmail API, & MySQL
• Sending follow-up emails if a candidate doesn't reply within a few days.
• If they show interest, choose an action like asking for availability, asking to take a test, or asking for an updated resume.
• If they reply negatively, send a thank you email and archive their profile.
I built this product from scratch using React, Rails, and MySQL. I utilized Sidekiq and Redis to perform async tasks, making the system scalable (as I can scale workers independently).
This product was being used by giants like Expedia, Chegg, and Zomato.
Education
Bachelor of Technology Degree in Computer Science
International Institute of Information Technology - Hyderabad, India
Skills
Libraries/APIs
REST APIs, Django ORM, React, Sidekiq, Twilio API, Gmail API
Tools
Git, RabbitMQ, RSpec, Amazon Simple Email Service (SES), Celery
Languages
Bash, Ruby, Go, Python, Java, JavaScript, HTML, CSS
Frameworks
Ruby on Rails (RoR), Django, JSON Web Tokens (JWT), Django REST Framework
Storage
MySQL, PostgreSQL, Redis, Elasticsearch, MongoDB, Amazon S3 (AWS S3)
Paradigms
Serverless Architecture, DevOps
Platforms
Google Cloud Platform (GCP), Docker, AWS Lambda, Amazon Web Services (AWS)
Other
RESTful Microservices, API Integration, Relational Database Design, System Design, Email Automation, APIs, OAuth, Education Technology (Edtech), Tesseract, SMTP
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