Projects

Nuxt Content Template

Web Docs Template (2023)

A template project for creating aesthetically pleasing documentation or blogging site out of the box. It comes with dark mode, Markdown (in MDC) to HTML converter, supports LaTeX for writing profound mathematical equations and is mobile responsive.

This template is using Vue v3 with Composition API and Nuxt v3.

Technology

Vue.js
Nuxt.js
Tailwind CSS
TypeScript

Sway

Web Application (2024-now)

An educational e-Commerce web application built on .NET Core and C# as I deliberately shift as much logics to the database as possible. I take this opportunity to deep dive into SQL Server's feature such as stored procedures, views, triggers, user defined types and functions. It also helps to sharpen my axe to write efficient queries and learn about database modeling. This project is still under active development.

Technology

.NET
C#
xUnit
SQL Server
Tailwind CSS
Daisy UI
jQuery
Azure Pipeline

Linker

Web Application (2022-now)

Started off as a mere console application to store web URLs and attempt to categorize each of the links as there are insurmountable amount of useful web resources in the open internet. Not long after, it has been evolved into a working Web API project and soon a MVC project. WPF, GraphQL and Webjob projects were also added to compliment the existing implementations.

The architecture of the project gradually shifted to behave more like a social media as it also includes a workspace and chat feature. This is also an ongoing educational project in which I will take more time to explore and develop the features.

Technology

.NET
C#
xUnit
SQL Server
Tailwind CSS
jQuery
SignalR
Workflow
GraphQL

Personal Portfolio

Webpage (2021, 2023)

This project is to build my portfolio website, which is here, where I will be sharing information about me, such as projects and education, basically an elaborate version of the resume. The project is relatively simple but the crux is the designing part. Designing a good website with mobile responsiveness is really tough for me who does not have a multimedia background nor any designing experience.

Technology

Nuxt.js
Vue.js
Sass
TypeScript

Technical Blog

Webpage (2024)

⤿ Generated from Nuxt Content Template

The successor for my old technical blogging site. The baseline of the project was generated from Nuxt Content Template. This project introduced a flurry of new improvements which includes contemporary design, dark mode and internationalization. The articles are written in English and translated to Korean with the help of Google Translate as part of my effort to learn the language.

It features notes which are just some quick and discrete info which I find useful such as listicles that are not polished for the public consumption. The articles on the other hand are more structured and refined for people to follow through on topics that I find interesting.

Technology

Vue.js
Nuxt.js
Tailwind CSS
TypeScript

TT Wellness Website

Webpage (2023)

⤿ Generated from Nuxt Content Template

A static website that displays the business information for TT Wellness Healthcare Centre @ TT Clinic. This is my first freelance project and I am grateful for the opportunity. Feature includes internationalization for English and Chinese translation, mobile responsive and SEO.

One thing that I am very proud of is the Google lighthouse score for the website. The home page scored 98 for performance, 95 for accessibility, 100 for best practices and 100 for SEO when I last measured. However, I will still improve the website from these aspects when I see the opportunity.

Technology

Nuxt.js
Vue.js
Tailwind CSS
TypeScript
Sass

Personal Blog

Webpage (2021-2022)

I started building my blogging website to record down fun experience in my life as memories are fleeting. Furthermore, it was also aimed at broadening my horizon into various intriguing topics unrelated to technology while continuously improving and consolidating my writing skills in different languages. It takes a lot of effort (~7 days) to plan, outline, write, enhance, and proofread to ensure quality of a blog post. As a result, I post relatively slowly as I did not have the time solely dedicated for writing. However, I hope this can be improved as my language competency improves.

Technology

Next.js
React.js
Sass
Contentful
TypeScript
Tailwind CSS
Framer Motion
Firebase

The Hacker Times

Web Application (2021-2023)

This project started out as a simple project where I want to build an aesthetically pleasing UI around the Hackernews API as the interface of the actual website looks like from the 1990s. I referenced the slick black and white newspaper themed UI from The New York Times and it was outstanding. I have added the "favourite" and "read later" feature that is persisted via Firebase for the users.

Technology

Angular
Sass
Firebase
Jasmine
Circle CI

Book

Webpage (2021-2023)

Book is a project that I use to document technical topics that I have learned in the form of tutorials, notes and cheatsheets. As I am obsessed with learning new stuffs, I am mindful that there are just too much things to learn and it is impossible to keep everything in the memory all the time.

Hence, I wanted a place to store and manage the info that I've came across so that I can refer them back in the future when needed. This also helps me to have a better picture to the topic that I am trying to pick up as it forces me to dive deeper to disambiguate my superficial understanding. Also, by putting it online, I hope that this will benefit others too.

However, book is currently deprecated in favour of notes which is having the latest technology and contemporary design.

Technology

Vue.js
Nuxt.js
TypeScript
Tailwind CSS
Sass

Avax NFT Minter

Web Application (2022-2023)

⤿ Generated from React ESBuild Template

This is a simple project to mint images as NFT on the Avalanche blockchain. The idea sparkled from a challenge on StackUp platform but then I decided to make use of what I learned on minting NFT to this project. The smart contract was deployed to the Avalanche Fuji testnet and the images for NFT minted were stored in Pinata IPFS.

