Compare commits

...

12 Commits

Author SHA1 Message Date
85017c2ddc Normal dashes 2025-08-28 10:52:34 -04:00
a79019fc9f Revised resume points 2025-07-31 13:29:28 -04:00
69b3c99e6f Redo project points 2025-07-31 12:46:25 -04:00
6673b67cd8 Draft AML project/refined Red Hat points 2025-07-30 14:41:12 -04:00
00dd6b77e9 Gobcog/spotify-vis 2025-01-02 10:39:35 -05:00
2e5b5b52d8 Update 2024-12-20 12:30:37 -05:00
adcc975d23 Resume: web dev 2024-11-09 09:19:04 -05:00
e3065d8d6d latex-resume-web-dev-aws 2024-10-01 13:45:16 -04:00
f5fe070e54 Improve Rarity Surf 2024-09-30 13:39:38 -04:00
0534b97f73 Improved Red Hat 2024-09-30 12:46:57 -04:00
c56d8fb731 Javascript skill in projects 2024-09-24 13:19:52 -04:00
3f71be8c66 Merge latex-resume-python-selenium 2024-09-24 13:13:49 -04:00
8 changed files with 322 additions and 115 deletions

1
.gitignore vendored
View File

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

View File

@@ -608,7 +608,7 @@ header {// {{{
}// }}} }// }}}
.section-header { .section-header {
margin-top: 1em; margin-top: .7em;
margin-bottom: 0.4em; margin-bottom: 0.4em;
} }

View File

