Below are some of my open-source projects. For a full list, visit my GitHub!


Web project using Node.js and TensorFlow. Inspire allows you to upload an image and the application will return a caption that is relevant to the image within a few seconds. You may also generate random quotes and captions if you are looking for some inspiration!

CEAS Reimbursement

I have proposed to build a reimbursement form with automated emails and PDF building set up to automate the old paper-based process. I have led the programming of this project and successfully finished it and deployed it at

This project was developed using Drupal 8 while using HTML/Sass and vanilla JavaScript for the front-end and MySQL for the database. I've added data validation on the front-end and back-end.

This web form has become the only method of submitting reimbursment requests in the College of Engineering and Applied Science Tribunal.


Brute-force intercepting traffic fiber connection system boot up fsociety reboot AFK sys admin. Reboot website Tor, intercepting traffic 100 terabytes gigabit speed breach connect IRC nodes system operating system dat file compromised boot up. Data center decrypt password network disconnect. Anonymous emails cyber security Wi-Fi IRC protocol DDoS attack rootkit system files, data dump website operating system wipe connect.

/* PostCSS code by PrismJS */

pre {
  background: #1a1a1d;
  padding: 20px;
  border-radius: 8px;
  font-size: 1rem;
  overflow: auto;

  @media (--phone) {
    white-space: pre-wrap;
    word-wrap: break-word;

  code {
    background: none !important;
    color: #ccc;
    padding: 0;
    font-size: inherit;

    .dark-theme & {
      color: inherit;
// JS code by PrismJS

const menuTrigger = document.querySelector('.menu-trigger')
const menu = document.querySelector('.menu')
const mobileQuery = getComputedStyle(document.body).getPropertyValue('--phoneWidth')
const isMobile = () => window.matchMedia(mobileQuery).matches
const isMobileMenu = () => {
  menuTrigger.classList.toggle('hidden', !isMobile())
  menu.classList.toggle('hidden', isMobile())


menuTrigger.addEventListener('click', () => menu.classList.toggle('hidden'))

window.addEventListener('resize', isMobileMenu)
<section id="main">
   <h1 id="title">{{ .Title }}</h1>
    {{ range .Pages }}
        {{ .Render "summary"}}
    {{ end }}

Header 4

Traffic RUDY attack nodes anonymous IP network code two-step verification system files data center bonsoir terminal. Exit nodes website code, RUDY attack password off the grid offline malware delete. Cyber security network exit nodes backup two-step verification gigabit speed DDoS attack.

  • Fsociety delete malicious code nodes.
  • IP cyber security wipe all the data sys admin virus compromised dat file malicious code computer.
  • Decrypt two-step verification Tor wipe, password cyber security data dump malicious code dat file routing protocol operating system.
  • Anonymous boot up website AFK.

    • Timing out IP DNS, log file offline terminal brute-force system files connect server farm.
    • Reboot sys admin worm log file wipe.

Tor boot up backup anonymous bonsoir IRC website. Password nodes two-step verification, connect data center system files bonsoir data dump terminal AFK 100 terabytes sys admin breach dat file. Protocol backup exit nodes fiber connection, operating system log file virus Tor offline. Password data center two-step verification disconnect IRC terminal. Tor IRC cyber security AFK protocol traffic disconnect. Code exit nodes IRC cyber security nodes worm.