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.

175 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**, Godot, **HTML5**, **Python**,
  15. 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. - Scan tracks from user's library using Spotify API and organize data into
  31. database.
  32. - Created and tested various __PostgreSQL__ schemas to increase efficiency for
  33. use cases.
  34. - Produce bubble chart and (stacked) bar chart in [**d3** graphs][d3 graph examples]
  35. to visualize the artists, genres and features of tracks in library.
  36. - Implement functionality to keep track of user's listening history. Set up
  37. `cron` job on my local machine to keep track of my own.
  38. - Uses __Django__ for backend.
  39. [d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
  40. {{% /resume/project %}}
  41. <!--- Spotify Graphs }}} -->
  42. <!--- Grocery Finder {{{ -->
  43. {{% resume/project name="Grocery Finder"
  44. url="https://github.com/Kevin-Mok/grocery-finder" date="Feb. 2019 — Apr. 2019"
  45. show="true" %}}
  46. - PoC for web app that finds the ideal supermarket based on your cart.
  47. - Designed responsive front-end layout using **Bootstrap**.
  48. - Implemented REST API functionality on backend using **Node.js** and
  49. **MongoDB**.
  50. - Setup deployment on [**Heroku**][Grocery Finder Heroku].
  51. - Led team of 4 as project leader to prioritize and delegate tasks while
  52. also implementing a majority of the core features.
  53. - Performed code review for team member's pull requests.
  54. [Grocery Finder Heroku]: http://www.grocery-finder.ml
  55. {{% /resume/project %}}
  56. <!--- Grocery Finder }}} -->
  57. <!--- ParsaFood {{{ -->
  58. {{% resume/project name="ParsaFood"
  59. url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018"
  60. show="true" %}}
  61. - **Android** app that reads ingredient labels and detects any dietary
  62. restrictions/allergies.
  63. - Designed user interface and linked various functionality together.
  64. - Made during a 24-hour [food-themed hackathon][Platterz Hackathon event]
  65. in a group with two other members. Came in 2<sup>nd</sup> place and won
  66. an [Oculus Rift][Oculus Rift Amazon].
  67. [Parsafood repo]: https://github.com/Kevin-Mok/ParsaFood
  68. [Platterz Hackathon event]:
  69. https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
  70. [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
  71. {{% /resume/project %}}
  72. <!--- ParsaFood }}} -->
  73. <!--- TrapBot {{{ -->
  74. {{% resume/project name="TrapBot"
  75. url="https://github.com/Kevin-Mok/TrapBot" date="March 2018" %}}
  76. - Use reddit API wrapper in **Python** to scan music subreddits for user
  77. comments containing common track listing formats.
  78. - Match detected track name and artists to track on SoundCloud using another
  79. Python API wrapper.
  80. - Respond to original poster's comment with formatted list of tracks found.
  81. - Received positive comment from users who replied to the bot's posts.
  82. {{% /resume/project %}}
  83. <!--- Grocery Finder }}} -->
  84. <!--- DigitalOcean {{{ -->
  85. {{% resume/project name="Personal Server"
  86. url="https://kevin-mok.com/server/" date="Aug. 2019—present" %}}
  87. - Deployed various web apps with backends such as Node, PHP and Python using
  88. **NGINX** on a **Debian** server.
  89. - Monitor system resources and perform system maintenance using tmux.
  90. - Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer]
  91. to check and display the uptime of my pages every hour.
  92. [server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
  93. [systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
  94. [timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
  95. {{% /resume/project %}}
  96. <!--- DigitalOcean Droplet }}} -->
  97. <!--- Super ADA Bros. {{{ -->
  98. {{% resume/project name="Super ADA Bros"
  99. url="https://github.com/Kevin-Mok/SuperADABros" date="May 2019" %}}
  100. - Designed clone of Super Mario Bros 1-1, but Mario is mobility-impaired and
  101. uses ramps to get through the level.
  102. - Uses **OpenCV** to track player's head movement which is then translated to
  103. in-game movement. [Video Demo]
  104. - Implemented in [**Godot**][Godot site], an open-source game engine.
  105. - Made during a 24-hour [accessibility-themed hackathon][PC Hacks event].
  106. [PC Hacks event]: https://pchacks19.devpost.com/
  107. [Godot site]: https://godotengine.org
  108. [Video Demo]: https://youtu.be/vRdENLGrBqM
  109. {{% /resume/project %}}
  110. <!--- Grocery Finder }}} -->
  111. {{% /resume/section %}}<!--- }}} -->
  112. {{% resume/section "Work Experience" %}}<!--- {{{ -->
  113. {{% resume/education name="Philpott Children's Tennis" 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" title="Computer Science Specialist" date="2017-2021" %}}
  121. {{% /resume/section %}}<!--- }}} -->
  122. <!-- vim: fdm=marker -->