2024
EventSphere
WEB1201 Web Fundamentals · Team of 4
A frontend-only website where users can book venues and contact event planners in Malaysia. Everything is simulated with client-side JavaScript, and the simulated authentication uses the browser Crypto API, so it needs a secure (HTTPS) context.
2024
Pokémon ASCII
PRG1203 Object Oriented Programming Fundamentals · Team of 5
A command-line, Pokémon-like game built for an assignment that asked for something like Pokémon Ga-Olé, with quick-time-event combat. I wanted to go further, so I added exploration in the style of the traditional Pokémon games, where you move around the map with WASD, instead of just printing ASCII art and text on screen.
2024
Pengyou
ImagineHack 2024 · 48-hour hackathon · Team of 5
A budgeting platform that helps people build good budgeting habits and keeps them motivated with a virtual pet reward system. We won Best Pitch and First Runner Up, the only team to take home two awards.
2024
Fairu CTF Challenge
SherpaCTF 2024 · My first CTF
A web challenge from SherpaCTF, written by vicevirus. I missed the real flag during the competition because of one small detail, then worked out the solution afterwards on a local copy. It turns an image upload into XSS using an Apache quirk with unusual file names, then makes the bot upload its own cookies, which hold the flag. The link goes to my write-up.
2023
AccessAbility
KitaHack 2024 · GDSC Solution Challenge 2024 · Team of 4
A job-search web app for disabled people that also gives employers a reason to join by improving their reputation. We were one of the top 10 representatives for Malaysia in the GDSC Solution Challenge 2024. We ran out of time, so the submitted prototype was missing many features.
2023
ENG1044 Portfolio
Research paper at Sunway University · Team of 3
A portfolio for a research paper on online gambling, with a roadmap of the research journey and the paper's drafts and revisions. I coded the site, and the colour palette was chosen to suit the gambling theme.
2023
Weather
My first SvelteKit project: a simple, beginner-friendly app built in a couple of hours while I waited for a flight, to learn Svelte. It fetches weather data from OpenWeatherMap and location data from the GeoDB Cities API. It is imperfect but usable, and a reminder that I can pick up new technology under time pressure.
2023Retired
Auth Hub
Built so I would stop setting up authentication from scratch in every new web app. One account worked across my spimy.dev projects, except Spuiz and the hackathon projects, and the dashboard let you revoke sessions on any device. It was my first time using Tailwind CSS. It is now outdated and unused, and I would rebuild it from scratch if I ever come back to it. The repo is private for security reasons, and the live site / demo has since stopped working due to issues with the service that provided my compute instance.
2023
Kita
npm package
A Discord.js wrapper created to replace Yor and be easier to maintain. It drops the decorators and the CLI tool, which I found were sources of complexity: install the package, copy a snippet from the README and start writing features. It enforces a strict but customisable file structure and loads commands and event handlers dynamically.