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.

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