My Experiences & Projects
Download ResumeTechnologies
Comfortable with
- JavaScript / TypeScript
- Python
- Bash
- Kubernetes
- Docker
- REST / GraphQL
- Git Version Control
Experience with
- C / C#
- Java
- SQL (PostgreSQL) / NoSQL (MongoDB)
- Auth0 / Firebase Authentication
- HTML5 & CSS3/SASS
- Full Stack Development: AngularJS - Flask, ReactJS - NodeJS
- Native Android Development
- CI/CD: GiHub Actions, GitLab, Jenkins
- Infrastructure as Code: Terraform, Ansible
- Cloud Platform: GCP, AWS, OpenStack
Work Experiences
Architected and built the identity decisioning module during the minimal viable product (MVP) development. Work closely with other departments (credit, compliance and finance) to integrate third-party services for identity decisioning, check issuing, credit reporting, and accounting. Actively participated in design meetings and develop new features. Fullstack development on the internal admin dashboard.
Designed and built backend microservices in NodeJS with TypeScript for a virtual operating system and integrated them with Cloud services. Developed frontend features in ReactJS and managed production-ready Kubernetes clusters. Created CI/CD pipelines in GitLab for all microservices.
Worked in a fast-paced environment with passionate developers to develop and maintain Ormuco's IaaS (Infrastructure as a Service) platform. Enhanced my JavaScript skills and learned AngularJS, Flask, Jinja2 and SASS through this experience. Worked to improve the Ormuco IaaS platform UI, to improve existing features and to add new features to the platform such as Workflow as a Service (OpenStack Mistral). Worked largely with OpenStack products and performed QA/UAT testing.
Investigated different logs aggregation/processing tools and created a proof of concept for centralized logging management solution using AWS CloudWatch. Implemented functionality to dynamically create CloudWatch agent configuration files per environment and projects using ERB templates and Chef. Wrote Terraform and Cloudformation scripts to provision AWS resources.
Provisioned virtual machines in staging environment with Ansible. Created and set up Docker containers for functional tests. Wrote Jenkins 2 declarative pipeline scripts (groovy) to automate builds and deployments. Wrote bash scripts to automate the generation of daily reports for the overnight load test results and publish them on Discousrse via their API.
Worked with a group of interns using Scrum methodology to develop a CLI tool in Python to automate the deployment of train softwares and operating systems in AZUR metros. Created a Grafana dashboard to show metrics for team productivity. The data was obtained from JIRA via REST API and stored in MariaDB.
Personal Projects
Finni Health Patient Dashboard
This is a take-home project I built for an interview, designed to help healthcare providers efficiently manage patient information. The app allows providers to easily list, view, edit, add, and delete patient profiles, streamlining patient management and enhancing care delivery.
Built with: Firebase Authentication, React (TypeScript), RTK-Query, Material UI v5, Express (TypeScript), MongoDB
Receipt Keeper (Incomplete)
Receipt Keeper is a mobile app that allows to manage receipts.
Built with: Firebase Authentication, Flutter (Dart), C# .NET, PostgreSQL
View Project on GitHub
Komeet (Incomplete)
Komeet is Web app that allows you to organize events with friends. In other words, a modern version of when2meet.
Built with: React (TypeScript), Ant Design, Express (TypeScript), MongoDB
View Frontend Project on GitHub, View Backend Project on GitHub
WebsiteWatcher
WebsiteWatcher is a Python Command line tool that watches a website and notifies the user via email or sms when the watcher condition is met. It's useful for tracking lists or values on the internet, e.g. New items, Price changes, etc.
Built with: Python3, Selenium WebDriver, Beautiful Soup 4, Twilio Email/SMS API, Tox
View Project on GitHub
YoutubeStopwatch
A chrome extension that is used to help users plan, monitor, control their YouTube usage. Essentially, it prompts the user for an estimated time they want to spend on Youtube and sends a notification when the time is up. The user can choose to leave or continue watching videos but there will be a gradual blur applied to all videos. This was done as part of a school project (Human-Computer Interaction).
The chrome extension is available here: Download Extension
Built with: HTML5, CSS3, Javascript, JQuery, Chrome APIs, Chart.js
View Project on GitHub
MobSlayer
Native android mobile game where the player's only task is to eliminate monsters (shamelessly stolen) from MapleStory. As they level up, players will acquire new skills, unlock new maps and encounter new monsters. If the player is lucky, they will encounter a boss. This was initially made as a joke but it turned out to be quite fun and a good experience.
Built with: Android Studio, Java, GSON
View Project on GitHub