# Showcase
All the presentable projects I've made throughout the years
This page is navigable with vim keybindings btw
- J and K to scroll up and down
- H and L to navigate between slides
- Drag your mouse or finger over images to zoom
An open source satirical tech news site that cross-posts to [X / Twitter ↗] and [Bluesky ↗]
Inspired by [The Babylon Bee ↗] and [Uncyclopedia ↗]
Anyone can open a Pull Request containing a new article or changes to the site
Every time a Pull Request is merged, a github action will automatically wait for the site to deploy, then broadcast the article to the respective [X / Twitter ↗] and [Bluesky ↗] pages
A shooter game where you play as a Salvadoran soldier reclaiming El Salvador from the MS-13 gangs under the command of President Nayib Bukele
This was my entry for [JS13kGames ↗] 2024, in which the theme was "Triskidephobia" (fear of the number 13)
The catch with JS13K is that the bundle size of your game is limited to just 13kb
At first progress seemed great, but then the limitation really started catching up to me
On top of having a full-time job, I also had to work on my entry. I really burned myself out after working on this
Despite the effort, I really enjoyed developing this game
A tool where you can visualize, create, and share side-by-side LLM comparisons
[Amjad Masad ↗], the CEO and Founder of [Replit ↗] reached out to me and asked if I would be interested in building an idea of a side project he had
He wanted a good way to visualize and compare the stats of different LLMs
After selecting the initial LLMs on the main page, you will be taken to the comparison page where you can select different stats and customize the what the output looks like
You can then copy the shareable link or download an image of the visualization
I also built a contribution system where you could add and edit new and existing LLMs
The auth system randomly broke in mid-2024, and since then the project has been unmaintained and left in the dust
My neovim configuration, available on github
Complete with a little too many plugins and keybindings
Hyperdome, short for "HTMX Thunderdome" is a chatbot with the humor of the legendary [CEO of HTMX ↗]
This was my first time building something with [HTMX ↗] and [HyperScript ↗]
To start chatting, you would first select a character, each with a different personality
And then go wild
I collected a ton of information regarding the humor and lore of HTMX, used Supabase to store the vector data, and then had the models do a similarity search on the context before generating a response
Way back when Replit was in startup mode, they made a deal with Google, allowing users to consume and use some lower-compute AI models for free
As of late 2024, they've axed the freely-available AI models, and now Hyperdome is broken
I built this website for [Liberty Cappy ↗], one of the Libertarian memers that radicalized me
After subscribing to him on X/Twitter, I reached out to him and asked to build him a website in exchange for some visibility, to which he agreed
I had a lot of fun implementing the fancy scroll animations with Framer Motion, SVG, and HTML canvas
As of late 2023, the client seems to have lost the password to his account and hasn't had time to reset it
As a result I haven't been able to push out any updates. While it still stands, it's outdated
The website for my dad's Chiropractic home business
Built with Next.js, Emotion CSS, and Framer Motion
Although it looks similar, this website predates the invention of ShadCN UI
I also built it before I started using Tailwind CSS
A time-based dungeon crawler game made for the [Huggingface Open Source AI Game Jam ↗] in 48 hours
Kaboom.js v3000 had just been released and I was eager to try it out
This game was heavily inspired by [Enter the Chronosphere ↗]. Playtesting it and trying to get the timing engine to work properly was a huge challenge
I had a lot of fun implementing the feature where you can deflect bullets
I stayed up for about 30-32 hours out of 48 working on this game. One of the shortest jams I have ever participated in
I didn't have enough time to work on my own graphics so I used Twemoji for the player and enemies
A chatbot trained to act like [Amjad Masad ↗], CEO and Founder of [Replit ↗] built with Langchain and Next.js
I built this project in early 2023 when Langchain was just becoming a thing and developers were still struggling with conversation history
I scraped a massive amount of data related to Replit, Amjad's blog, his tweets, and more to train the chatbot
I initially built it with Python, since Langchain didn't have a typescript library, but quickly migrated to Typescript after langchain.js was released
In mid-2023, OpenAI removed text-davinci-003 from their API. I left it stagnant for a bit and then switched to use some free low-compute google-developed AI models being offered for free in Replit
As of late 2024, Replit has axed the freely-available AI models, bringing AmjadGPT to an unusable state
A top-down shooter game and one of the winners of Replit's Creator Fund hackathon in August 2022
The gameplay was inspired by [Starblast.io ↗] and the art style by [Ivan Dubovik ↗]
The graphics and features were easy to make and implement
Maintaining good performance was a challenge
People loved the game when it was released and wanted more levels to play but I didn't have the capacity to add more
I'm relly happy how this one turned out
A game where you travel to different realms and fight enemies and bosses using your dragon's firey breath, powered by chili peppers
Replit hosted a game jam in June 2022, in which I was one of the "mentors" (assistants) instead of a participant. This game is a collaboration between me and a few other mentors
The theme of the jam was the word "spicy", so we decided to make chili peppers a big part of the game
I did all of the art, most of the game development, and less of the brainstorming
Designing all the sprites and animations for each different realm was really fun as art is something I enjoy but am not very good at
A tower defense game based on some members of the old Replit community and the first-place winner of the [Made with Replit ↗] hackathon
A collaboration between [spotandjake ↗], [JDOG787 ↗], and I
I was the artist and one of the programmers for the one-week hackathon
Random map generation and game balancing was the largest challenge. We ended up giving up on that and just having a very difficult game
A non-profit organization where people can create listings for goods and services and barter with each other
My mom originally came up with the idea and I set out to build it
And of course I rolled my own auth
Creating a listing will place it on a map that people can browse
There are no active users and the project has been left stagnant and unmaintained
A website for a Korean artist who has created impressive oil paintings based of many places and people around the world
The design approach I took on this site is unique among the other websites I've worked on
The gallery dynamically fetches images from a mongodb database (A huge mistake on my end making a database for a simple site)
So does the blog page, which still has placeholder info
Paintings can be expanded and viewed individually from the gallery
A static Next.js website for a small family welding business
An intense tower defense game where you fight off legions of aliens
Built for a small coding competition hosted on Khan Academy with p5.js
This is the third part to a series of tower defense games I called the "Orbitron" series. The previous two have been lost since I didn't know how to use Git at the time
I liked the name "Orbitron" (originally the name of a google font) and decided to use it for my game. This game has no affiliation or relation to the font.
I had a lot of fun drawing the game art and playtesting it
I forget exactly how many waves are in the game. It's somewhere around 43
A simple platformer game where you use your parkour and fighting skills to guide the Centurion of Light through a dark world full of enemies
I remember having a lot of trouble implementing wall-jumping in the game, but ended up getting it to work
You can attack enemies by shooting them and proceed to the next level by entering the portal
I don't remember much about the time I developed this, but it is one of my personal favorite projects I have built to this day