GanapathyRajan Rajendran
Verified Expert in Engineering
Back-end Developer
Kuala Lumpur Federal Territory of Kuala Lumpur, Malaysia
Toptal member since September 2, 2021
GanapathyRajan has seven years of experience in JavaScript, 3+ years in Node.js, and 5+ years in PHP (Laravel). He developed dozens of microservices using Node.js and he's built an entire application in three months. His commitment to critical thinking and attention to detail has led him to deliver dozens of microservices without fail. He is an experienced senior back-end developer excellent at delivering a distributed system with high performance and low latency.
Portfolio
Experience
- SQL - 7 years
- JavaScript - 7 years
- Back-end - 7 years
- APIs - 7 years
- Microservices - 5 years
- Node.js - 3 years
- Express.js - 3 years
Availability
Preferred Environment
Ubuntu 18.04, Visual Studio Code (VS Code), Sublime Text 3, MySQL Workbench, Amazon Web Services (AWS), Postman, Jira, Trello
The most amazing...
...thing I've developed is a payment proxy for the VOD service serving millions of users. It supports multiple payment methods of recurring and single payments.
Work Experience
Senior Application Developer
Dimsum
- Developed the payment proxy for the VOD service that serves millions of users monthly. It supports multiple payment types such as recurring and one-time payments and inbound subscriptions via telco and outbound subscriptions via business partners.
- Developed a Python back-end script to collect data from various sources and massage it into a central database for the analytics and sales team to access. We also enabled the reconciliation of payment gateways and promo code reports.
- Designed the documentation and integrated the specially tagged AVOD and SVOD on Huawei, Maxis, and Digi. The script supported inbound subscriptions and geo-based video tracking.
- Developed four-tier security to be implemented in all APIs accessible by external parties. It included a signature-based x-sign header, time-based validity verification header, API invocation permission control header, and JWT token authorization.
- Developed a script that identifies the video contents based on the tagging done and processes it accordingly as AVOD and SVOD. Tagging rules were preset to DB to allow the processing of content that can be governed by priority-based rules.
- Created a Python script converting the SRT to WebVTT followed by segmentation and fetched by a PHP script that appends the necessary audio information and segmented information to the M3U8 file. A monitoring script notifies the admin of the error.
- Made a script that grants all the staff 12 months of VIP entitlement without closing the active paid subscription.
- Led a team of four, including three front-end developers and one QA. Communicated with business partners, designed documentation and flows, then delegated tasks while I took full charge of the back end. Oversaw the project until deployment.
- Developed a recommendation API for user-personalized media content based on ingested data to AWS Personalize. This was developed using a Python script to push the data from the central database to AWS Personalize and return it in JSON format.
- Developed a back-end script on product listing and checkout for the watch and shop eCommerce feature in the VOD service-based system.
Senior Back-end Developer
Freelance for Qliah
- Designed and developed the backend for the Qliah App (iOS and Android) on NodeJS for a podcast app that exclusively allows mosques and preachers to upload their lessons in audio format so that the content can be shared with a wider audience.
- Full admin web portal on Laravel 5.4 that includes user, podcast, and payment management, content creator administration, and data visualization.
- Acted as the CTO and oversaw the design of the entire product, delegated tasks to the iOS and Android developers, and pushed the app to Google Play Store and App Store.
- Conducted continuous monitoring, improvements, and bug fixing.
- Assisted the client in listing down all the features developed to be listed on the LaunchGood for fundraising and transferring code and the product to another company.
Freelance Senior Back-end Developer
Mimos
- Developed an intranet-only web portal for Mimos that manages equipment (analysis type), requests for quotation (RfQ) for services provided by clients, and TDR.
- Built a public web portal for customers that includes a listing of equipment and labs availability, generates quotes and the specific T&C based on the selected equipment, and manages the requested services and equipment therein.
- Conducted continuous monitoring, improvements, and bug fixing.
Freelance Senior Back-end Developer
Eagle Navigator
- Designed and developed the back end in Node.js for Eagle Navigator to ease the work of students and the faculty on their research papers and construct sentences based on the research questions, theoretical propositions, and hypotheses.
- Developed a full admin web portal on Laravel 5 to manage the users and the subscriptions.
- Conducted continuous monitoring, improvements, and bug fixing.
Senior Application Developer
AirAsia Group Berhad
- Created an admin portal to manage media content, including the ability to rearrange content and set the keep-alive period. The preview content gives the content team a glimpse of how the content would be displayed through the Xcite app.
- Developed Bash scripts that segment the video content into HLS DRM-encoded files, clear all expired content and cache on each new login to the app, synchronize the data with the local RDS machine, and renew DRM licensing for all content.
- Built a Bash script to sync completed content from admin portal to OTG and then to 1630 Huawei MediaPad tablets.
- Developed a Python script that massages the raw data and pushes the processed data into Google's big data platform and then visualizes it on Google Data Studio for the analysis team.
- Developed a back-end script on product and merchandise listing and checkout for the watch and shop eCommerce feature in the VOD service-based system.
Freelance Senior Back-end Developer
Golazo Football
- Designed and developed the back-end microservices for the Golazo Football App available on iOS and Android platforms. Used Node.js.
- Developed a full-stack admin web portal on Laravel 5.4 that covers user management, role management, booking slot management, fielders and team management and data visualization.
- Acted as the CTO and oversaw the designing of the complete product, delegated tasks to the iOS and Android developers and pushed the app to the Google Play Store and App Store.
- Performed continuous monitoring, improvements, and bug fixing.
- Helped a client complete the process of transferring the code and product to another company.
- Developed a back-end script on product listing and checkout like a simple eCommerce feature for the apps.
Freelance Senior Back-end Developer
Happy Chef
- Developed a Laravel-based auditing system for restaurants to control their expenses on cooking.
- Created an admin web portal to manage subscriptions, products, and ingredients, subscription and restaurant auditing, and reporting.
- Developed a user web portal covering product management, ingredient management, staff management, sales reporting, costing reporting, human resource costing, and business intelligence.
- Made a back-end API for Android that covers the ordering feature, table management feature, product group, product variation, and product menu, order bill (shopping cart), and Telegram Instant messaging integration.
- Developed the back end for POS, including different features for paying, refunding, and canceling orders, timesheet, staff clock-in and clock-out, and staff picture taking.
- Created a hardware Integration with POS, Android, and user web portal for receipt printer that prints receipts at the counter upon completing the order and kitchen printer that prints the food ordered in the kitchen.
Freelance Senior Back-end Developer
MYOSHE
- Designed and developed a Laravel-based system that revolutionizes how assessment and reporting are done in the occupational safety, health, and environment industry.
- Created a restricted web-based admin dashboard for customers that includes managing subscriptions and packages, data visualization, and customer-based auditing.
- Developed a public web portal for customers, including medical checkup slot requests, medical checkup report gribble integration, and medical report recommendations.
- Conducted continuous monitoring, improvements, and bug fixing.
WordPress Developer
Media Prima Berhad
- Developed three websites on the WordPress portal to support Hot FM, Fly FM, and One FM.
- Developed various WordPress plugins to support discounts, vouchers, campaigns, and special appearances.
- Conducted continuous monitoring and bug fixing on the portal.
Experience
Dimsum Payment Proxy
I was the sole developer who designed and developed this application by communicating with external business partners such as Telekom Malaysia, Celcom, uMobile, Huawei, Maxis, Digi, iPay88 and MolPay. The script was designed to be flexible and customizable to support all upcoming partners, as some partners were added later.
Four-tier Security
https://drive.google.com/file/d/1870NCLFZy5hE-ueRImCGraY8P01vW-mp/view?usp=sharingTier 1 — Signature Algorithm
All requests must be signed using the HMAC-SHA256 algorithm and a secret key. The corresponding secret key wọ̣̣uld be securely shared with the party. The signature would be passed through the header as an x-sign.
Tier 2 — Time-based Validity Verification
The default valid time range is five minutes. This prevents the API from failing due to a time difference of five minutes or more between the requesting party and the requested party. The timestamp value would be passed via the header as x-timestamp.
Tier 3 — API Invocation Permission Control
All requests to the API are checked against the third-party identifier. The partner must request the permissions of the requested party to obtain the identifier. The value would be passed as a query string parameter.
Tier 4 — Authentication Token
All requests must be made with a valid JSON web token (JWT). If the identifier is successfully authenticated, the API would be responded with a JWT with a validity period of one day. The requesting party should trigger the token API to receive the updated token when the token expires.
Integration of Business Partners | MaxisTV 2.0 and Huawei
These microservices cover the following functions:
• Processing video content and metadata based on tagging. This handles SVOD and priority-based rules while internal media content is not affected. For example, the entire episodes of Series A can be offered as SVOD on the Dimsum portal, while the first two episodes of Series A are offered for free on Huawei and the first three episodes are offered for free on MaxisTV 2.0.
• The API checks the eligibility of the renewal request and responds accordingly, depending on the product and business partner.
• Returns the DRM-licensed video URL after verifying the user's eligibility. The video URL is prefixed with the business partner's short name on CDN to track the video request.
• All these requests can only be made through the 4-level security.
• Script designed and developed to support all new business partners added without making any code changes.
Big Data Initiative
The script would identify the child's recurring orders and map them with the user, order, and content details. Reconciliation of payment gateways like MOLPay and iPay88, telcos like Maxis, Digi, U Mobile, and Unifi, and third-party business partners such as MaxisTV, Huawei, and Digi EasyAdd, and promo code reports. Notifications are sent for each completed operation via AWS SNS, Mandrill to the analytics team, and Telegram to the support team.
The analyzed data is stored in AWS RDS for the analytics team's view and pushed to AWS Personalize weekly to deliver user-based personalized content.
Recommendation API (Personalized Content)
The script was written in Python due to some issues with the AWS Personalize SDK of Node.js. AWS SDK for Node.js causes some undefined values when it calls AWS Personalize API.
This API submits the currently playing media and responds with the next playing media as a recommendation.
AWS will update its model every two hours to recommend the updated media content. For the newly registered or free users, the recommendation would be based on the popular content only.
SVOD and AVOD Script
https://drive.google.com/file/d/18n2xmihKBKIDVrN37vjfuP4K8xaxGDkU/view?usp=sharingAll drama, simulcast, and close release genre content would be processed as SVOD on initial release, followed by conversion to AVOD after two weeks and then to SVOD on final episode. After three months, the entire series-episode will eventually be converted to AVOD. This process differs by grouping and individual files. In grouping, the entire series-episode are converted to SVOD and then to AVOD on the same day, while in individual processing, the content is processed individually and converted to SVOD and then to AVOD after each time set.
This also differs depending on the country of origin of the content. All this is due to the agreement with the providers from each country. For boxset drama genre, it is a one-way conversion from SVOD to AVOD after three months, as boxset means that the entire episodes of the series are uploaded to the portal on the same day. The script has been designed and developed to support all new genres, countries, and rules being added without any changes to the script.
MP4SPLIT Subtitle Processing
PHP processes the Python script to convert and segment the subtitle file. These segmented files are appended to the manifest M3U8 file as a subtitle group to support multilingual subtitles such as English, Malay, and Simplified Chinese.
The script would notify the subtitle and/or operations team when the error occurs. No similar errors would be reported twice in the same day to give the respective parties time to re-upload the corrected version of the subtitle file. If the error occurs more than five times, the errors would be ignored forever.
Xcite Inflight Entertaiment for AirAsia
https://www.airasia.com/aa/inflight-comforts/en/gb/entertainment.htmlDeveloped a fully functional admin portal for the content team to upload and manage media content. Admin could rearrange the content listing and set the active/inactive date for the content. The preview content gives the content team a glimpse of how the content would be displayed through the Xcite app.
A back-end Bash script segments all uploaded full-feature movies into 10-second HLS DRM-encoded files, while segmenting the other video content without DRM encoding. Another back-end Bash script was developed to clear all expired content and cache on each new login to the app.
A back-end script was developed to sync all content to the 1630 Huawei MediaPad tablets and sync the data from the tablets to the local server to be retrieved monthly and visualized on Google Data Studio for the analytics team.
Golazo Football App
Served as the sole back-end developer (Node.js), acting as the CTO for this product. I advised the client on the design of the product UI/UX, feature development and deployment. Communicated with the client and delegated the tasks to the Android and iOS developers and monitored their progress. Collaborated with the front-end developers to integrate the back-end API needed to complete the product.
Developed the full-featured web admin portal on Laravel 5.4, including user management, role management, booking slot management, fielders and team management, and data visualization.
Deployed the product back-end services and admin portal on Digital Ocean and moved the apps to Play Store and App Store.
I constantly monitored the app usage and logs for bugs and continuously made improvements and bug fixes to improve performance. A year later, I assisted the client in moving the code and product to another company.
Qliah Podcast App
Served as the main back-end developer (Node.js) and acted as the CTO for this product, advising the client on the design of UI/UX, feature development, and deployment. Communicated with the client, delegated tasks to the Android and iOS developers, and monitored their progress. Collaborated with the front-end developers to integrate the back-end API.
Developed the full-featured web admin portal on Laravel 5.4 to manage the entire podcast app. Deployed the back-end services and admin portal on Digital Ocean and moved the apps to Play Store and App Store.
Continuously monitored app usage and logs for errors and made continuous improvements and bug fixes to improve performance.
Last year, in 2020, I helped the client list all the developed features to publish on LaunchGood and raise funds. This year, I assisted the client in transferring code and product to another company.
Happy Chef System
The restaurant was able to manage the menu in the restaurant, which was then listed in the Android app used by the waiters. The user can manage the dish ingredients, which audits how many kilos were wasted or used to prepare the dish. The dish menu is based on best-selling items and it generates a report on the profit per dish prepared. The system includes staff management, sales reporting, cost reporting, and business intelligence.
It also has an Android app connected to POS that allows waiters to take the order per table. It even displays the wait time for each dish when the customer places their order.
The POS system includes a payment feature that allows customers to pay online. It includes an order refund and cancellation feature that has been integrated with external delivery providers. It includes staff management functions such as time-tracking and staff clock in and out. POS and Android apps have been integrated with printer hardware to print the invoice receipt at the counter and the dish order list in the kitchen after the order is completed.
Education
Bachelor's Degree in Computer Science
University of Malaysia, Sarawak - Kuching, Malaysia
Certifications
Certified Professional for Requirement Engineering (CPRE) Foundation Level
ISTQB
Security+
CompTIA
Certified Tester Foundation Level
ISTQB
Skills
Libraries/APIs
Node.js, jQuery, REST APIs, API Development, Mandrill API, AdminLTE, Google Analytics API, JSON API, Amazon API
Tools
GitHub, Postman, MySQL Workbench, Amazon Simple Notification Service (SNS), Amazon CloudWatch, Amazon Athena, Amazon CloudFront CDN, Jira, Trello, Sequelize, GitLab, Git, GitLab CI/CD
Languages
PHP, JavaScript, SQL, PHP 7, HTML, Python, Bash Script, Python 3, CSS
Frameworks
Express.js, Laravel 5, CakePHP 3, Laravel, JSON Web Tokens (JWT)
Paradigms
Object-oriented Programming (OOP), REST, Microservices, Security Software Development, Testing, Agile, Scrum, Microservices Architecture, Serverless Architecture, Continuous Deployment, Continuous Delivery (CD), Continuous Integration (CI), Continuous Development (CD)
Platforms
Visual Studio Code (VS Code), AWS Lambda, Ubuntu 18.04, Amazon EC2, AWS Elastic Beanstalk, Linux, WordPress, Amazon Web Services (AWS), DigitalOcean, Docker
Storage
MySQL, NoSQL, Amazon DynamoDB, Amazon S3 (AWS S3), Memcached, PostgreSQL, Relational Databases, MongoDB, JSON
Other
Back-end, Software Engineering, Manual QA, Amazon RDS, Amazon Kinesis, Relational Database Services (RDS), APIs, Lambda Functions, Authorization, User Authentication, Data Structures, QA Testing, Web Crawlers, Telegram Bots, Google Data Studio, Digital Rights Management (DRM), Big Data, Serverless, Cloud, Google Play Store, App Store, Deployment, Data Visualization, Technical Leadership, Business Logic, Architecture, Software Architecture, Analytics, Digital Media, Containerization, Distributed Systems, Multitenancy, Query Optimization, TypeORM, Database Schema Design, Authentication, Requirements, User Roles, API Integration, Payment Gateways, RESTful Microservices, API Gateways, Amazon API Gateway, Solution Architecture
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