{% from 'components/header.html' import header %} {% from 'components/footer.html' import footer %} {% from 'components/portfolio_item.html' import portfolioItem %}
{{ header("Project Portfolio", "/") }}

A small collection of my favorite projects that I've worked on. For the source code (and some more projects), feel free to check out my GitHub.

{{ portfolioItem("Noita Live Map", "A live-updating map for the video game Noita that reveals and tracks terrain as the player discovers it. Built using Lua, Flask, and Jinja.", "https://github.com/noita-live-map-evan-nick") }} {{ portfolioItem("Infrastructure Network Modeling", "A publication I authored that proposes a new technique for modeling how different urban infrastructure networks interact with each other.", "https://doi.org/10.1145/3764926.3771946", "DOI ↗") }} {{ portfolioItem("Hangman Client", "A command-line client to play popular whiteboard game Hangman over a network, written in Rust.", "https://github.com/Jovan-04/hangman-client-rust") }} {{ portfolioItem("Hangman Server", "A server to host games for my Hangman client, also written in Rust.", "https://github.com/Jovan-04/hangman-server-rust") }} {{ portfolioItem("Binary Clock", "A physical clock that tells the time with LEDs displaying binary strings, all with an Arduino microcontroller.", "https://github.com/Jovan-04/binary-clock") }} {{ portfolioItem("Minecraft Utility Bot", "A modular bot able to automate various tasks of survival Minecraft, such as farming crops. Built with the Mineflayer Node.js library.", "https://github.com/Jovan-04/utility-bot") }} {{ portfolioItem("Audio-Converter", "A short bash script to convert batches of audio files between formats, replicating the directory structure.", "https://github.com/Jovan-04/ffmpeg-converter") }} {{ portfolioItem("Recipe Web Scraper", "An ElectronJS application that calculates a recipe's cost based on pricing data scraped from various retailers.", "https://github.com/Jovan-04/recipe-web-scraper") }}
{{ footer("December 2025") }}