Mobile-responsive personal website, generated using Hugo. https://kevin-mok.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
5.7 KiB

  1. ---
  2. title: "Resume"
  3. date: 2019-02-11T07:50:51-05:00
  4. draft: false
  5. ---
  6. {{% resume/section skills %}}<!--- {{{ -->
  7. #### Languages
  8. - **Bash**, **C**, **CSS**, C++, **Fish** (shell), Godot, **HTML5**,
  9. **Python**, Java, **Javascript** (ES6), **Sass**
  10. #### Frameworks
  11. - **Bootstrap**, **Django**, **Node.js**, **PostgreSQL**
  12. #### Services
  13. - **DigitalOcean**, **Linux**, Heroku, **REST/Web API's**
  14. #### Tools
  15. - **Arch Linux**, Android Studio, **Debian**, **Command Line**,
  16. **Git**, IntelliJ IDEA, **Pycharm**, **NGINX**, npm/yarn, **SFTP**,
  17. **SSH**, **Vim**
  18. {{% /resume/section %}}<!--- }}} -->
  19. {{% resume/section projects %}}<!--- {{{ -->
  20. <!--- Spotify Graphs {{{ -->
  21. {{% resume/project name="Spotify Graphs"
  22. url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2018 — July 2018"
  23. show="true" %}}
  24. - Implemented base functionality of scanning tracks and listening
  25. history from user's library using Spotify API and organized data
  26. into **PostgreSQL** database with **Django** backend.
  27. - Created and tested various relational database schemas to maximize
  28. efficiency for use cases.
  29. - Produced bubble chart and (stacked) bar chart using [**d3**]
  30. [d3 graph examples] to visualize the artists, genres and features of
  31. tracks in library.
  32. [d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
  33. {{% /resume/project %}}
  34. <!--- Spotify Graphs }}} -->
  35. <!--- Grocery Finder {{{ -->
  36. {{% resume/project name="Grocery Finder"
  37. url="https://github.com/Kevin-Mok/grocery-finder" date="Feb. 2019 — Apr. 2019"
  38. show="true" %}}
  39. - Proof of concept for web app that finds the ideal supermarket based on your cart.
  40. - Designed responsive front-end layout using **Bootstrap**.
  41. - Implemented REST API functionality on backend using **Node.js** and
  42. **MongoDB**.
  43. - Setup deployment on [**Heroku**][Grocery Finder Heroku].
  44. - Led team of 4 as project leader to prioritize and delegate tasks while
  45. also implementing a majority of the core features.
  46. - Performed code review for team members' pull requests.
  47. [Grocery Finder Heroku]: http://www.grocery-finder.ml
  48. {{% /resume/project %}}
  49. <!--- Grocery Finder }}} -->
  50. <!--- ParsaFood {{{ -->
  51. {{% resume/project name="ParsaFood"
  52. url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018"
  53. show="true" %}}
  54. - **Android** app that reads ingredient labels and detects any dietary
  55. restrictions/allergies.
  56. - Designed user interface and linked various functionality together.
  57. - Made during a 24-hour [food-themed hackathon][Platterz Hackathon event]
  58. in a group with two other members. Came in 2<sup>nd</sup> place and won
  59. an [Oculus Rift][Oculus Rift Amazon].
  60. [Parsafood repo]: https://github.com/Kevin-Mok/ParsaFood
  61. [Platterz Hackathon event]:
  62. https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
  63. [Oculus Rift Amazon]: https://www.amazon.ca/Oculus-Rift-Windows-VR-Headset/dp/B00VF0IXEY/ref=sr_1_1_sspa?ie=UTF8&qid=1520422949&sr=8-1-spons&keywords=oculus+rift&psc=1
  64. {{% /resume/project %}}
  65. <!--- ParsaFood }}} -->
  66. <!--- TrapBot {{{ -->
  67. {{% resume/project name="TrapBot"
  68. url="https://github.com/Kevin-Mok/TrapBot" date="March 2018" %}}
  69. - Use reddit API wrapper in **Python** to scan music subreddits for user
  70. comments containing common track listing formats.
  71. - Match detected track name and artists to track on SoundCloud using another
  72. Python API wrapper.
  73. - Respond to original poster's comment with formatted list of tracks found.
  74. - Received positive comment from users who replied to the bot's posts.
  75. {{% /resume/project %}}
  76. <!--- Grocery Finder }}} -->
  77. <!--- DigitalOcean {{{ -->
  78. {{% resume/project name="Personal Server"
  79. url="https://kevin-mok.com/server/" date="Aug. 2019 — present" %}}
  80. - Deployed various web apps with backends such as Node, PHP and Python using
  81. **NGINX** on a **Debian** server.
  82. - Monitor system resources and perform system maintenance using tmux.
  83. - Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer]
  84. to check and display the uptime of my pages every hour.
  85. [server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
  86. [systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
  87. [timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
  88. {{% /resume/project %}}
  89. <!--- DigitalOcean Droplet }}} -->
  90. <!--- Super ADA Bros. {{{ -->
  91. {{% resume/project name="Super ADA Bros"
  92. url="https://github.com/Kevin-Mok/SuperADABros" date="May 2019" %}}
  93. - Designed clone of Super Mario Bros 1-1, but Mario is mobility-impaired and
  94. uses ramps to get through the level.
  95. - Uses **OpenCV** to track player's head movement which is then translated to
  96. in-game movement. [Video Demo]
  97. - Implemented in [**Godot**][Godot site], an open-source game engine.
  98. - Made during a 24-hour [accessibility-themed hackathon][PC Hacks event].
  99. [PC Hacks event]: https://pchacks19.devpost.com/
  100. [Godot site]: https://godotengine.org
  101. [Video Demo]: https://youtu.be/vRdENLGrBqM
  102. {{% /resume/project %}}
  103. <!--- Grocery Finder }}} -->
  104. {{% /resume/section %}}<!--- }}} -->
  105. {{% resume/section "Work Experience" %}}<!--- {{{ -->
  106. {{% resume/education name="Philpott Children's Tennis"
  107. title="Head Instructor" date="2013 — 2015" %}}
  108. - Ran 8-week summer camp for inner-city youth with assistant coach.
  109. - Prepared daily lesson plans for 4 different age groups of children
  110. with varying skill levels and needs.
  111. - Supervised and ensured the safety and enjoyment of up to 20 children at once.
  112. {{% /resume/section %}}<!--- }}} -->
  113. {{% resume/section education %}}<!--- {{{ -->
  114. {{% resume/education name="University of Toronto"
  115. title="Computer Science Specialist" date="2017 — 2021" %}}
  116. {{% /resume/section %}}<!--- }}} -->
  117. <!-- vim: fdm=marker -->