An immaculate grid game for CS:GO. Immaculate Grid is a game featuring a 3x3 board with a clue corresponding to each row and column. The user's goal is to select a player in each grid spot such that the clue for each row and column in that grid spot is satisfied without repeating any players. Data from the CS:GO players are scraped from HLTV using JavaScript and the puzzles are generated using a python script and are stored on a MongoDB database. The site is built with Express and EJS and is stored on Render.
Learning the Express Way is a website that teaches the basics of web development and is for beginners and intermediates. It was built as a tool to help students in TJHSST's Web Application Development class. The website was created in the Summer of 2022 and is built with Gatsby. The lessons are written in Markdown and are converted to HTML using Gatsby's MDX plugin, allowing other users and students to easily create and add their own lessons onto the site.
A predicting game inspired by FiveThirtyEight's NFL Forecasting game. On the site, users predict the outcome of professional CS:GO matches and earn/lose points based on how confident their predictions are. A more confident correct pick earns more points than a less confident correct pick, but a confident incorrect pick loses more points than a less confident one! Users can log in using their Steam account on the website through the Steam OpenID library. Users can also compare their picks with other users through the leaderboard feature. Custom leaderboards are also a upcoming planned feature. The site was built with Express and EJS with user data being stored in a MongoDB database.
Note: The site was originally hosted on Render, but is currently down to host my other project, CSGODOKU.
RateMyTJ was my Senior Research project for the Mobile and Web Application Senior Research Lab. Inspired by Faculty Course Evaluations found in many colleges, the site allows students to rate their teachers and classes on different statistics such as difficult, enjoyment, and workload. It is aimed at helping students make more informed decisions when choosing classes and also aims at fixing many of the issues found on the current TJHSST course catalog. The site was built with Express and Handlebars with data being stored in a mySQL database. The site is hosted on TJHSST director and supports login with Ion authentication through OAuth.
The DPC Simulator allows users to try different scenario and 'what if' situations in the Dota Pro Circuit. Users can simulate the DPC season by picking their winners and losers and view how each match affects the chances of each team from making the major or getting eliminated. The site was built with pure Javascript and uses the OpenDota API to get data on the teams and matches. The site is hosted on Netlify.
I helped host TJCTF 2022, a CTF (capture-the-flag) competition consisting of over 1100 players and 300 teams. I designed the TJCTF webpage and wrote a few challenges for the competition.
Note: The Github link links to the a repository to all of the problems from TJCTF 2022. My challenges are found at 'misc/cheapest-cookies-2', 'web/game-leaderboard', 'web/ascordle', and 'web/portalstrology'.
An AI that plays Othello (also known as Reversi) pretty well. The AI was built in Python and uses a minimax algorithm with alpha-beta pruning to search for the best move. The AI was an assignment for my artificial Intelligence class in 2021 and won the TJHSST Othello Tournament in 2021.
Note: For Honor Code Reasons, my Othello code is unfortunately not public. However, you can play against the AI in the link below and selecting on the '🌟 T-2021 2022alam' player.
fresh is a tool that is used to autonomously record and display locations of trash found outside, providing powerful and valuable analysis tools for researchers, volunteers, and environmentalists alike. The mobile app was built with Flutter, backend with Express and MongoDB for website & API, and the frontend was built with Gatsby. The project was built for HackTJ 8.0 and won Best Mobile App.
A web application that uses the Hypixel API to track prices of items in the Skyblock Bazaar. The site was built with Javascript and uses Chartjs to display prices over time.
App built using Javascript that allows users to alter and add race results to see how F1 standings would change. It features drag and drop capabilities to aid users in changing race results.
Inspired by Wikiraces, goosechase is a game built using Express and EJS that allows users to compete against their friends with the goal of trying to find a certain CMU page first, sort of like a wild goosechase. The game was built for HackCMU 2022 and unfortunately not all of the planned features were able to be implemented in the hackathon timeframe. The game uses SocketIO to allow for multiplayer functionality.
Python program that takes in the size of a crossword puzzle, the number of blocking squares, and a word list and outputs an American style crossword puzzle. Built for my Artificial Intelligence class to help students visualize their crossword puzzle outputs. To display the GUI, tkinter was used. To generate the crossword, the python program used constraint satisfaction to generate crossword puzzles efficiently.
Note: Unfortunately, the code is not publicly available. However, you can contact me if you want more information.
Taking in a sudoku puzzle input of any NxN (minimum 9, maximum 16) size, the program will output a solved sudoku puzzle based on the input(unless the puzzle is not possible, which will cause the program to output that the puzzle is not possible. The GUI was built with tkinter in Python and the solver used Python with constraint satisfaction and forward looking to efficiently solve sudoku puzzles. The program was built as a helpful addon for students for the Sudoku solving assingment in my Artificial Intelligence class.
Note: Unfortunately, the code is not publicly available. However, you can contact me if you want more information.
Tetris was a Java application that I buit in 2019. It is just a basic game of Tetris and allows users to customize their controls and add high scores.
andrew.lam
on Discord or andrewlamm04@gmail.com
through email.