Hi, my name is Christopher Teo
Computer Science Undergraduate,
Durham University.

Know more

Profile

Profile Image

Computer science undergraduate student at Durham University with more than 5 years of developing experience. Previous work experience at MediaTek, Toshiba and AIXTRON. Skilled in C/C++, C# (.Net and Core), HLSL, Java, Javascript, Typescript, HTML, CSS, SCSS, Python and MatLab. Proficient with 3D and web development technologies such as Unity, Unreal, Node.js, React.js, Three.js, Parcel.js, TensorFlow and OpenSfM. Interested in Machine Learning, Neural Networks, Physics Engines and Game Design.

View CV / Resume

Experience

Internship at PolyAI

Fullstack development engineer:
- Wrote High level design document specifications.
- Coding in Python, React, NextJS and used SQL.
- Web design in Figma and project management in Jira.

XR Internship using Hololens & Oculus

Lead programmer in creating a Physics demo from the ground up showcasing how the Hololens and Oculus can be applied to Physics undergraduate teaching.
Features mechanics, electro-magnetics and optics simulation.

See Demo Source

Spherical Image Collection and 3D Reconstruction

Collected spherical/equirectangular images of Cambridge to create point clouds which when put in a mesh, formed a 3D model of the city.
Programmed tool to extract GPS coordinates and fisheye image from RAW files.
Reconstruction performed using OpenSfM library running on GPU rack with multiple nvidia cards.
For computer vision deep learning research.

Software for 5G Chip Testing

Programmed test software to automate the logging of mobile network traffic from 5G baseband modems (eg. signal strength, connection speed) for quick interpretation.
Software used for testing SoCs and 5G qualification in London.
Worked in the development team utilising Scrum methodology.
Also worked in bug fixing team performing code updates for field reported issues.
Developed in C# and JavaScript.

Control Interface for AIXTRON Systems

Created intuitive touchscreen GUI’s for AIXTRON batch and roll-to-roll chemical vapour deposition reactors for depositing graphene.
Using the interface, the user can use an automatic recipe or manually control flow rates of gases, valves, temperatures and the machine’s operating state.
Created online tool to analyse machine data/logs to create data trees based on events for easy navigation.
Developed in HTML5, JavaScript, Structured Text (TwinCAT 3).

Selected Projects

Pipe Planner
NWG Hackathon - Winner

First place winner (sponsored by Northumbrian Water Group) of the NWG Hackathon 2023 (3 day coding marathon).
My team, consisting of just 2, made a pipe planning program to plan the layout of a pipe network in a given location as well as having live feedback of areas where potential faults in the pipe structure could be found.
I implemented the pipe simulation and editor.

DevLog Source

Olympic Oracle
Durhack 2022 - Winner

Platinum prize winner (sponsored by Alteryx) of Durhack 2022 (24 hour coding marathon) where my team made a data analysis program to predict Olympic medal winners.
I implemented the neural network back-end using TensorFlow.
This performed machine learning on past data to predict the chances of an athlete possessing certain physical characteristics winning a gold, silver or bronze medal at the Olympics.

DevLog Source

User Interface Project
Prog Black(belt)

Inspired by Roslyn/Codepen, I created a web based technology, that I named "Muffin.js", for runtime evaluation of scripting for creating light weight javascript apps on an online, fully responsive, (cloud) desktop.
People can create packages or modules that can be imported into other apps.
Example modules that I wrote to demonstrate Muffin's capabilities include a 2D physics module, a simple machine learning module and the base muffins module.

Showcase

Computational Neural Network
Image classifier

Implemented from the ground up a neural network for classifying images.
Uses 3 alternating convolutional (comprising 5 filters each) and pooling layers, a flattening layer and 3 dense layers.
Wrote an API for C++ Eigen library so Unity/C# can use it for matrix calculations.
Runs on GPU using HLSL.
CNN distinguishes cars from trucks.

Source

Unity 2D/3D Projects
GameJam/Hobbies

Experience in creating 2D / 3D animation.
Participated in GameJam to create sprite-based game in 48 hours.
Parallax, HLSL, vertex shaders, transformations.

Smart WiFi Pill Dispenser
GCSE Design and Tech - A* awarded

Automatic pill dispenser to provide medication at right intervals and quantities.
Integrated a 16x2 LCD character display, motion detector, motorised platter with indexing, buzzer and WiFi interface for connected devices.
Designed and 3D printed the mechanical hardware which was driven by a Raspberry Pi Zero SBC with additional control electronics.
Developed in Python, HTML5, JavaScript.

DevLog Source

Computer Science Project
A level - A* awarded

Implemented a multiplayer server authorative game in Unity.
Features include client side prediction, high tolerance for latency and packet loss, server rollback.
Based on Valve's Source Multiplayer Networking design.

DevLog Video Source

Cambridge Blue Plaques
Website

Created the website showcasing the Blue Plaques around Cambridge.
Received appreciation award from Mayor of Cambridge.

See Live

Education

Durham University

BSc Computer Science (in progress).
First Year: Programming, Computational Thinking, Algorithms and Data Structures, Computer Systems, Mathematics for Computer Science, Computational Tools for Engineers and Scientists.

The Perse Upper School

A Level: Further Maths (D1), Maths (D1), Physics (D1), Computer Science (A*), Extended Project Qualification (A*).

EPQ - Paper EPQ - Talk

GCSE: Further Maths (A^), Maths (9/A*), Computer Science (9/A*), Physics (9/A*), Design & Tech (9/A*), Chemistry (9/A*), Biology (8/A*-A), Art & Design (8/A*-A), English Language (8/A*-A), Literature (5/strong pass).

Years 9 - 13.

St Faith's School

Years 4 - 8.

Sports and Other

Rowing.
Hackathons.
Project Euler.
Go and Chess.