Elliot - Ezekiel Koh.

Hello, I am a Software Engineer.
I love making ideas come to life,
creating interactions that bring value,
or maybe just having fun :)
Also, I love exploring technologies!
Scroll Down

2day - Todo Webapp

Nov '21 - Jan '22
View Product

2day is a shortcuts centric todo web application that I made with a focus on sleek and convenient UX for day to day usage.

Features:

  • Shortcut driven creation/manipulation/movement of todos
  • Inline command-styled actions/commands
  • NLP for things like adding a due date to todos
  • Adding of Hashtags and filtering by them

PitchMe - Train Relative Pitch

Aug-Oct 2019
View Product

PitchMe is an application I developed to help myself and others grow their ability to relative pitch. This means that they will be able to tell what chord is being played in a song just from hearing.

It was a skill I've always desired to have as a musician but never found any opportunity to attain this skill effectively. As such, this app is a gamification of an audio test to help users learn at their own pace.

This app has had 2 iterations, of which the first was done in Swift and the second was done in React Native because of some who have asked for it to be available on android.

This application now has more than a million impressions in the AppStore, and at some point in time hit Top 100 Apps in the iOS AppStore music category

Procedural Terrain Generation

Jun-Aug 2021
View Product

Procedural Terrain Generation was a fun project that I did to explore the use of Perlin Noise (along with concepts like Octaves, Persistance, Lacunarity) to generate a world with the use of WebGL.

landscape

This has to be one of my favorite projects. Having started off in developing games, graphics was a field of computer science that has always intrigued me. However, in my early years of coding, shaders and graphic programs were always something out of reach. Despite revisiting it every other year, it always seemed out of reach with its weird variable names like fragments or vertex shaders etc.

TGN Social Media App

Aug 2020

The Good News app was a 1 month long project I embarked on post internship. Having interned at Salesforce for summer, there were some aspects of the platform I interacted with that intrigued me.

All this happened around the time covid hit and everyone was on lockdown. As such, I wanted to experiment building a social media app targeted at my very own Church community, in hope that it would allow individuals in the community to be an encouragement to each other.

landscape

This project taught me a whole lot about TDD, CLEAN architecture, and Permissioning.

119:11 - Bible Memory Verse

Aug-Sep 2021
View Product

This application is a bible verse memorising application that was inspired from the verse Psalms 119:11

"I have hidden your word in my heart that I might not sin against you."

I wanted to approach it form a minimalistic design perspective, while providing some sort of gamified approach to the task at hand: memorising text.

Setlist - Nashville Chord Sheet

May-Aug 2019
View Product

Setlist is a mobile application available on iOS and Android, targeted at musicians that require a place to collate their chord sheets for use on stage.

The idea has been something I have been hoping to work on, because I play guitar often and have been looking for an app to key chords in quickly. I also needed this app to be optimised for live usage instead of clunky screenshots from Ultimate Guitar. This app needed to have features such as the ability to transpose, and also display chords in the Nashville Numbering System.

Music Generation

Sep-Dec 2020

As part of an SUTD Computational Data Science Module, I was tasked to take on any Machine Learning problem I'd like. My group and I decided to go with a Jazz music generation project using Deep Neural Networks to see what we could make out of it.

This model was built to take in an initial user input, and it will generate music based on the prompt indefinitely.

You can find more information on our implementation in this medium article written by my group mate Viet Pham.

Development Stack

We used React for the front end, and sent chunks of midi to our Flask backend that would use our model to generate the next chunk. This new chunk will be the next point of reference for the following chunk.

We expreimented with the following:

  1. LSTM with Self Attention Mechanisms, receiving and generating piano roll midi that were time sliced by 16th notes
  2. A Two Model approach, in which we first separate the chords and melodies, and then train the model to generate the respective tokens
  3. Using GPT's Transformer architecture

The web app currently runs on the approach 3 as it produced the most pleasant sounding music without overfitting.

Infectio

Feb-May 2020

Infectio is a top down shooter where you play as the body's immune system, defending against viruses and bacteria.

landscape

Liberate

Sep-Dec 2020

Liberate was a group project as part of a Term 6 Module in SUTD called 50.043 Database and Big Data. It has been one of the most challenging projects thus far purely due to the scope scale of the project.

This fullstack application uses a Hadoop cluster to run analytics in the back at recurring time intervals, and feeds these analytics to the frontend.

The full application has been developed to spin up and tear down with fully automated processes.

Act of Vision

Oct 2020

Act of Vision is a mobile app that empowers users to approach the Enneads and historical greek texts without being intimidated. With Act of Vision readers get all the help they need to help break the text down and to be provided with all the context they need to understand what they are reading.

Features

  1. Text get be read interchangably between English and Greek
  2. Keywords are highlighted, and definitions are displayed when selected
  3. Background information on the text is given to give readers more context as to what they are reading about
  4. At any point in time, users can swipe up to read commentaries written by other scholars

To-day

Sep '20 - Jan '21
View Product

As much as to-do list apps are the "Hello World" equivalent for many developers, it is surprising to me that there has yet to be a staple for such a task (or at least I have yet to have found one that properly suits my needs).

Key features

To achieve the needs mentioned above, there are some key features I needed to implement

  • Natural language scheduling of tasks using demarcated by @due
  • Keyboard shortcuts to move selection, set completion, and move tasks around
  • Have a 7 day list and a "Someday" column
  • Mobile friendly
  • Login with Google to sync across devices

Spotify Playlist Builder

Mar 2020
View Product

Spotify Platlist Builder was a simple side project to get me started on Web Development as a whole.

This Web App takes in a list of song names, queries Spotify for those songs, and will generate a playlist of the versions that are selected by the user. landscape

3D Snake

Sep-Dec 2019
MojoFPGAAlchitry

Snake has always been a classic game. As part of SUTD's Computational Structures module, a group of us set out to replicate this game but in 3 dimensions. This was even more challenging as we were not allowed to use more commonly known programming languages, but instead had to use verilog, which is a hardware description language (HDL) that models electronic systems on a register-transfer level.

Challenges Faced

  1. Having to build the game from scratch, even down to the arithmetic logic unit (ALU) made it feel like we were developing a computer
  2. Having hardware involved made it increasingly difficult to debug, as we were not sure whether bugs were on the hardware or software side of things (and each build takes 15 minutes to load)
  3. It was time consuming to solder 125 LED lights
  4. The FPGA device did not have enough I/Os. As such we had to implement multiplexing (once again, without high level code) medium

Stasher

Oct-Dec 2018
View Product

Stasher is iOS application designed provide a fuss free interface to track your spending. The biggest pain point I've faced in keeping track of my spending is that it simply takes too long. With stasher, the time it takes to key in your spending is reduced significantly, down to seconds.

W - Money Managing

Oct - Dec 2016
View Product
Objective C

W - Money Managing was one of my very first apps. After completing my first app Scales Live, I felt like it was time to take on my next challenge. The development of this app gave me the opportunity to practice on my design skills (both visually and functionally)

landscape