Engineering Blog
5. Terms and Conditions
SEP 17 2024
Thoughts
For fun just to submit to /r/badUIBattles. More shit posting to come
4. Pomodoro Timer
SEP 17 2024
Tech
Took a step back from cool stuff and built something just for myself. Been using Pomodoro timers for a while now and wanted to build my own. Built a simple Pomodoro timer with React and Tailwind. Used more of framer-motion
to animate tab switching between the main timers and the breaks.
Thoughts
Pretty simple. Don't have a ton of time right now but this was a small project I could do in a short amount of time.
3. Nobody Live: Valorant
SEP 13 2024
Tech
Building off of what I built yesterday, I used Twitch credentials to create a backend surrounding Twitch's APIs. Created
a cron to fetch a list of all live Valorant streamers under 100 viewers. This is constantly scraping every 5 minutes
to get the most up-to-date list. The cron was set up with Github Actions but for some reason it's really unpredictable and
doesn't run as scheduled. Also built a cache to handle view counts which updates every few minutes or so. Utilized react-twitch-embed-video
to embed the streams on the frontend. New tech: Twitch API, Github Actions, Vercel KV, cron jobs. Inspiration from
Nobody.live, but for Valorant.
Thoughts
Pretty straightforward project. I was surprised at how easy it was to get the Twitch API up and running. The hardest part was actually getting the cron job to run on time. I'm not sure if it's a Github Actions issue, but my code is correct but the actions still run at random times, but sometimes every 5 minutes. Also implemented site-wide theming. My eyes are melting from staring at my design-less app all day.
2. FPS Estimator
SEP 12 2024
Tech
I first had to do web scraping to get the data I needed, as this wasn't readily available for me. This included all game titles, CPU names, and GPU names, transforming and formatting as needed. I then built the rest of the frontend and created a couple API routes to handle the data. After that I integrated in ChatGPT and with a little prompt engineering, was able to get the model to predict FPS with relativey good accuracy! Also implemented a rudimentary persistent cache because I didn't want to pay out of my ass in OpenAI fees. New tech: llms and cheerio
Thoughts
Ugly app but it does the job. I was really worried about the game data. I sourced this from Twitch/IGDB and it was absolutely massive. Almost 300k titles condensed into a 8MB file. PC-only queries didn't give me Valorant, so I had to take the entire database. This coupled with the extra couple thousand rows for CPUs and GPUs made me think I was going to have massive optimizations issues (spoiler alert: I did). Spent way too long on optimizing everything. Everything from memoization and callbacks, to debouncing search queries (game titles) and even trying to implement tries for faster searches. I realized after too long that it wasn't any of that. It was actually the animated background component I was using. This is my 13th reason fr. How are you gonna ship something so unoptimized in a UI kit that it causes my mf M1'S FANS TO TURN ON. Anyways cool experience working with an LLM for the first time.
1. Index
SEP 10 2024
Tech
This is a pretty straightforward website used to document everything I'm going to be building. It's built with Next.js,
shadcn, Aceternity, Tailwind, and Typescript. New tech: gray-matter
, react-markdown
, and framer-motion
.
Thoughts
Decent start but really plain imo. I'll be adding more style as I go along. No real challenge here except navigating setting up everything to work properly.