Personal image

Hey! I'm James Zhang 👋

I am a uWaterloo student studying Computer Science with a strong interest for creating and developing interactive applications.

Lost online

This is my tech stack

HTML
CSS
JavaScript
Python
React
SQL
C
C++

Here are some projects I built

  • Palatter app image

    Palatter

    HTML, CSS, JavaScript

    I made this application with the intention of helping designers chose color combinations for their projects. The application allows the user to continuously generate colors until they find the perfect color combination.

  • Weather app image

    Weather App

    HTML, CSS, JavaScript, React, Weather API

    This app allows the user to search up any city in the world to get the cities temperature and conditions. It has dynamic backgrounds based on the temperature and a clean responsive design to maxmize user experience.

  • Discord bot project image

    Discord Bot: Malbot

    Python, Selenium, BeautifulSoup

    Malbot is a discord bot that webscrapes data from myanimelist.net to provide users with accurate information about their favourite shows and manga. It also has games where the user can guess character images and play music. Malbot is also equipped with the basic commands needed for quick moderation of the chat and users in your server.

  • Pypaint project image

    Pypaint

    Python, Pygame

    Pypaint is a paint application that lets users create pixel art on 10x10, 50x50 and 100x100 canvases. It has a wide range of tools and supports any color on the color wheel. Pypaint can also save your images and load your preexisting images.

  • Flashpy project image

    Flashpy

    Python, Pygame

    Flashpy is a flashcards app that helps users study virtually any subject where memorization is required. It lets users create cards quickly, saves cards automatically and tests the user based on the cards created. It helps with memorization through distributed practice.

  • Hangman project image

    Hangman

    Python, Pygame

    This is a hangman game where you try to guess the name of the champion in league of legends. It has 4 difficulties, easy, medium and hard. Where the allocated time gets shorter and the words get longer as you move up the difficulties. The last difficulty is a special one, the user gets to enter a letter they do not want to appear in the word. The game also saves all your games with information regarding the word, time and guesses.