e-MOS - Electronic Meal Ordering System (Serial Multivision)
e-MOS is a hospital-focused meal ordering system designed to streamline dietary management and meal delivery for patients. The application is widely adopted across hospitals in Singapore, serving as a mission-critical platform for healthcare providers.
As the Senior Software Engineer and team lead, I spearheaded the development of e-MOS from the ground up, leading a team of 3–4 developers while also owning the most complex technical implementations. The project architecture was designed for high security, scalability, and cloud efficiency:
-
Backend: Built using .NET Lambda Serverless APIs and ASP.NET Core APIs, with secure access via AWS API Gateway to a private RDS SQL Server.
-
Frontend: Delivered as a modern Angular application, deployed to AWS S3 and accessed through AWS ALB → Target Groups → Lambda Proxy → S3.
-
Authentication: Integrated with Azure Entra ID, ensuring secure, enterprise-grade identity management.
-
CI/CD: Automated deployment pipelines implemented with Azure DevOps for reliable and consistent releases.
-
Architecture: Designed a private/isolated network model to ensure compliance with hospital security requirements and minimize attack surface.
-
Advanced Solutions: Engineered features like secure messaging, chunked file uploads, and enhanced security measures to handle sensitive patient data.
Through this project, I combined technical leadership with hands-on engineering, guiding the team while also directly solving the most challenging problems. The result was a robust, secure, and highly available system that continues to support hospitals across Singapore in delivering timely and accurate meals to patients.
Service Enablement Dashboard (Uptec.IO)
This product enables the users to onboard/deactivate Azure Services effectively via using their Organization Subscription and Entra ID Directory and monitors the usages, billings and some security layers. This product uses cutting-edge technologies such as .NET 8, Azure Functions, Azure Api Management, Azure Queue Storage, Azure KeyVault, Azure Blob Storage, Azure Application Insights, Azure CosmosDB, Azure Search, Azure Open AI Preview Edition, Azure DevOps and Vue3 Typescript.
SNAP NSG-OPS (Uptec.IO)
An automated way to deploy multiple Azure Virtual Networks, Subnets and Network Security Groups to certain Azure Subscription efficiently using Azure DevOps CI/CD. The script heavily uses Powershell and Azure CLI.
OneDB Project & DevOps Pipelines (MIMS)
OneDB project is like the center of identity or user management for all the microservices used in MIMS. It's capable of authenticating and authorizing the users, listing all users, editing the info etc. I was also responsible for making changes and improvement on this project when working as Senior Software Engineer and also including managed all the microservices pipelines in MIMS when working as DevOps Engineer.
Payperclip (Kobkiat)
A complete app like Onlyfans that has 2 type of users: Creator or Fan. As a creator, we can publish contents (images, videos, documents, etc) and set the pricing (either free or has some desired price). And as a fan, we can see the contents of our creators. Mostly they will see the trailer contents if the contents are not free. It has many options of payment. We can use Paysociety E-Wallet system, Transfer bank, Credit Card, etc. Currently, this product is under-development and nearly finish.
Paysociety E-Wallet System (Kobkiat)
An E-Wallet System created by Paysociety Kobkiat Global IT team using Microservices Architecture. The backend uses .NET Core with MongoDB as database, IdentityServer4, Kafka, Ocelot etc. For the front-end, it uses Angular 10x PWA.
Hero Ride Proejct (Travlr)
- Created the git repo and CI/CD pipelines using Azure DevOps
- Created the Azure services for the apps, like Azure App Services, Azure Storages, Azure CosmosDB (MongoDB), etc
- Migrated the MongoDB storage to Azure SQL Server (Schema and Data)
- Develop new features for the apps and also do the fixing for the bugs
Hero ProjectX Migrations (Travlr)
- Migrated TFS source control for the base project into Git hosted in Azure DevOps
- Created CI/CD pipelines for staging and production for the MVC Projects, Nuget Libraries, Webjobs and Azure Functions as well
- Migrated Azure WebJobs Projects into Azure Functions v1 Runtime
- Created nuget watcher for handling local debugging for custom nuget packages
Optimus R2 Project (Avant Mutual Core Migration)
This was huge migration project in which they were around 10+ microservice apps (API Apps) written in ASP.NET Core 2.1 needed to be moved to Azure Functions 3.1 Runtime for cost savings, performance improvement and scalability. Those microservices included Payment Service, Reporting Service, Identity Services and many others. Those migrated Azure Functions will be consolidated by Azure Api Management in which this gateway as the central access point for the React.Js app consuming the Apis. The stacks that were used in new migration included: Azure Key Vault, Azure Managed Identity, Azure Event Grid, Azure Api Management, Azure SQL, Azure App Insight and Azure Functions.
Bentoel (British American Tobacco) - Logistic Control Tower (QA: https://qa.lctbat.id, PROD: https://lctbat.id/)
A web based and mobile application control system used to track the distribution of the Bentoel's products across the country in near realtime. It is able to track the truck movements and panic alerts with different gps vendors. This app contains many modules for operational purposes like Job Order Planning, Master Data, Report, Tracking, etc.
Developed with ASP.NET Core Web and API for Core Backend System and API for the Mobile App, Azure Functions v3.x for heavy workload operation related to fetching GPS data and track the usage of Panic Alert Buttons, Azure SQL as the backing store storage, Azure Blob Storage as the files/docs Storage, Azure VMs as the hosting vm with 2 servers run in parallel and tied using NGINX Load Balancer. Powered with Azure DevOps Repo, Build and Release Pipelines. For the mobile app, it's powered by React.Js.
Bentoel (British American Tobacco) - Inkaber DIET (https://inkaber-diet.com/)
INKABER DIET is a project initiated by Bentoel Group together with Bea Cukai for Excise Duty Reporting to Government. Written in ASP.NET Core Web App as the core app, Azure Functions as the processing engine for heavy workload, SQL Server as database storage, Azure Blob Storage as the system storage and hosted in Azure AppService (Backed by Azure DevOps Build and Release pipelines).
Corteva - Scratch and Fortune (https://fortune.sahabatkita.net/)
This project started under Corteva Company. A project about rewarding system for customers using Spinner and SMS Service. All campaigns must be created on Master Data and Backend App with given rewards and mapped vouchers, product types and provinces. Voucher group itself must be generated more than 1 Millions and must be available immediately (using Parallel Background Tasks). The backend app can be viewed here https://fortune.sahabatkita.net/
Bentoel (British American Tobacco) - KITE Management System (https://kite-it-inventory-glt.com/)
KITE is project initiated by Bentoel Group together with Bea Cukai for Excise Duty Reporting to Government. Written in ASP.NET Core Web App and API, hosted in Azure AppService (Backed by Azure DevOps Repo, Build and Release Pipelines), with SQL Server as backend storage.
Bentoel (British American Tobacco) - Ben Cepet Excise Management System
Management System for Bentoel Group Malang written in full ASP.NET Core, hosted in Azure AppService (Backed by Azure DevOps), with SQL Server as backend storage, SignalR for notification engine and RabbitMQ for queueing mechanism. This webapp secured with SSO Microsoft Azure Active Directory Multitenant (Oauth2 + OpenIDConnect)
Kopoka Backend App (https://kopoka.com/)
Kopoka is an app for attendance and other HR features that is very easy to use and can be accessed anywhere and anytime
Management Information System - KIAT (Kemitraan Indonesia Australia Untuk Infrastruktur)
A Management of Information System for KIAT is an Web Application written in ASP.NET MVC
combined with Web API and Azure. It is a central repository of information to support the size, scope and
complexity of KIAT activities, management and key counterparts in Australia’s Department of Foreign
Affairs and Trade (DFAT) and the Government of Indonesia (GoI).
Sampoerna - Sensory Administration System (SAS)
An advanced web application with n-tier architecture and online database to manage product evaluation activities which has some features:
- Product evaluation request management
- Panelist management:
a. Panelist performance
b. Panelist participation
c. QDP History report
This application uses Eye Question (EQ) to perform the evaluation. Eye Question is a data collection tool of Sensory Evaluation in web platform which able to generate many questionnaries of sensory test method.
This project is lead by me as Lead Developer. I create the EQ Framework, SAS framework, n-tier architecture, coding best practices and handle all my junior developers. All the unit tests also performed by me to get the best and accurate result.
Crypto Projects
This is my biggest project that i currently handle by myself. This project contains two softwares, Encryptor Service and Decryptor Service. Encryptor Service works by encrypting all files in a shared folder located at Sampoerna Server. It runs by a schedule in which after encryption finished, all encrypted files will be sent to G4S (vendor) server. In G4S server, encrypted files will be put in secured folder where the decryption will occur. Decryption process will be handled by Decryptor Service that works by a schedule also. Cryptography algorithm that i use to solve this problem is using Hybrid Encryption where the AES key that is generated for every encryption will be encrypted by using RSA public key. So does the decryption. Decryption works in reverse by decrypting the AES key and the AES key will decrypt the data. This is private project and link is not shared for public.
Sampoerna - Distribution Facility of Information System (DFIS)
This is core project in Sampoerna Tbk for managing all the cigarette distribution around the country. I worked in this project as .NET Developer that did bug fixes, added new features and performed unit testing. This is private project and link is not shared for public.
Face Recognition V1.0
A high performance desktop application for data analytics and byte learning. This application uses Eigenface and Fisherface Algorithms for recognizing faces from visual training. All visual training images are stored in SQL Server database. This application uses WPF and MVVM design pattern for nice looking GUI part.
Plagiarism Checker - Student Score Management
Plagiarism Checker v1.0 is a managed web application for submitting student's assignments, plagiarism checking and score management. All student activities are recorded with this application and can be searched easily by Administration Dashboard. This application can detect assignments that categorized as plagiarism using global Plagiarism algorithm.
VX Shutdown Timer (https://github.com/mirzaevolution/Vx-Shutdown-Timer)
A Windows Shutdown Manager that supports all kind of Windows power off features and provides various timers such as Countdown Timer, Schedule Timer, Service Timer and Trigger Timer. Not only timer or schedule based operation, this software also supports direct command which you can invoke directly. This software is purely created using C#, and WPF with .NET Framework 4.5.2. Most operations happen in the UI except for Service Timer where you can close the app and make schedule for a certain time.
Automatic School Bell v3 (https://github.com/mirzaevolution/Automatic-School-Bell)
A software used to ring the bell automatically for daily schedules, events, exams and recurring schedules. This software is intended to facilitate school administration in managing the time to ring the bell for a given schedule. Audio can be specified independently based on each school need. It uses SQL Server as the back-end storage that allows us to store data quickly and reliably.
MGR-21 Process Killer (https://github.com/mirzaevolution/Mgr21-Process-Killer)
An advanced process killer software that works for MS Windows Operating System. This process killer is totally different than others in the way it finds processes. It doesn't find processes by their names only, but with additional algorithm called "2 KB Initial Bytes" that can seek out all processes that are same but with different names.
SteganoHydra CLI (Advanced Steganography Tool) (https://github.com/mirzaevolution/SHydra.Console)
SteganoHydra is a lightweight tool for performing Steganography operations combined with Cryptography for data security of the payload using Command Line Interface under Windows OS. This tool supports embedding text string as well as multiple files into a single PNG image without any defect in the target PNG image. The security itself uses AES-256 with 20,000 iterations to protect user password and uses GZip compression algorithm to compress contents inside the target image. SteganoHydra supports 3 operations. They are message (string) embedding, single file embedding and multiple files embedding (must specify the name of the target folder). This project is open source and anyone can contribute on Github
ThumbnailSharp.Client (https://github.com/mirzaevolution/ThumbnailSharp.Client)
ThumbnailSharp.Client project has two main versions, ThumbnailSharp.Cli (Command Line Version) and ThumbnailSharp.Gui (GUI Version). These softwares are used to create a thumbnail from an image either local or from internet utilizing ThumbnailSharp library.
System.IO.SafeTraversal v2.0.0 (https://github.com/mirzaevolution/System.IO.SafeTraversal)
A Feature-Rich and UnauthorizedAccessException-Free Traversal Library for files and directories for .NET framework 4.5 above. This library guarantees no exception will be thrown while traversing certain path either for files or sub directories. System.IO.SafeTraversal v2.0.0 comes with safer and faster query against file system than previous version (1.1.0). In this version, a few bugs were fixed. Error log will be handed to an event that users can subscribe. Unsafe asynchronous operations have been removed. And supports custom filtering that ensures no exception will be thrown although there's an exception inside custom filter. It also supports .NET Core 2.0.
MirzaCryptoHelpersV2 (https://github.com/mirzaevolution/MirzaCryptoHelpersV2)
A Lightweight helper library to perform common cryptographic operations. This helper library is wrapper from existing .NET framework library and was created to ease development when we have to deal with cryptography operations, hashing and conversions by simply wrapping all the related operations found in .NET Framework into streamlined classes, methods and extension methods.
ThumbnailSharp (https://github.com/mirzaevolution/ThumbnailSharp)
A specialized library to create an image thumbnail from various sources with better result and supports different image formats. It supports source from local or internet (supports async/await) that produces better result than Image.GetThumbnailImage Method from System.Drawing.dll. You can consume the result of the operation either as an array of bytes or a stream.
Console Password Masker (https://github.com/mirzaevolution/ConsolePasswordMasker)
A lightweight library for .NET Framework 4.0+ and .NET Core 2.0 that handles password masking for console application. It works by replacing every char that users type into asterisk * or custom char that can be set by yourself. Not only masking chars into specified char replacement, it also supports char filtering that can filter every char that meets the given filter criteria.
Money Speller Engine (https://github.com/mirzaevolution/MoneySpellerEngine)
This lightweight library is used to spell out numbers in positive integer 64 bit into spelled out numbers from 1 to 999,999,999,999,999 (Trillion). Currently, it only supports ID (Indonesia) and EN (English) languages.
Billing Software (Freelance Product)
This is a socket-networking software for small internet cafe to manage the internet cost that used by the users/hour. This software supports cost management, remote control to all connected computers and dead lock.
MIN 1 Adirejo Lampung School Management System
A complete and high speed desktop based software with Windows Presentation Foundation (WPF) to manage all the school management for teachers attendance, students attendance, students scores mangement and students report progress. This software was used by MIN 1 Adirejo, Lampung (Primary School).
Web Scrapper
A crawling engine for scrapping any content on the web with advanced RegEx (Regular Expression) Algorithm and Text Analysis. Built on the top of ASP.NET MVC.
Trivelio - Freeport McMoran Flight, Chopper and Bus Reservations (https://ptfi.trivelio.com)
A hybrid application for mobile and desktop web platform for flight, chopper and bus reservations for Freeport employees across the globe.
Web QR Code Scanner (RnD)
A web qr code scanner with newer algorithm for processing captured qr code image from camera that can be customized to validate the content of the qr code. This project is still in development and will be integrated to many Freeport Indonesia applications. This project developed by me only.