@@ -3,108 +3,128 @@ title: "Resume"
date: 2019-02-11T07:50:51-05:00 date: 2019-02-11T07:50:51-05:00
draft: false draft: false
--- ---
{{% resume/section "Work Experience" %}}<!--- {{{ -->
{{% resume/work-experience name="Red Hat"
title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2020 — Aug 2021" %}}
- Reduced deployment time by **66%** by [implementing ability](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) to
deploy locally-compiled binaries onto **Kubernetes**/**OpenShift**
using only command-line (**Kubernetes/GoLang** used for this and three below).
- Implemented ability for Kubernetes operator to fetch data
from a deployed service and update config with data to
deprecate reliance on startup script.
- Added startup probes to handle starting legacy application containers that require additional startup time.
- Refactored probes to [have default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) assigned based on
deployed YAML while also fixing reconciliation issues.
- Rewrote the **Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub
PR using a trigger keyword to test all the team's submitted PR's
before merging to the main branch.
- Took initiative to write [file](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88#diff-7d2c018dafbccec859077d19bf1ade53ec9c7649f235528ce89f5632b109f7e6)
to define the GitHub parameters for the above pipeline so that it
can be recreated easily.
- Took initiative to write [documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) on how to get started with the project to onboard new
developers and mentored the incoming intern.
{{% /resume/section %}}<!--- }}} -->
{{% resume/section projects %}}<!--- {{{ --> {{% 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 {{{ --> <!--- Rarity Surf {{{ -->
{{% resume/project name="Rarity Surf" {{% resume/project name="Rarity Surf"
languages="Python, Django, React, GraphQL" languages="Python, Django, JavaScript, React"
date="Oct 2021" show="true" %}} date="Oct 2022" show="true" %}}
- Web app to give rarity rankings to NFT's and check which are listed on the OpenSea marketplace using their API. - **Built a full-stack reporting tool** using React,
- Reverse engineered the ranking algorithm to match the Django, and **PostgreSQL** to analyze
leading rarity ranking site's rankings ([scraped](https://github.com/Kevin-Mok/rarity-surf/blob/django/rarity_check/project/scrape.py) using structured/unstructured metadata from APIs, enabling
Selenium) with a **discrepancy of <0.25%**. real-time rarity scoring and improving insight
- Used app to frontrun purchases of **top 0.5%** rarity NFT's delivery by **80%**.
against competing buyers. - **Optimized SQL query performance** within a
- Wrote **Django (Python)** [backend](https://github.com/Kevin-Mok/rarity-surf) to fetch metadata from IPFS, store rarity rankings in PostgreSQL and serve rarity data using GraphQL. Django-based pipeline, processing NFT ranking data at
- Wrote **React** [frontend](https://github.com/Kevin-Mok/rarity-surf-frontend) with hooks to dynamically load rarity data. Styled with Tailwind. scale and exposing results via GraphQL with
**low-latency response times under high concurrency
(2,000+ queries)**.
{{% /resume/project %}} {{% /resume/project %}}
<!--- Rarity Surf }}} --> <!--- Rarity Surf }}} -->
<!--- Astronofty {{{ --> {{% /resume/section %}}<!--- }}} -->
{{% resume/project name="Astronofty" {{% resume/section "Work Experience" %}}<!--- {{{ -->
url="https://github.com/Kevin-Mok/astronofty" languages="React, Solidity" date="Jan 2023"
show="true" %}}
- Created for a 36 hour hackathon (UofTHacks X) where it [**came 2nd overall**](https://devpost.com/software/astronofty). {{% resume/work-experience name="Red Hat"
- Created and deployed a smart contract with **Solidity** on title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2022 - Aug 2023" %}}
the Ethereum blockchain to create/buy/sell NFT's.
- Wrote **React** [components](https://github.com/Kevin-Mok/astronofty/tree/main/src/components) to synchronously upload images and metadata to IPFS and fetch and show NFT's.
{{% /resume/project %}} - **Decreased manual configuration errors by 80%** by
automating service discovery and dynamic config
<!--- Astronofty }}} --> updates, aligning with AML goals of minimizing
operational risk and improving data integrity.
<!--- AWS {{{ --> - **Enhanced CI pipeline reproducibility and
performance** by rewriting the Jenkins nightly
{{% resume/project name="AWS Server" pipeline to support automated PR-level testing with
url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Terraform, Docker" date="May 2024" show="true" %}} reusable parameters, improving report consistency
across environments.
- Deployed [various web apps](https://kevin-mok.com/server/) using **Docker** (Compose) on an - **Collaborated cross-functionally** with developers
**AWS EC2** Debian/**Linux** server. and testers to maintain reliable infrastructure,
- Created **Kubernetes** [manifest files](https://github.com/Kevin-Mok/aws-minicube) to quickly recreate my server setup echoing the AML role's emphasis on stakeholder
with persistent storage/restarts and open ports. partnership for building robust reporting systems.
- Created **Terraform** [files](https://github.com/Kevin-Mok/terraform-deploys/tree/main) - **Improved system reliability** during production
to deploy an AWS EC2 instance and Docker containers. launches by implementing startup probes for legacy
- Used Amazon Route 53's DNS and **NGINX** to route services, reducing downtime and enhancing stability
subdomains to each web application. for automated monitoring/reporting pipelines.
- Wrote a **JavaScript** [server script] and [systemd service][systemd service]/[timer] - **Reduced reporting deployment time by 66%** by
to display the uptime of my pages every hour. building a CLI-based solution to push compiled
binaries directly into Kubernetes/Openshift clusters,
[server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js accelerating turnaround for testing and data
[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service validation workflows.
[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
{{% /resume/project %}}
<!--- AWS }}} -->
{{% /resume/section %}}<!--- }}} --> {{% /resume/section %}}<!--- }}} -->
{{% resume/section skills %}}<!--- {{{ --> {{% resume/section skills %}}<!--- {{{ -->
**JavaScript**, **React**, **Python**, **Django**, Node.js, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C **Python**, **SQL**, **PostgreSQL**, **Tableau**, **MongoDB**, **JavaScript**, Django, **React**, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C
{{% /resume/section %}}<!--- }}} --> {{% /resume/section %}}<!--- }}} -->
{{% resume/section education %}}<!--- {{{ --> {{% resume/section education %}}<!--- {{{ -->
{{% resume/education name="University of Toronto" {{% 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

@@ -1,35 +1,179 @@
<!--- CSC369 {{{ --> <!--- {{{ Red Hat -->
{{% resume/project name="Custom Kernel Module" - Reduced deployment time by **66%** by [implementing ability](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) to
url="https://kevin-mok.com/server/" date="Jan. 2022" show="true" %}} deploy locally-compiled binaries onto **Kubernetes**/**OpenShift**
using only command-line (**Kubernetes/GoLang** used for this and three below).
- Implemented ability for Kubernetes operator to fetch data
from a deployed service and update config with data to
deprecate reliance on startup script.
- Added startup probes to handle starting legacy application containers that require additional startup time.
- Refactored probes to [have default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) assigned based on
deployed YAML while also fixing reconciliation issues.
- Rewrote the **Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub
PR using a trigger keyword to test all the team's submitted PR's
before merging to the main branch.
- Took on tasks and contributed ideas in **Agile sprint** planning meetings in a team of 12 people.
- Took initiative to write [file](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88#diff-7d2c018dafbccec859077d19bf1ade53ec9c7649f235528ce89f5632b109f7e6)
to define the GitHub parameters for the above pipeline so that it
can be recreated easily.
- Took initiative to write [documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) on how to get started with the project to onboard new
developers and mentored the incoming intern.
- Wrote and installed a [custom Linux kernel module](https://github.com/Kevin-Mok/interceptor-kernel/blob/master/a1/interceptor.c) in **C**. <!--- }}} Red Hat -->
- Intercepted pre-existing system calls using
custom kernel module by sending commands to <!--- Rarity Surf {{{ -->
userspace.
- Monitored specific process ID's in my system {{% resume/project name="Rarity Surf"
call to intercept their system calls. languages="Python, JavaScript, React, Django"
date="Oct 2021" show="true" %}}
- **Developed a full-stack web application** to generate rarity
rankings for NFT's integrated with OpenSea's API,
enabling users to **quickly identify rare NFT's** and check
their listing status, **improving market research efficiency by 80%**.
- **Reverse engineered a proprietary ranking algorithm** to
mirror the leading rarity ranking sites results,
**achieving 99.75% accuracy** by
utilizing data scraping techniques [with Selenium](https://github.com/Kevin-Mok/rarity-surf/blob/django/rarity_check/project/scrape.py),
increasing the platform's trustworthiness among users.
- **Optimized purchasing strategy** by leveraging the app to
frontrun competitors in purchasing top 0.5% rarity NFTs,
**boosting acquisition success rate by 90%** and allowing
users to gain a competitive edge in the marketplace.
- **Architected a robust Django (Python) [backend](https://github.com/Kevin-Mok/rarity-surf)** to fetch and process
NFT metadata from IPFS, store 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 %}} {{% /resume/project %}}
<!--- CSC369 }}} --> <!--- Rarity Surf }}} -->
<!--- Spotify Graphs {{{ --> <!--- Astronofty {{{ -->
{{% resume/project name="Spotify Graphs" {{% resume/project name="Astronofty"
url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2018 — July 2018" url="https://github.com/Kevin-Mok/astronofty" languages="JavaScript, React, Solidity" date="Jan 2023"
show="true" %}} show="true" %}}
- Implemented base functionality of scanning tracks and listening - Created for a 36 hour hackathon (UofTHacks X) where it [**came 2nd overall**](https://devpost.com/software/astronofty).
history from user's library using Spotify API and organized data - Created and deployed a smart contract with **Solidity** on
into **PostgreSQL** database with **Django** backend. the Ethereum blockchain to create/buy/sell NFT's.
- Wrote **React** [components](https://github.com/Kevin-Mok/astronofty/tree/main/src/components) to synchronously upload images and metadata to IPFS and fetch and show NFT's.
{{% /resume/project %}}
<!--- Astronofty }}} -->
<!--- AWS {{{ -->
{{% resume/project name="AWS Server"
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**
using **Docker Compose** on **AWS EC2 Debian/Linux servers**,
ensuring consistent environments for applications handling
**over 2,000+ monthly requests**.
- **Streamlined infrastructure management** by creating
Kubernetes manifest files to easily recreate server setups
with persistent storage, automatic restarts, and open
ports, **reducing the need for manual configuration**.
- **Automated AWS infrastructure provisioning** by writing
**Terraform** files to deploy **EC2** instances and Docker
containers, **accelerating deployment times by 80%** and
providing an easily reproducible infrastructure setup for
future projects.
- Improved web application accessibility and scalability by
configuring Amazon Route 53s DNS and NGINX to route
subdomains to individual web apps, enabling seamless
navigation between apps and reducing DNS resolution times
by 25%.
- Built a robust uptime monitoring system by writing a
JavaScript server script and setting up a systemd
service/timer to check and display page uptime every hour,
ensuring near real-time monitoring and reducing downtime
detection time by 85%.
{{% /resume/project %}}
<!--- AWS 2 }}} -->
<!--- 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) {{{ -->
{{% resume/project name="Astronofty"
url="https://github.com/Kevin-Mok/astronofty" languages="JavaScript, React, Solidity" date="Jan 2023"
show="true" %}}
- **Secured [2nd place](https://devpost.com/software/astronofty) overall out of 150+ teams** at UofTHacks
X, a 36-hour hackathon, for developing a blockchain-based
NFT marketplace app.
- **Built and optimized React (JavaScript) [components](https://github.com/Kevin-Mok/astronofty/tree/main/src/components)** to synchronously
upload images and metadata to IPFS, **enhancing user engagement by 40%** during the demo,
and ensuring real-time NFT data retrieval, achieving a **75% improvement in loading times**.
{{% /resume/project %}}
<!--- Astronofty }}} -->
<!--- {{{ Spotify Graphs -->
{{% resume/project name="Spotify Graphs"
url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2020 "
languages="Python, Django, PostgreSQL"
show="true" %}}
- Web app to visualize user's library and listening
history from Spotify.
- [Fetched and organized](https://github.com/Kevin-Mok/spotify-lib-vis/blob/master/api/utils.py) user data from Spotify API into PostgreSQL database with **Django (Python)** backend.
- Created and tested various relational database schemas to maximize - Created and tested various relational database schemas to maximize
efficiency for use cases. efficiency for use cases.
- Produced bubble chart and (stacked) bar chart using [**d3**] - Generated various charts to visualize the artists and genres
[d3 graph examples] to visualize the artists, genres and features of of tracks in library.
tracks in library.
[d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
{{% /resume/project %}} {{% /resume/project %}}
@@ -56,24 +200,21 @@ show="true" %}}
<!--- Grocery Finder }}} --> <!--- Grocery Finder }}} -->
<!--- DigitalOcean {{{ --> <!--- CSC369 {{{ -->
{{% resume/project name="Personal Server" {{% resume/project name="Custom Kernel Module"
url="https://kevin-mok.com/server/" date="Aug. 2019 — present" %}} url="https://kevin-mok.com/server/" date="Jan. 2022" show="true" %}}
- Deployed various web apps with backends such as Node, PHP and Python using - Wrote and installed a [custom Linux kernel module](https://github.com/Kevin-Mok/interceptor-kernel/blob/master/a1/interceptor.c) in **C**.
**NGINX** on a **Debian** server. - Intercepted pre-existing system calls using
- Monitor system resources and perform system maintenance using tmux. custom kernel module by sending commands to
- Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer] userspace.
to check and display the uptime of my pages every hour. - Monitored specific process ID's in my system
call to intercept their system calls.
[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 %}} {{% /resume/project %}}
<!--- DigitalOcean Droplet }}} --> <!--- CSC369 }}} -->
<!--- ParsaFood {{{ --> <!--- ParsaFood {{{ -->
@@ -96,3 +237,23 @@ https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
{{% /resume/project %}} {{% /resume/project %}}
<!--- ParsaFood }}} --> <!--- ParsaFood }}} -->
<!--- DigitalOcean {{{ -->
{{% resume/project name="Personal Server"
url="https://kevin-mok.com/server/" date="Aug. 2019 — present" %}}
- Deployed various web apps with backends such as Node, PHP and Python using
**NGINX** on a **Debian** server.
- Monitor system resources and perform system maintenance using tmux.
- Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer]
to check and 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 %}}
<!--- DigitalOcean Droplet }}} -->

View File

@@ -0,0 +1,23 @@
# Red Hat
1. Reduced deployment time by 66% by implementing ability to deploy locally-compiled binaries onto Kubernetes/OpenShift using only command-line (Kubernetes/GoLang used for this and three below).
2. Implemented ability for Kubernetes operator to fetch data from a deployed service and update config with data to deprecate reliance on startup script.
3. Added startup probes to handle starting legacy application containers that require additional startup time.
4. Refactored probes to have default values assigned based on deployed YAML while also fixing reconciliation issues.
5. Rewrote the Jenkins (Groovy) nightly pipeline to run in a GitHub PR using a trigger keyword to test all the teams submitted PRs before merging to the main branch.
6. Took on tasks and contributed ideas in Agile sprint planning meetings in a team of 12 people.
7. Took initiative to write file to define the GitHub parameters for the above pipeline so that it can be recreated easily.
8. Took initiative to write documentation on how to get started with the project to onboard new developers and mentored the incoming intern.
# Rarity Surf
1. Web app to give rarity rankings to NFTs and check which are listed on the OpenSea marketplace using their API.
2. Reverse engineered the ranking algorithm to match the leading rarity ranking sites rankings (scraped using Selenium) with a discrepancy of <0.25%.
3. Used app to frontrun purchases of top 0.5% rarity NFTs against competing buyers.
4. Wrote Django (Python) backend to fetch metadata from IPFS, store rarity rankings in PostgreSQL and serve rarity data using GraphQL.
5. Wrote React frontend with hooks to dynamically load rarity data. Styled with Tailwind.
# AWS
1. Deployed various web apps using Docker (Compose) on an AWS EC2 Debian/Linux server.
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.
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.

View File

@@ -3,3 +3,6 @@ AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Go(Lang), Bash, *
# Web Dev # Web Dev
**JavaScript**, **React**, **Python**, **Django**, Node.js, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C **JavaScript**, **React**, **Python**, **Django**, Node.js, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C
# Python
**Python**, **Django**, **Linux**, **Git**, AWS, Kubernetes, Docker (Compose), Ansible, Jenkins, Selenium, Terraform, Go(Lang), PostgreSQL, **Command Line**, Groovy, Bash, **JavaScript**, **React**, Node.js, MongoDB, Solidity, C

View File

@@ -6,7 +6,6 @@
<footer> <footer>
<div class="container"> <div class="container">
<!-- <span class="copyright">&copy; {{ .Site.LastChange.Year }} {{ .Site.Title }} - <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a></span> -->
<div id="footer-row" class="row justify-content-center"> <div id="footer-row" class="row justify-content-center">
<span id="footer-content" class="name"> <span id="footer-content" class="name">
<span id="copyright" class="col-xs-6"> <span id="copyright" class="col-xs-6">