Compare commits

..

3 Commits

Author SHA1 Message Date
3bfe3642eb Update 2024-12-28 10:43:16 -05:00
b00256bb08 Improved AWS resume 2024-10-08 10:45:53 -04:00
6f4d260885 latex-resume-aws-web-dev 2024-10-01 14:20:48 -04:00
5 changed files with 116 additions and 163 deletions

1
.gitignore vendored
View File

@@ -4,7 +4,6 @@ resources/_gen/
themes/base16* themes/base16*
*.pdf *.pdf
*pt*
commit-msg.txt commit-msg.txt
.hugo_build.lock .hugo_build.lock

View File

@@ -3,128 +3,105 @@ title: "Resume"
date: 2019-02-11T07:50:51-05:00 date: 2019-02-11T07:50:51-05:00
draft: false draft: false
--- ---
{{% resume/section projects %}}<!--- {{{ -->
<!--- RBC AML {{{ -->
{{% resume/project name="AML Risk Analytics"
languages="Python, SQL, Tableau"
date="July 2025" show="true" %}}
* Built an end-to-end AML simulation using **Python**,
generating **9M+ records** across customers,
transactions, and alerts to mimic real-world
financial behavior and suspicious activity patterns.
* Wrote advanced **SQL (CTEs + joins)** to classify
**high-risk customers**, calculate alert counts, and
filter transactions over the past 90 days with
aggregated metrics.
* Engineered a **risk scoring model** in Python
using transaction thresholds and alert volume to
classify customers as Elevated or Critical risk.
* Designed **interactive Tableau dashboards** (Risk
Heatmap, Alert Efficiency, Risk vs. Avg Amount) to
visualize cross-country AML exposure and alert
effectiveness.
- **Developed KPI-ready metrics** (alert rate, avg USD
exposure, transaction volume) to drive AML
performance reporting and enable cross-country risk
comparisons.
- **Normalized multi-currency transaction data** to
ensure consistent exposure calculations across USD,
CAD, and EUR, supporting reliable AML metric
aggregation.
{{% /resume/project %}}
<!--- RBC AML }}} -->
<!--- Spotify Visualized {{{ -->
{{% resume/project name="Spotify Visualized"
url="https://github.com/Kevin-Mok/astronofty" languages="Python, Django" date="June 2023"
show="true" %}}
- **Built a high-performance Python backend** using
Django and PostgreSQL to process 10K+ data records
per user, optimizing ingestion pipelines via API
integration and ORM modeling.
- **Engineered normalized database schemas** to
streamline query workflows, achieving a **50%
reduction in PostgreSQL latency** for high-volume
reporting tasks.
- **Visualized user music libraries in Tableau**,
creating dashboards that grouped tracks by **artist
and genre**, enabling users to explore listening
patterns and discover trends in their Spotify data.
{{% /resume/project %}}
<!--- Spotify Visualized }}} -->
<!--- Rarity Surf {{{ -->
{{% resume/project name="Rarity Surf"
languages="Python, Django, JavaScript, React"
date="Oct 2022" show="true" %}}
- **Built a full-stack reporting tool** using React,
Django, and **PostgreSQL** to analyze
structured/unstructured metadata from APIs, enabling
real-time rarity scoring and improving insight
delivery by **80%**.
- **Optimized SQL query performance** within a
Django-based pipeline, processing NFT ranking data at
scale and exposing results via GraphQL with
**low-latency response times under high concurrency
(2,000+ queries)**.
{{% /resume/project %}}
<!--- Rarity Surf }}} -->
{{% /resume/section %}}<!--- }}} -->
{{% resume/section "Work Experience" %}}<!--- {{{ --> {{% resume/section "Work Experience" %}}<!--- {{{ -->
{{% resume/work-experience name="Red Hat" {{% resume/work-experience name="Red Hat"
title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2022 - Aug 2023" %}} title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2020 — Aug 2021" %}}
- **Decreased manual configuration errors by 80%** by - **Reduced deployment time by 66%** by implementing a
automating service discovery and dynamic config [solution](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) for deploying locally-compiled binaries onto
updates, aligning with AML goals of minimizing Kubernetes/OpenShift via command-line, **cutting average
operational risk and improving data integrity. deployment times from 45 minutes to 15 minutes**.
- **Enhanced CI pipeline reproducibility and (**Kubernetes/GoLang** used for this and three below).
performance** by rewriting the Jenkins nightly - **Eliminated 80% of manual configuration errors** by enabling
pipeline to support automated PR-level testing with the Kubernetes operator to automatically fetch data from
reusable parameters, improving report consistency deployed services and update configurations, **deprecating
across environments. legacy startup scripts and reducing overall startup time
- **Collaborated cross-functionally** with developers by 40%**.
and testers to maintain reliable infrastructure, - **Improved application stability** by introducing startup
echoing the AML role's emphasis on stakeholder probes for legacy applications with longer boot times,
partnership for building robust reporting systems. **resulting in a 50% reduction in startup-related failures
- **Improved system reliability** during production and downtime during production launches**.
launches by implementing startup probes for legacy - **Enhanced system reliability** by refactoring probes to
services, reducing downtime and enhancing stability [assign default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) dynamically based on deployed YAML
for automated monitoring/reporting pipelines. files and fixing reconciliation issues, **increasing probe accuracy by 30%** and preventing misconfigurations.
- **Reduced reporting deployment time by 66%** by - **Increased CI pipeline efficiency** by rewriting the
building a CLI-based solution to push compiled **Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub PR
binaries directly into Kubernetes/Openshift clusters, environment, allowing for automated testing of all
accelerating turnaround for testing and data team-submitted PRs prior to merging, **reducing manual
validation workflows. intervention by 60%**.
- **Demonstrated leadership and collaboration** by actively
contributing to Agile sprint planning in a 12-member team,
driving improvement in sprint velocity through
optimized task delegation and idea generation.
- **Increased project reproducibility** by taking initiative to
write a [reusable GitHub parameters file](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88#diff-7d2c018dafbccec859077d19bf1ade53ec9c7649f235528ce89f5632b109f7e6) for the pipeline,
**enabling 100% reusability** and ensuring consistent pipeline
setups across different environments.
- **Streamlined developer onboarding** by authoring
comprehensive [project documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) and mentoring an
incoming intern, **reducing onboarding time by 50%** and
enhancing new team members' productivity within their
first sprint.
{{% /resume/section %}}<!--- }}} -->
{{% resume/section projects %}}<!--- {{{ -->
<!--- AWS {{{ -->
{{% resume/project name="AWS Server"
url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terraform" date="May 2024" show="true" %}}
- **Deployed and maintained [multiple web applications](https://kevin-mok.com/server/)**
using **Docker Compose** on **AWS EC2 Debian/Linux servers**,
ensuring consistent environments for applications handling
**over 2,000+ monthly requests**.
- **Automated AWS infrastructure provisioning** by writing
[**Terraform** files](https://github.com/Kevin-Mok/terraform-deploys/tree/main) to deploy AWS EC2 instances and Docker
containers, **accelerating deployment times by 80%** and
providing an easily reproducible infrastructure setup.
- **Improved web application accessibility** by
configuring **AWS Route 53**s DNS and **NGINX** to route
subdomains to individual web apps, **enabling seamless
navigation between apps**.
- **Built a uptime monitoring system** by writing a
[JavaScript script](https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service) and setting up a systemd
service/timer to check and display page uptime,
**ensuring near real-time monitoring and reducing downtime
time by 95%**.
- **Optimized cloud security** by configuring AWS security
groups to allow inbound HTTPS traffic, **improving system
accessibility while maintaining secure data transmission**,
resulting in a **50% reduction in data interference
attempts**.
- **Enhanced data resilience** by automating regular backups
using Amazon EBS snapshots, ensuring **99.9% uptime and data
integrity** by creating consistent and reliable backups,
**reducing potential data loss by 95%** in disaster scenarios.
{{% /resume/project %}}
<!--- AWS }}} -->
{{% /resume/section %}}<!--- }}} --> {{% /resume/section %}}<!--- }}} -->
{{% resume/section skills %}}<!--- {{{ --> {{% resume/section skills %}}<!--- {{{ -->
**Python**, **SQL**, **PostgreSQL**, **Tableau**, **MongoDB**, **JavaScript**, Django, **React**, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Go(Lang), Bash, **Linux**, **JavaScript**, **React**, **Python**, **Django**, Node.js, PostgreSQL, MongoDB, Solidity, C, **Git**, **Command Line**
{{% /resume/section %}}<!--- }}} --> {{% /resume/section %}}<!--- }}} -->
{{% resume/section education %}}<!--- {{{ --> {{% resume/section education %}}<!--- {{{ -->
{{% resume/education name="University of Toronto (St. George)" {{% resume/education name="University of Toronto (St. George)"
title="Computer Science Specialist - 3.84 GPA (CS). Graduated with High Distinction." date="2019 - 2024" %}} title="Computer Science Specialist 3.84 GPA (CS). Graduated with High Distinction." date="2019 2024" %}}
{{% /resume/section %}}<!--- }}} -->
{{% resume/section "References" %}}<!--- {{{ -->
{{% resume/references %}}
{{% /resume/section %}}<!--- }}} --> {{% /resume/section %}}<!--- }}} -->

View File

@@ -52,6 +52,24 @@ date="Oct 2021" show="true" %}}
<!--- Rarity Surf }}} --> <!--- Rarity Surf }}} -->
<!--- Rarity Surf (short) {{{ -->
{{% resume/project name="Rarity Surf"
languages="Python, JavaScript, React, Django"
date="Oct 2021" show="true" %}}
- **Architected a robust Django (Python) [backend](https://github.com/Kevin-Mok/rarity-surf)** store NFT rarity rankings in
**PostgreSQL** and serve the data via GraphQL API, **ensuring low-latency access and scaling to handle 2,000+ concurrent requests**.
- **Developed a dynamic React [frontend](https://github.com/Kevin-Mok/rarity-surf-frontend)** using hooks to load
rarity data in real-time, styled with Tailwind for
mobile responsiveness, **improving user experience
and reducing frontend load times by 70%**.
{{% /resume/project %}}
<!--- Rarity Surf (short) }}} -->
<!--- Astronofty {{{ --> <!--- Astronofty {{{ -->
{{% resume/project name="Astronofty" {{% resume/project name="Astronofty"
@@ -72,30 +90,6 @@ show="true" %}}
{{% resume/project name="AWS Server" {{% resume/project name="AWS Server"
url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terraform" date="May 2024" show="true" %}} url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terraform" date="May 2024" show="true" %}}
- Deployed [various web apps](https://kevin-mok.com/server/) using **Docker** (Compose) on an
**AWS EC2** Debian/**Linux** server.
- Created **Kubernetes** [manifest files](https://github.com/Kevin-Mok/aws-minicube) to quickly recreate my server setup
with persistent storage/restarts and open ports.
- Created **Terraform** [files](https://github.com/Kevin-Mok/terraform-deploys/tree/main)
to deploy an AWS EC2 instance and Docker containers.
- Used Amazon Route 53's DNS and **NGINX** to route
subdomains to each web application.
- Wrote a **JavaScript** [server script] and [systemd service][systemd service]/[timer]
to display the uptime of my pages every hour.
[server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
{{% /resume/project %}}
<!--- AWS }}} -->
<!--- AWS 2 {{{ -->
{{% resume/project name="AWS Server"
url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terraform" date="May 2024" show="true" %}}
- **Deployed and maintained multiple web applications** - **Deployed and maintained multiple web applications**
using **Docker Compose** on **AWS EC2 Debian/Linux servers**, using **Docker Compose** on **AWS EC2 Debian/Linux servers**,
ensuring consistent environments for applications handling ensuring consistent environments for applications handling
@@ -109,38 +103,19 @@ url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terrafor
containers, **accelerating deployment times by 80%** and containers, **accelerating deployment times by 80%** and
providing an easily reproducible infrastructure setup for providing an easily reproducible infrastructure setup for
future projects. future projects.
- Improved web application accessibility and scalability by - **Improved web application accessibility** by
configuring Amazon Route 53s DNS and NGINX to route configuring **AWS Route 53**s DNS and **NGINX** to route
subdomains to individual web apps, enabling seamless subdomains to individual web apps, **enabling seamless
navigation between apps and reducing DNS resolution times navigation between apps**.
by 25%. - **Built a uptime monitoring system** by writing a
- Built a robust uptime monitoring system by writing a [JavaScript script](https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service) and setting up a systemd
JavaScript server script and setting up a systemd service/timer to check and display page uptime,
service/timer to check and display page uptime every hour, **ensuring near real-time monitoring and reducing downtime
ensuring near real-time monitoring and reducing downtime time by 95%**.
detection time by 85%.
{{% /resume/project %}} {{% /resume/project %}}
<!--- AWS 2 }}} --> <!--- AWS }}} -->
<!--- AWS 3 {{{ -->
{{% resume/project name="AWS Server"
url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terraform" date="May 2024" show="true" %}}
- **Deployed and maintained multiple web applications**
using **Docker Compose** on **AWS EC2 Debian/Linux servers**,
ensuring consistent environments for applications handling
**over 2,000+ monthly requests**.
- **Automated AWS infrastructure provisioning** by writing
**Terraform** files to deploy AWS EC2 instances and Docker
containers, **accelerating deployment times by 80%** and
providing an easily reproducible infrastructure setup.
{{% /resume/project %}}
<!--- AWS 3 }}} -->
<!--- Astronofty (extended) {{{ --> <!--- Astronofty (extended) {{{ -->

View File

@@ -20,4 +20,6 @@
2. Created Kubernetes manifest files to quickly recreate my server setup with persistent storage/restarts and open ports. 2. Created Kubernetes manifest files to quickly recreate my server setup with persistent storage/restarts and open ports.
3. Created Terraform files to deploy an AWS EC2 instance and Docker containers. 3. Created Terraform files to deploy an AWS EC2 instance and Docker containers.
4. Used Amazon Route 53s DNS and NGINX to route subdomains to each web application. 4. Used Amazon Route 53s DNS and NGINX to route subdomains to each web application.
5. Wrote a JavaScript server script and systemd service/timer to display the uptime of my pages every hour. 5. Used AWS security groups to allow inbound HTTPS traffic.
6. Used Amazon EBS snapshots to regularly back up server.
6. Wrote a JavaScript server script and systemd service/timer to display the uptime of my pages every hour.