Skip to content

Earlier Projects

A few small-scale projects I did earlier in my programming journey.

EVE Online Hacking Game pythonpygameearly

In EVE Online, there is a hacking game, sort of like a "glorified minesweeper". I made a replicate of the game with Python (the only language I knew back then) and pygame. Due to the triangular tessellation, the game requires a lot of graph algorithms, which made it quite challenging for me. The game also involves some object-oriented design.

EVE Online hacking game

Bear Map javabackendDSAschool-projectearly

Project 2 of CS 61B (2018 Spring). This was an interesting and fun backend project in which we implemented some basic functionalities of a map application, including

  • raster mapping (math & geometry)
  • XML parsing and graph building (graph representation)
  • route searching (dijkstra & A*)
  • plain English navigation
  • search autocomplete (trie)

I also understood how frontend and backend work together through this project.

Bear map

Sticky Notes cppqtdesktop-applicationearly

I was quite interested in desktop application development before, so I spent some time learning the Qt (C++) framework. This is one of two applications I made with Qt. Both Mac and Windows 11 have a nice sticky notes application, so I made my own Linux version, which worked well on Xfce. It supports rich-text editting, color customization, and it comes with a central panel (similar to Windows 11). It also supports "stay-on-top", which is not supported on Mac and Windows 11.

Sticky notes

LAN Messaging & File Sharing cppqtdesktop-applicationearly

This is the second application I made with Qt. It implements the client and server of a LAN IM (instant messaging) application. It also supports file sharing. The project involves some very basic network programming.

LAN messaging and file sharing

Responsive Personal Website html-css-jsearly

This was my first personal website, which I wrote completely from scratch with HTML, CSS, and JavaScript. I learnt many frontend techniques from writing this website, but I soon realized frontend isn't very interesting to me. Since its content is already outdated, I took it offline.