Compare commits

...

4 Commits

Author SHA1 Message Date
eggy
c73ee3f99f feat: change link 2023-12-04 16:39:17 -05:00
eggy
d41360b1aa feat: add android 2023-12-04 16:37:27 -05:00
eggy
611ea63edd feat: make flashnote better 2023-12-04 16:36:52 -05:00
eggy
dc8062dfc5 feat: clean it up 2023-12-04 16:34:23 -05:00

View File

@ -35,7 +35,7 @@
*Frameworks:* Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma, *Frameworks:* Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma,
Apollo, Axum, Jest, Pytest \ Apollo, Axum, Jest, Pytest \
*Tools:* Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, Heroku, *Tools:* Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, Heroku,
OpenTelemetry, GraphQL, Webpack OpenTelemetry, GraphQL, Android
] ]
= Experience = Experience
@ -84,18 +84,38 @@
#indent[ #indent[
#project( #project(
"Comic Downloader & Converter", "RecipeReady",
"https://github.com/potatoeggy/mandown", "https://devpost.com/software/recipeready-wk4bo9",
"Python, Qt", "Flutter, Selenium, FastAPI, Android",
) )
- Created a CLI and GUI to scrape, download, and convert webcomics into - Developed a *Flutter app* to generate recipes based on ingredients and filters
e-ink-optimised ebooks (EPUB, PDF) through a FastAPI server
- Designed an *intermediate representation* to store metadata and images as a - Scraped thousands of websites for recipes to build a database with a robust
standardised conversion target *many-to-many tag system*
- Implemented *image caching and multiprocessing* to increase download and update - Aggregated common ingredients heuristically to build a shopping list and a meal
speeds by *300%* plan for each week
- Minimised regressions between release cycles by writing *unit and integration
tests* with 55% code coverage #project(
"Genshin Simulator",
"https://github.com/potatoeggy/primoprod",
"Vue, TypeScript, Capacitor, Android",
)
- Built an realistic *cross-platform loot box simulator* with fluid animations
based off a popular game
- Reduced action latency by *90%* by lazily loading art assets at opportune times,
such as during cutscenes
#project(
"Flashcard Generator",
"https://github.com/potatoeggy/flashnote",
"Java, Android",
)
- Created an Android app to generate study *flashcards from handwritten notes*
using *Google Cloud*
- Interfaced with GCP's Vision and NLP APIs to extract text and keywords from
images with *Retrofit* and *Gson*
- Isolated key terms with GCP's NLP API to convert declarative sentences into
questions and answers
#project( #project(
"Kobo Sync Server", "Kobo Sync Server",
@ -107,27 +127,19 @@
- *Reverse-engineered* the Kobo eReader Sync API to support updating ebook - *Reverse-engineered* the Kobo eReader Sync API to support updating ebook
metadata and covers metadata and covers
#project( // #project(
"Genshin Simulator", // "Comic Downloader & Converter",
"https://github.com/potatoeggy/primoprod", // "https://github.com/potatoeggy/mandown",
"Vue, TypeScript", // "Python, Qt",
) // )
- Built an realistic and beautiful *loot box simulator* with fluid animations // - Created a CLI and GUI to scrape, download, and convert webcomics into
based off a popular game // e-ink-optimised ebooks (EPUB, PDF)
- Reduced action latency by *90%* by lazily loading art assets at opportune times, // - Designed an *intermediate representation* to store metadata and images as a
such as during cutscenes // standardised conversion target
// - Implemented *image caching and multiprocessing* to increase download and update
#project( // speeds by *300%*
"RecipeReady", // - Minimised regressions between release cycles by writing *unit and integration
"https://github.com/vincentjguo/recipeready-server", // tests* with 55% code coverage
"Flutter, Selenium, FastAPI, Android",
)
- Developed a *Flutter app* to generate recipes based on ingredients and filters
through a FastAPI server
- Scraped thousands of websites for recipes to build a database with a robust
*many-to-many tag system*
- Aggregated common ingredients heuristically to build a shopping list and a meal
plan for each week
// #project("Arch Linux Server", none, "Linux, nginx, systemd") // #project("Arch Linux Server", none, "Linux, nginx, systemd")
// - Created a *self-hosted CI/CD pipeline* with *Gitea* to automatically deploy // - Created a *self-hosted CI/CD pipeline* with *Gitea* to automatically deploy