James Nickoli

Full Stack Developer

"Striving for deep understanding"

Work Experience

{jobTitle}

Full Stack Developer

Big Viking Games

May 2022 - Aug 2022
php
react
java
sql
typescript
docker
firebase
redis
jira
confluence
slack
  • Increased game management efficiency by translating internal tools from PHP to React.
  • Upgraded in-game social systems built using Java, SQL, and Typescript, enhancing play experience for thousands of live users.
  • Strengthened player connections by discovering sources of long standing bugs via the debugging features of Docker containers.
  • Collaborated in an Agile team using Jira, Confluence, and Slack to maintain live service games running on Firebase and Redis.

Programming Experience

{jobTitle}

Team Member

McMaster Competitive Programming Team

Oct 2021 - Aug 2023
cpp
python
  • Represented McMaster in the International Collegiate Programming Contest as a member of the junior team in 2021-2022, and placed 3rd out of 26 contestants in the 2022-2023 tryouts, qualifying as a member of the leading team.

Projects

TCG Collection Management App

  • Collectibles tracking and trading cross-platform app built with Next.js, Capacitor, Vercel, and Supabase.
  • Visual card identification using YOLO, OpenCV, and Image Hashing.
  • Automatic trade recommendations based on users' collections and wishlists.
vercel
prisma
supabase
capacitor
next
chakra-ui
typescript
python
YOLO
onnx
openCV

Missile Command 3D

  • Participated in Ubisoft's NEXT competition, using the provided API to create a 3D game engine in C++, implementing memory pools and an Entity Component System.
  • Benchmarked different custom implementations of vector/matrix math, using Python to visualize results.
  • Recreated the arcade game Missile Command with 3D graphics, and physics-based missiles
cpp
python

Esoteric JS Transpiler

No LLM use

  • As a programming exercise, created a transpiler that uses only the characters =_$(){}><~!%^&|*-+[];:?.,/ to encode any Javascript code
javascript
html
css

Multiplayer Mastermind

No LLM use

  • Built a custom Java package for making GUI programs ( github.com/rsninja722/gamej ) using AWT and Swing, handling multi-threading, rendering that leverages the GPU, asset loading, camera systems, and mouse and keyboard input, also providing documentation and project templates.
  • Defined a communication protocol and wrote a server using Netty that can connect users with different clients.
  • Created a game client and a bot server to also allow individual play.

Webassembly Platformer

No LLM use

  • Created a platformer game with C++ using the Raylib game library for the Ludem Dare 51 game jam in 72 hours
  • Compiled the game to run on the web with WebAssembly using the Emscripten toolchain
cpp
web-assembly

Personal Site

No LLM use

  • collection of games and programs created for fun
javascript
html
css
web-assembly

Technologies

Languages

javascript
typescript
python
java
php
c
cpp
csharp
haskell
sql
rust

Frameworks / Technologies

html
css
astro
tailwind
react
nodejs
raylib
mariadb
mongodb
web-assembly
docker
firebase
supabase
prisma
vercel
YOLO
onnx
openCV
PyTorch

Tools

git
linux
jira
confluence
slack