Alain Lou


A single clock domain square wave synthesizer (basically a 13-way clock divider with a speaker output). Easy way to annoy your friends and family.

Image credit: Sponk


The classic arcade game implemented 100% in hardware. VGA output at industry standard 640x480 @ 60Hz!


ESP8266 program which NATs eduroam behind an unencrypted network. Based on the RangeExtender-NAPT from the Arduino ESP8266 community.

Image credit: Yangliy

Creddle Icons

A simple Chrome extension to automatically add Github, Devpost, and link icons to resumes!

Open Mind

A Firefox and Chrome extension which encourages users to become more politically open. Developed with Javascript using browser APIs.


Using a Altera Cyclone IV FPGA to compute the FFT on hardware! Using Verilog for hardware description and cocotb (python) for the testbench.


Implementations of the Discrete Fourier Transform - using the naive and Cooley-Tukey algorithms written in Rust. Validates FFT-H.

Image credit: Virens


My first foray into Unix systems programming! Using C to play around with sockets and send data packets. Built client and server implementations.


Get the latest news, chat with fellow commuters, and receive updates on transit status. Built on a unique online-offline network infrastructure.


A IoT sensor for foot traffic, interfacing with Slack and Airtable. Built with an ESP8266 microcontroller and a StdLib web service backend.


A modern geolocation-based online marketplace for the sharing economy. Built using Angular, Java and MongoDB. Hosted on Google Cloud Platform.


A Universal Chess Interface compatible chess engine, written in Python. Uses Minimax search with Alpha-Beta pruning and piece-square tables.

Image credit: Jez9999


A redesigned Arduino microcontroller board, from the open source spec. My first project with KiCad and soldering SMT components.

LM386 Amp

Op-amp circuit based on LM386 chip from Texas Instruments. Powerful enough to drive my electric guitar. Circuit design, layout, and soldering.


Python scripts for training a neural network to compose baroque-style keyboard music. Conversion between MIDI, .txt, and .csv. File retrieval with requests library.

Image credit:


Android app that uses restaurant inspection data from OpenData to recommend dining options for users. Java backend with IBM Cloudant database.

Image credit: City of Toronto

Made by Alain Lou