Evan Zhang
    Blog About Me Projects Résumé Rating Predictor

My Projects


Click on a project for more details!

Rating Predictor

Rating Predictor

A rating predictor allows you to view your rating in a DMOJ contest immediately instead of having to wait until the contest is over. Based on your rating history, as well as your performance in the contest, it predicts your new rating. A browser extension is available to display these predictions directly on the scoreboard.

It also can predict ratings for user-uploaded contest JSONs.

Abeluna

Abeluna

A simple GUI to-do/task manager with CalDAV support, supporting servers such as Nextcloud Tasks and Radicale.

Testcase Generator

Testcase Generator

A small library to generate test cases for use in online programming competitions. The library is easy to use, while still being powerful enough for generating complicated test data. It also features custom generators, such as a GraphGenerator, which can generate various types of graphs, a StringGenerator, and an ArrayGenerator.

Easy installation via PIP:

pip install testcase-generator
Django Discord Integration

Django Discord Integration

Discord integration for Django, supporting error reporting via webhooks. The integration consists of two handlers, DiscordMessageHandler which includes a partial traceback along with the error, and SimpleDiscordMessageHandler which only displays the error.

Easy installation via PIP:

pip install django-discord-integration
Competitive Programming

Competitive Programming

A repository for solutions to problems on various online judges, including the DMOJ, AtCoder, and SPOJ.

The repository also includes solutions to problems from:
APIO, BOI, Bubble Cup, CCC/CCO, COCI, DWITE, ECOO, Facebook Hacker Cup, ICPC, IOI, JOI.

Ninjabot

Ninjabot

A personal multi-purpose Discord bot featuring a plethora of commands and features, including, but not limited to, swear tracker, awake time tracker, built-in minesweeper, quote tracker, and Minecraft server status checker.

Climb To Grace

Climb To Grace

A vertical platformer game built on top of a choose your own adventure for my ICS final project. This game was built in Java using JavaFX as its GUI library, and Apache Maven for project management.

DMOB

DMOB

A problem/contest judge system through Discord, inspired by the DMOJ. Features rated contests, and problems, as well as the ability to modify problems, contests, judges, users, and submissions, all through the Discord interface.

DMOJ Docker Files

DMOJ Docker Files

A Docker setup for the DMOJ: Modern Online Judge site. It contains Dockerfiles for all of the DMOJ's essential services, as well its nice-to-have services, such as texoid and mathoid. All services are managed with a docker-compose.yml, and images are rebuilt and pushed weekly to the Docker Hub.

Chess

Chess

A chess program (no AI) written in C++ from scratch. It allows two players to play against each other, and displays the board accordingly depending on which player's turn it is.

PCTeacher

PCTeacher

An online teaching assistant with automatic question generation and learning type adaptation built with Django and Bootstrap - PCHacks 2019 Third Place Winner.

Mastermind

Mastermind

An implementation of the classic code-breaking board game, Mastermind, in Java.

Xournal++ Huion Mapping Plugin

Xournal++ Huion Mapping Plugin

Xournal++ plugin for mapping Huion H610 Pro tablet buttons to Xournal++ actions.

Email Router

Email Router

A straightforward and efficient inbound email router. Uses a YAML configuration file to create powerful routes that filter emails and sends them off to handlers.

© 2018 – 2025 Evan Zhang
Available through Tor at evanzhanglvinaengh2az5hcntvolh2tu6rv2rt5pqo2lif7xiacuqid.onion.