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.

176 lines
6.0 KiB

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