About Me

I am Daniel Cheung, currently a Full-Stack Engineer at LGT.

Past Works

React pdfmake Reconciler (2023)

A small project I made over a week of a custom React renderer rendering to the pdfmake input descriptor using react-reconciler, for producing PDFs.

Author: Daniel Cheung

Technologies

Image
React pdfmake Reconciler logo
Image
Debugging PDF preview using React Developer Tools.

Links

Photosynthesis (2020-2022)

Fun project coded with a friend, where I provided 3D assets modeled and textured in Blender, and staged in Three.js using the ECS pattern and React.

Authors: Dipsy Wong, Daniel Cheung

Play here: Photosynthesis

Photosynthesis is a fun board game we discovered in 2020. However, playing it requires meticulous observation counting points for each trees with the sun at each of the 6 directions. This was just enough push for us to feel the challenge to automate the process, (though some might say counting and doing maths is part of the fun playing board games. We disagree). We went ahead and programmed a clone of the game with complete custom-made assets in Inkscape and Blender.

I took the opportunity to learn Entity-Component-System architecture pattern (ECS) during the project, and it turned out to be a great example where using ECS would make programming easier.

Technologies

Images

Image
Tree model in Blender.
Image
Faux shadow model in Blender.
Image
Experimenting with Three.js and glTF format.
Image
Game rounds counter in SVG and animated in React
Image
A seed model in Blender.
Image
Game board model in Blender.
Image
Rendering tree with faux shadow in Three.js.
Image
Game rounds counter mockup
Image
A round of Photosynthesis with friends.

Links

ZINC - HKUST Best Final Year Project (2020)

Automatic grading platform for programming assignments. The name is an acronym for "ZINC Is Not CASS", where CASS was the homework submission system of the Computer Science & Engineering department of the HKUST.

Authors: Bryan Chun, Daniel Cheung, David Mak, Dipsy Wong
Advisor: Dr. Desmond TSOI

The Docker-powered platform handles:

Awards & Achievements

The scope of the platform is comparable to the more popular Submitty, although our software has only been developed in under a year, one of our distinctive features is the containerization of assignment grading, and our pipeline grading philosophy. Our platform also specifically target the use cases for the people of HKUST as the initial effort to gain use base.

ZINC is still actively being used within HKUST, with maintenance and development efforts put forth to expand the feature set.

Technologies

Best FYP Video

This 3-minute video was submitted to compete in the Best FYP Video award.

Presentation

Final Presentation (40 mins) to Second Reader

Posters Submitted for HKUST President's Cup

Image
Image

Final Report

Links

HKUST Robotics Team - Robot Design Contest 2018 - Scoreboard (2018)

This system has been designed with broadcasting in mind, for the competition is produced in a show format by the school's media team.

UI

The visual elements must be eye-catching. Suitable amount of animation is added to the various UIs. Image
Scoreboard mock up.
Image
Scoreboard implementation in HTML and CSS.
Image
Brackets of the competition.

Technologies

Links

https://github.com/dipsywong98/ScoreBoard/. The repo contains live demo.

HKUST Robotics Team - Robot Design Contest 2018 - Marketplace (2018)

Every year, the HKUST Robotics Team holds the Robot Design Contest for its new recruits. To build robots for the competition, they need to purchase with provided credits more expensive parts. In previous years, paper forms were used for record, however, it was unreliable since multiple people may hand in form to purchase some last remaining products.

An internal site was thus created to ease this process.

UI

Image
Home screen listing all purchasable items.
Image
Item details.
Image
Team purchase log.
Image
Team balance.

Technology

In terms of security, it has been delegated to the school's provided CAS system.

HKUST Robotics Team - Robot Design Contest 2018 - Gamemaster (2018)

I was one of 3 people in charge of the Robot Design Contest 2018, from game rule making, to event organization.

The entire recruitment process consists of the following processes:

Rule Book

Photos

Image
Posters explaining the contest.
Image
Image of all contestants and helpers after the final competition. HKUST Robotics Team Facebook Image

Video

HKUST Robotics Team - 2017 Recruitment Poster (2017)

Image
Recruitment Poster (display size)

The finished product uses the Red in the Robotics Team logo as a start, with the palette consisting of colors around this hue. Small components occupy the top slanted trapezium, consisting of aspects from software, electronics and mechanical. Silhouettes of three robots from the three sub-teams are placed on the right, representing the Robotics Team as a whole.

HKUST Underwater Robot Competition NFC Credit System

Image

Technologies

Links

ROV Mission Helper (2017)

The ROV Mission Helper was developed for The IET/MATE Hong Kong Underwater Robot Challenge 2017. It is a score keeping system designed specifically for the 15-min competition trial run, to replace pen and paper for calculating final rankings in previous years. Additionally, a detailed copy of the scores summary is emailed to the playing team after their trial.

UI

The UI is designed responsively to be used best on a tablet for its spaciousness and works well even on a phone.

Image
Login screen.
Image
Welcome screen.
Image
Pre-trial vetting sheet.
Image
Marking sheet during the 15-min trial run.
Image
Scoresheet
Image
Attached HTML summary in email.

Technologies

Different score sheets are described in JSON format, (including the above vetting and trial sheets). They are then loaded by the server and a new MySQL table is created for each score sheet. And they are displayed in a list in the welcome screen.

MATE ROV 2017 All-Rounded Winner - HKUST Epoxsea Beluga (2017)

I was in the HKUST Robotics Team ROV subteam in 2017. For the design aspect, I designed the color and typography style guides for the technical documentation.

Design

The Beluga logo was rendered in Blender and color retouched afterwards.

Image
Beluga logo
Image
Gray Beluga logo
Image
Square Beluga logo
Image
Square gray Beluga logo

Color choices of the design surrounds the oceanic teal color. The typeface was custom crafted from geometric shapes. The overall pattern of the design is low-poly.

Procal - Programmable Android Calculator (2016)

This app was made for the HKUST Mobile App Design Contest in 2016 by a team of 4. The concept was to make a CASIO-FX50 program compatible calculator app. The team is as follows:

Presentation

Awards:

Image
Poster made for the contest.

Font

Image
A custom font was made using font forge for the project.

Technologies

Links

Newman Catholic College Website - Where I started (2014-2016)

This is the website of my secondary school. And where I started learning web. I developed the framework for my school website during my Form 3-6 (Grade 9-12) years. The website was like Apple's website in 1997: stuck to the top left hand corner of my LCD monitor, too many image buttons etc. It was typical of 90s to early 2000s style.

I have upgraded the once completely static web server, from requiring to edit source HTML to show updates, to a more dynamic WIMP stack. I had more plans with the site then, but it was the first time I had to learn to reconcile in design choices with my first ever "design client".

Image

Screen shot of the original website. This is the only one I have managed to find.

Image
First version. This is before I have discovered Bootstrap. The layout was the same as the original, and it had been a bit rough before I was permitted to alter the layout later.
Image
Current version (2013). This version uses Bootstrap 3 for a responsive design, jQuery and custom PHP + MySQL.

The website had several requirements:

The project did not include a complete revamp of the entire website, since the scale was too big for one person to handle. Instead, newly updated web pages would utilize the newly defined universal styles for display, and older web pages would be left as is.

Since the inclusion of database, data can be searched. New UI has been added to accommodate this.

Technologies

Link

http://www.newman.edu.hk