Technology

React.js
Framer Motion
TypeScript
Tailwind CSS
Jest
Solidity
Pinata

Positron+

Web Application (2022)

Positron+ is a web application that allows user to send Ethereum to another user along with a random GIF as well as a piece of message that will be persisted on the Ethereum blockchain via a smart contract. It started out as a code along project with a tutorial by Mastering JS on Youtube. However as I follow along, I decide to develop my way by redesigning the UI and using another smart contract framework.

Technology

React.js
TypeScript
Solidity
Truffle
Ganache
Storybook
Framer Motion

React ESBuild Template

Web Application Template (2023)

A template project to kickstart my React development. One day while I was working with a dApps with front-end bootstrapped with create-react-app. I felt that it was bloated and unwieldy, I faced some irritating issue while integrating the decentralized wallet.

I decided to create my own React app from scratch and slowly building around it. I've learned how React fundamentally works and it was invaluable experience for me.

This template has included a lot of tools and utilities that I find it useful for developing with React and hence it is heavy and opionionated.

Technology

React.js
TypeScript
esbuild
Tailwind CSS
Framer Motion
Zod
Jest
Workflow

Starker Regen

Web Application Template (2023)

An experimental React template written with F# and JavaScript. The F# code is transpiled to JavaScript by the Fable compiler and Feliz for React bindings. Esbuild is used to compile the generated JavaScript files into a JavaScript bundle. There are still a lot of bugs and missing features at the moment.

Technology

React.js
F#
esbuild
JavaScript
Tailwind CSS

Elm Vite Template

Web Application Template (2023)

A starter template for building robust web application with Elm. Contains all the necessary development scripts for starting out. It is blazingly fast and it supports HMR. To top it off, TailwindCSS is configured with VSCode intellisense for class autocompletion.

Technology

Elm
Vite
JavaScript
Tailwind CSS

React Rescript Template

Web Application Template (2021-2023)

A template project that started out as an experiment back in 2021 to play around with ReScript. The template was using create-react-app when first started out and it was awfully simple with just a hello world in the home page. No further development after the initial version and the repo was pretty much forsaken since then.

On December 2022, when I was reminded about ReScript on Youtube, I revisited the template and decided to ditch everything including create-react-app and reconstruct anew with better tooling such as esbuild, Tailwind CSS and the latest version of React.

Technology

React.js
Rescript
esbuild
Tailwind CSS
Sass

E-learning Platform

Full-stack Web Application (2021)

E-learning Platform for Distanced Collaborative Coding Assignments is a web application aimed to provide a universal platform for students and lecturers to interact with each other effortlessly for coding-based assignments. This is the final year project of my studies at my university.

The project proposal was made to outline and review all the requirements, technology, workflow, and design during the initial planning phase that took about three months and the actual implementation of the system took another three months to complete. Although the entire process of developing this system is arduous and tiresome, I am flattered that I was rewarded an A- grade for this.

The core feature of this application is the concurrent code editor that allows students to program together in a group in real time. It also provides a chat system for the students to discuss by interact with each other with text messages. Besides, this application has a very strict rule governing the relationships between different entities such as one student can join many courses, one course can have many assignments, etc. This is extremely important but the most cumbersome part to implement.

Technology

Vue.js
Vuetify
Sass
Firebase
Socket.io
TypeScript
Node.js

Ignite de Spark

Webpage (2019)

Ignite de Spark was the last event that committees of my society had put our heart and soul into before we retire and this website was made to promote the event by providing every single bits of details of the event and a call for action to a Google form for registration. This website was the first-ever project that I've done apart from assignments. Hence, the quality is substandard but I was proud of myself. Unfortunately, due to the unforeseen outbreak of pandemic in the world, the event was canceled and the website had never been to light.

Technology

HTML
CSS
JavaScript

Covid-19 Dashboard

Webpage (2021)

This project is about displaying the latest covid data and trends worldwide all within a single page. Development started on June 2021, after I had my final semester in the university. I came across the covid API by mathdroid and thought it would be great to start a project with it. The application has a section where users can choose a country to view its infection, recover and death case for that particular day with a interactive Pie chart.

It went great until early 2022 where data for recovered case was no longer provided. As of 2023, the entire covid API has been discontinued and is no longer available for use. As a result, the site is currently broken and devoid of data. I am plotting to take down the website in the near future.

Technology

Angular
Bulma
Sass
TypeScript
ECharts

Newtab Remastered

Webpage (2021)

As an aspiring developer that is always on the go to learn and build stuffs, I found myself struggling to navigate between the useful sites and resources quickly. To read the docs for TailwindCSS, I will need to open up a new tab, insert the URL manually or Google to navigate to the site. If I want to access Vue.js docs, I will need to repeat the same process. It gets tedious as time goes and sometimes I wonder wouldn't it be phenomenal to have a page that has everything I need inside? That way, I can navigate around with east and less ceremony.

This project started out with a intention to replace my browser's new tab page, or become the home page. However, I found myself not using it as much as I thought I would. There are more facets to be improved and implemented before I can consider it useful. Albeit underwhelming, it was a great attempt and I still treasures the things I've learnt during the development.

Technology

Vue.js
LESS
TypeScript