
Nikhil M
Verified Expert in Engineering
Software Developer
Chennai, Tamil Nadu, India
Toptal member since March 23, 2021
Nikhil has been a full-stack developer and senior software engineer for over nine years. He's skilled in translating his clients' requirements into fully functional, reliable services for various customers and industries, handling millions of data in the back end. He specializes in Ruby on Rails, Python, and JavaScript for front-end frameworks, web apps, database architecture, Linux servers, AWS, and Google Cloud Platform (GCP).
Portfolio
Experience
- Full-stack Development - 9 years
- Python - 8 years
- Ruby on Rails (RoR) - 8 years
- Software Architecture - 7 years
- Cloud Architecture - 5 years
- Google Cloud Platform (GCP) - 3 years
- Amazon Web Services (AWS) - 3 years
- Technical Leadership - 3 years
Availability
Preferred Environment
Linux, Visual Studio Code (VS Code), Slack, Windows, MacOS, Jira, Agile
The most amazing...
...project I've developed is a cloud-based internet radio service that handles the back end, UI, radio service, monitoring, and billing.
Work Experience
Software Engineer
FreshBooks
- Collaborated and developed an OCR application to read customer expense receipts, resulting in a successful app release and follow-up enhancements. The service had 5,000 active users at any given time.
- Built a bulk export feature for customers to export their receipts with attachments to be readable and parseable properly, leading to a significant reduction in support tickets for bulk export requests. Reduced requests to the support team by 90%.
- Worked on multiple features to enhance the process of importing bank transactions into the accounting application for customers, leading to a considerable reduction in support tickets related to corrections in importing bank transactions.
Lead Software Developer
Sparkfish
- Developed an AWS infrastructure to shift automation from legacy VBA and C# applications to a cloud-based infrastructure and the new codebase in Python, processing two terabytes of retail product data per week.
- Added GCP-based functions and APIs to support Google accounts for tracking emails.
- Made extensive use of Gmail and Google Drive APIs for processing incoming emails to particular company emails.
- Used the Serverless framework and CloudFormation to automate deployment across multiple stages per automation flow.
- Provisioned a secure Amazon API Gateway for external access to automation flows.
- Developed a React-based serverless web app with an Amazon API Gateway back end to manage the configuration of automation flows.
Senior Software Developer
Prince Law Offices
- Created and updated Ruby on Rails web application from a legacy Rails web application for a law firm.
- Updated the front end to a JavaScript framework from a server-generated front end.
- Managed the maintenance and updates of applications from Ruby 2.1 to Ruby 2.7, Ruby on Rails 4.0 to 6.0, Bootstrap 3.0 to Bootstrap 4.5, AngularJS to Angular 2, and Angular 2 to Angular 11.
- Created the functionality to generate, template, and automate documents from the creation process to client dispatch.
- Developed an event management tool for the web application to manage user events and send reminder notifications.
- Created a newsletter tool to create and send newsletter campaigns in the web application.
- Implemented a reminder set up for multiple aspects of the web app, such as events, documents to be notified, and custom reminders with various delivery options.
- Built a URL shortening tool and an Express.js application to process the shortened URLs using a short internal domain.
- Managed the production implementation of the web application with NGINX and Phusion Passenger.
- Led a team in the later stages to maintain, update, and add new features to the applications and manage production infrastructure.
Software Architect
Services Cloudradio
- Developed a Ruby on Rails web application to host cloud-based internet radio stations. End users could subscribe to create a radio station, deploy to available geographic regions, and embed clients as required.
- Built a microservices architecture with Ruby on Rails and Angular that included the back end, monitoring service, UI, content delivery application, separate billing, and region-based radio service provision.
- Led a team to decide on the tech stack, design the architecture, and develop the software services per the requirements and designs.
Experience
OCR Application for Processing Receipts
https://www.freshbooks.com/receipt-scanner• Review the extracted results before approving the information to be stored in the system, which would automatically be entered into their accounting books.
• Upload the receipts by web or mobile.
• Email the receipts to be processed.
The production infrastructure, including monitoring, was set up using Terraform. The deployment was done to a Kubernetes cluster using Flux CD for continuous deployment, and GitHub Actions were also used for CI/CD processes.
Internet Cloud Radio Stations
https://www.cloudrad.io/• An Angular UI for customers to sign up and create and manage their radio stations, schedule offline and live programs, create live stream options, and design their embeddable players for listeners
• A Ruby on Rails back end for the above UI to process requests and call other services to perform necessary actions with MySQL as the centralized database
• A Ruby on Rails and Sidekiq app to manage billing subscriptions, recurring billing, and suspension and termination of services with Quickbooks as the accounting back end with third-party integration
• A radio station hosting setup on multiple global locations using Express.js-based applications in each server to manage radio stations
• A Rails and Memcached-based CDN service to provide embeddable players
• A monitoring service using RRDtool to collect analytics on radio stations' listeners where the data was visualized as metrics, tables, graphs, and geo charts
• A monitoring service to scan the infrastructure and raise alerts if any issue arises
AWS Automation Flows
Automation for Internal Flows for Customers
The scripts included automated campaigns through email and SMS with the specific configuration, an automated script to onboard customers to Intercom periodically, and notifications for each script status, which were also sent to Slack.
Web Application for a Sales Team
The app also included event management, including attendee management for each event. Each sales team can be assigned goals with progress tracked. We also provided a trophy system that could be assigned to users based on individual achievements.
The app has an overall dashboard to track different types of progressions and track statistics of sales. The app also provides a way to send memos and announcements to team members or the entire organization. The memos and announce follow the viewer count. The app periodically pulls a team member's sales statistics from an external SOAP API into the web application.
Desktop Application for Smart Classroom Content
The front end of the desktop application was built using Angular. The front-end media player for certain content was enabled through an integrated VLC-based plugin as a Java application.
AWS Web Application
This application used AWS Lambda written in Python for the back end, Amazon API Gateway as the HTTP interface, React for the front end, and AWS S3 for hosting. The deployment was handled using Serverless Framework.
Manual Bank Reconciliation for Accounting Software
Bulk Export for Accounting Software
Web Application for Tracking Fitness
The app also provides a comprehensive set of exercises that are categorized by the muscles affected. Users can add their own set of exercises, select from built-in sets of exercises, set a schedule, and track their progress periodically. Notes for each workout session can also be added to keep track of things to remember.
Web Application for Employee Directory
Web Application for Event Management
Web Application for Tracking Sessions (White-label)
The session attendance and other information are imported through a spreadsheet manually and through automated import URLs periodically. The users can check each session's status, date, and other information and verify them. The users can raise discrepancies, if any, which are checked and verified by admin users. The application has the ability to export the latest data into a spreadsheet.
Education
Bachelor's Degree in Electronics and Communication
Anna University Affiliated College - Chennai, Tamil Nadu, India
Certifications
Postgraduate Diploma in Machine Learning and Artificial Intelligence
IIIT Bangalore
Skills
Libraries/APIs
Sidekiq, Ruby on Rails API, REST APIs, React, Slack API, jQuery, Node.js, Gmail API, Google Drive API, Mailchimp API, Google Chart API, Amazon Marketplace Web Service (MWS), Stripe, Stripe API, Plaid API, Yodlee API Interface, QuickBooks API, Google Geochart API, Chart.js, Twilio API, Intercom API
Tools
NGINX, Git, Amazon Simple Queue Service (SQS), Amazon CloudWatch, Passenger, GitHub, GitLab, Capistrano, Terraform, ChatGPT, Claude, Slack, Skype, Systemd, Amazon Simple Notification Service (SNS), FullCalendar, RRD, RRDtool, HipChat, Helm, Jira, AWS CloudFormation, Apache Solr, Asana, Mailchimp, RabbitMQ
Languages
JavaScript, HTML5, CSS, Python 3, Python, HTML, Ruby, SQL, TypeScript, ECMAScript (ES6), PHP, C#, Visual Basic for Applications (VBA), Sass, SCSS
Frameworks
Ruby on Rails (RoR), Angular, Bootstrap, Ruby on Rails 5, Bootstrap 3+, Serverless Framework, Ruby on Rails 4, Bootstrap 3, Ruby on Rails 3, Ember.js, Django, Django REST Framework, Flask, Express.js, OAuth 2, Bedrock, Electron, Sinatra, AngularJS
Paradigms
Automation, Test-driven Development (TDD), RESTful Development, REST, Serverless Architecture, Microservices, Agile, Desktop App Development, Microservices Architecture, Desktop Web Design
Storage
Databases, Database Modeling, MySQL, Amazon S3 (AWS S3), Amazon DynamoDB, PostgreSQL, Redis, MongoDB, Memcached, Microsoft SQL Server, Datadog
Platforms
Linux, Google Cloud Platform (GCP), Linode, Phusion Passenger, AWS Lambda, Amazon EC2, Amazon Web Services (AWS), Kubernetes, Docker, Visual Studio Code (VS Code), Windows, Apache2, MacOS, Twilio, Desktop
Other
APIs, Full-stack, Web Applications, Production, Front-end, Back-end, Architecture, Software Design, Web Development, Scalable Architecture, Full-stack Development, Serverless, Data Visualization, Ruby Gems, Front-end Development, Software Architecture, Amazon API Gateway, Fintech, Agile Sprints, UJS, Technical Leadership, SSL Certificates, Financial APIs, Financial Data, GitHub Actions, Slackbot, Cloud Architecture, AWS Cloud Architecture, Intercom, Computer Science, Web UI, Embedded Hardware, Embedded Software, Digital Electronics, Microcontroller Programming, Intuit QuickBooks, Data Science, Machine Learning, Neural Networks, Recurrent Neural Networks (RNNs), Convolutional Neural Networks (CNNs), Data Reporting, Metrics, Team Leadership, Remote Team Leadership, Web Services, Distributed Systems, User Interface (UI), User Experience (UX), PayPal
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