Compare commits

..

5 Commits

Author SHA1 Message Date
33c57c3201 Fix Astronofy date 2025-10-22 11:20:18 -04:00
a751dce299 Add Kanban calendar 2025-03-29 12:04:10 -04:00
028b2bb712 Add TypeScript/JavaScript languages to ME sniper descriptions 2025-03-10 13:05:15 -04:00
b4eaa5db7f ME sniper 2025-03-05 14:59:51 -05:00
4d5d25af15 Add ME sniper notes 2025-03-05 14:43:41 -05:00
7 changed files with 167 additions and 73 deletions

1
.gitignore vendored
View File

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

View File

@@ -104,7 +104,7 @@ body {
background-color: $background-color;
color: $color;
// line-height: 1.5;
line-height: 1.58;
line-height: 1.57;
// font-size: 100%;
// font-size: 15px;
font-size: 17px;
@@ -578,7 +578,7 @@ header {// {{{
// }
}// }}}
h2 {// {{{
color: $base-orange;
//color: $base-orange;
margin-top: .5rem;
font-size: 1em;
@@ -639,15 +639,25 @@ header {// {{{
}
.project-header {
// margin-bottom: .6em;
// margin-bottom: .1em;
display: flex;
align-items: baseline;
justify-content: space-between;
margin-bottom: 5px;
}
.project-date {
margin-left: 1em;
}
.project-title {
// color: $base-blue;
color: black;
display: inline;
margin-right: 0.5em;
}
.project-title span {
display: inline;
margin-left: 0.5em;
font-weight: normal;
}
.project-link {
@@ -709,8 +719,10 @@ header {// {{{
}
.languages {
// font-style: italic;
// font-size: .9em;
font-weight: normal;
font-style: normal;
margin-left: 0.5em;
color: $base03;
}
.institution {

View File

@@ -3,86 +3,68 @@ title: "Resume"
date: 2019-02-11T07:50:51-05:00
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 a
[solution](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) for deploying locally-compiled binaries onto
Kubernetes/OpenShift via command-line, **cutting average
deployment times from 45 minutes to 15 minutes**.
(**Kubernetes/GoLang** used for this and three below).
- **Eliminated 80% of manual configuration errors** by enabling
the Kubernetes operator to automatically fetch data from
deployed services and update configurations, **deprecating
legacy startup scripts and reducing overall startup time
by 40%**.
- **Improved application stability** by introducing startup
probes for legacy applications with longer boot times,
**resulting in a 50% reduction in startup-related failures
and downtime during production launches**.
- **Enhanced system reliability** by refactoring probes to
[assign default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) dynamically based on deployed YAML
files and fixing reconciliation issues, **increasing probe accuracy by 30%** and preventing misconfigurations.
- **Increased CI pipeline efficiency** by rewriting the
**Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub PR
environment, allowing for automated testing of all
team-submitted PRs prior to merging, **reducing manual
intervention by 60%**.
- **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.
{{% /resume/section %}}<!--- }}} -->
{{% resume/section projects %}}<!--- {{{ -->
{{% resume/section "Web Dev Projects" %}}<!--- {{{ -->
<!--- Rarity Surf {{{ -->
{{% resume/project name="Rarity Surf"
languages="Python, Django, JavaScript, React"
date="Oct 2021" show="true" %}}
languages="TypeScript, JavaScript, Node.js, React"
date="March 2025" show="true" %}}
- **Developed a full-stack web application** to generate rarity
rankings for NFT's integrated with leading NFT
marketplace's (OpenSea) API,
enabling users to **quickly identify rare NFT's** and check
their listing status, **improving market research efficiency by 80%**.
- **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%**.
- **Developed a full-stack web application
(TypeScript/JavaScript)** to generate
rarity rankings for NFT's, integrating with **leading
marketplace's API** to enable users to quickly identify
rare NFT's and check their listing status, **improving
market research efficiency by 80%**.
- **Built a scalable [Node.js backend](https://github.com/Rarity-Surf/ME-sniper-backend)** with REST API
endpoints to return NFTs based on customizable filters
such as max rank, price, and rarest traits. **Optimized
performance** to handle **3,000+ concurrent requests** by
implementing efficient data fetching and caching
mechanisms using **PostgreSQL** , ensuring low-latency
access to NFT data.
- **Built a dynamic [React frontend](https://github.com/Rarity-Surf/ME-sniper-frontend) (TypeScript/JavaScript)** to load and display NFTs in real-time with user-defined filters. Styled
using a mobile-responsive library, **reducing load times by 50%**.
- **Developed a [Discord bot](https://github.com/Rarity-Surf/ME-sniper-discord-bot) (TypeScript/JavaScript/Node.js)** to notify users of profitable
resale opportunities by leveraging historical sales data
to assess deal quality. This feature **increased user
engagement by 80%** and provided a seamless way for users
to stay updated on market opportunities.
{{% /resume/project %}}
<!--- Rarity Surf }}} -->
<!--- Spotify Visualized {{{ -->
<!--- {{{ Kanban -->
{{% resume/project name="Spotify Visualized"
url="https://github.com/Kevin-Mok/astronofty" languages="Python, Django" date="June 2019"
{{% resume/project name="Kanban Calendar"
url="https://github.com/Kevin-Mok/astronofty"
languages="TypeScript, JavaScript, React, Next.js" date="Mar 2024"
show="true" %}}
- **Built a [high-performance backend](https://github.com/Kevin-Mok/spotify-lib-vis)** in Python with Django,
utilizing Django ORM to model and manage user data
efficiently, processing over **10,000 tracks per library** via
the Spotify API.
- **Engineered and optimized database models** achieving a **50% reduction in query latency** on PostgreSQL
for core workflows through effective schema normalization.
- **Developed a [responsive calendar Kanban
board](https://kanban-calendar-lake.vercel.app/)
using Next.js, TypeScript, and Tailwind CSS**,
featuring draggable events, smooth card-to-detail
transitions week/day views optimized for both desktop
and mobile.
- **Engineered intuitive navigation and cross-device
interactivity**, implementing swipe gestures,
infinite horizontal scrolling (mobile), and arrow
controls (desktop) while resolving challenges like
drag-and-drop consistency and responsive layout
transitions.
{{% /resume/project %}}
<!--- Astronofty }}} -->
<!--- }}} Kanban -->
<!--- Astronofty {{{ -->
{{% resume/project name="Astronofty"
url="https://github.com/Kevin-Mok/astronofty" languages="JavaScript, React, Solidity" date="Jan 2023"
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
@@ -95,11 +77,38 @@ show="true" %}}
<!--- Astronofty }}} -->
{{% resume/section "Work Experience" %}}<!--- {{{ -->
{{% resume/work-experience name="Red Hat"
title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2022 — Aug 2023" %}}
- **Eliminated 80% of manual configuration errors** by enabling
the Kubernetes operator to automatically fetch data from
deployed services and update configurations, **deprecating
legacy startup scripts and reducing overall startup time
by 40%** (**Kubernetes/GoLang** used for this and three below).
- **Reduced deployment time by 66%** by implementing a
[solution](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) for deploying locally-compiled binaries onto
Kubernetes/OpenShift via command-line, **cutting average
deployment times from 45 minutes to 15 minutes**.
- **Improved application stability** by introducing startup
probes for legacy applications with longer boot times,
**resulting in a 50% reduction in startup-related failures
and downtime during production launches**.
- **Improved system reliability** by refactoring probes to dynamically assign default values based on YAML files, **increasing probe accuracy by 30%** and preventing misconfigurations.
- **Increased CI pipeline efficiency** by rewriting the
**Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub PR
environment, allowing for automated testing of all
team-submitted PRs prior to merging, **reducing manual
intervention by 60%**.
{{% /resume/section %}}<!--- }}} -->
{{% /resume/section %}}<!--- }}} -->
{{% resume/section skills %}}<!--- {{{ -->
**Python**, **Django**, **JavaScript**, **React**, Node.js, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C
**TypeScript**, **JavaScript**, **React**, **Node.js**, **Python**, **Django**, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, Solidity, C
{{% /resume/section %}}<!--- }}} -->

39
content/resume/notes.md Normal file
View File

@@ -0,0 +1,39 @@
# ME Sniper
write me a resume section similar to this (just a bit longer) for a web dev resume based on the points after with made up statistics
## Old
- **Developed a full-stack web application** to generate rarity
rankings for NFT's integrated with leading NFT
marketplace's (OpenSea) API,
enabling users to **quickly identify rare NFT's** and check
their listing status, **improving market research efficiency by 80%**.
- **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 (Javascript)
[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%**.
## New
- Developed a full-stack web application to generate rarity rankings for NFTs integrated with leading NFT marketplaces (Magic
Eden) API, enabling users to quickly identify rare NFTs and check their listing status, improving market research efficiency by 80%.
- fetch metadata from either IPFS or website in parallel processes to create rarity
rankings as soon as metadata revealed
- reverse engineered algorithm for rarity rankings for NFT's based on article from
marketplace about their in-house statistical rarity
ranking
- created Prisma schema for PostgreSQL for database to store NFT data
- Node.js backend with API endpoints to return NFT's based
on max rank/price along with rarest traits
- lowest prices for rarity percentile to see if good deal
- fetch all listings from leading marketplace (Magic Eden) to be
able to identify which rare NFT's are on sale and be able
to filter based on max price/filter
- store previous sales data to check whether a buy at rarity
percentile is a good deal
- React FE to dynamically load NFT's based on rarity
rank/price filter with ability to hide seen ones
- Discord bot to notify you when customizable profitable resale
opportunity comes up based on rarity level/price

View File

@@ -52,6 +52,41 @@ date="Oct 2021" show="true" %}}
<!--- Rarity Surf }}} -->
<!--- Rarity Surf {{{ -->
{{% resume/project name="Rarity Surf (2)"
languages="Typescript, Node.js, React"
date="" show="true" %}}
- **Developed a full-stack web application** to generate
rarity rankings for NFT's, integrating with **leading
marketplaces API** to enable users to quickly identify
rare NFT's and check their listing status, **improving
market research efficiency by 80%**.
- **Built a scalable Node.js backend** with REST API
endpoints to return NFTs based on customizable filters
such as max rank, price, and rarest traits. **Optimized
performance** to handle **3,000+ concurrent requests** by
implementing efficient data fetching and caching
mechanisms, ensuring low-latency access to NFT data.
- **Developed a dynamic React frontend** to load and display
NFT's in real-time based on user-defined filters to
streamline browsing. Styled the interface using **Tailwind
CSS** for a responsive and modern design, **reducing
frontend load times by 50%**.
- **Developed a Discord bot** to notify users of profitable
resale opportunities by leveraging historical sales data
to assess deal quality. This feature **increased user
engagement by 80%** and provided a seamless way for users
to stay updated on market opportunities.
- Designed and implemented a **PostgreSQL schema** for to
efficiently store NFT data, including metadata, rarity
scores, and historical sales data.
{{% /resume/project %}}
<!--- Rarity Surf }}} -->
<!--- Astronofty {{{ -->
{{% resume/project name="Astronofty"
@@ -142,7 +177,6 @@ url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Docker, Terrafor
<!--- AWS 3 }}} -->
<!--- Astronofty (extended) {{{ -->
{{% resume/project name="Astronofty"

View File

@@ -2,9 +2,8 @@
<div class="row project-header">
<div class="col-8 text-left">
<h2 class="project-title">
{{ .Get "name" }}
{{ .Get "name" }} <span class="languages">&lt;{{ .Get "languages" }}&gt;</span>
</h2>
<span><{{ .Get "languages" }}></span>
</div>
<div class="col-4 text-right date">{{ .Get "date" }}</div>
</div>