Hi there 👋

My name is Sebastian Aldi, and welcome to my blog.
photo

October 2025 Life Update

This month’s update is going to focus on the tournament I participated on the 25th of October. ChuniMaiDori Festival 2025 ChuniMaiDori Festival 2025 was the second arcade rhythm game tournament that I joined. The first one was a maimai tournament held in a mall near my place to celebrate the release of maimai DX, and I joined just to get the black gloves from SEGA. This time, I joined for several reasons: ...

October 26, 2025 · 5 min
laptop

September 2025 Life Update

A lot has happened since the last update (August 11th, 2025), and I kind of want to write this update to get a few things off my chest. JLPT results out After a lot of trepidation, the JLPT results were announced on the 25th of August, 2025. I scored higher than expected, which makes me glad. I don’t plan on taking the N2 anytime soon though, because I kind of speedran my N3 studies from N4 (December 2024 I took N4, July 2025 I took N3). I want to have a good foundation, because I feel like my main problem is not having a wide vocabulary. ...

September 18, 2025 · 4 min
laptop

August 2025 Life Update

Just a small blog update to prove that I am still alive 😆 Stopping MaiSocial I have decided to take down MaiSocial, my personal project. There are several reasons for this, ordered from most influential to least influential: I’m starting to lose interest on the game. My skill is plateauing or even decaying, and I don’t see myself achieving my new year’s resolution target of 15750 rating. The maimai community in Indonesia is mostly dominated by a clan that likes to cause drama everywhere. It would not be a big deal if they’re just players causing problems, but they are quite influential. Arcade staff will definitely side with them instead of other players. Forcing myself to use MongoDB for a social media project that benefits from a relational database is slowly but surely making me go crazy. I could tear it down and make my project use a relational database, but that takes additional time of no visible product progress. I believe that programmers need their own passion project to work on, so that their skills don’t atrophy & not lose the joy of programming from endless hours of corporate programming. I plan on making a new personal project, but it is probably very far from completion. ...

August 11, 2025 · 3 min
thumbnail

MaiSocial - Part 4

Background This is another update of my current hobby project. You can read the previous parts here: MaiSocial - Part 1 (Backend & Frontend initialization) MaiSocial - Part 2 (Comment section, Google SSO) MaiSocial - Part 3 (WebP, romaji search) I had some spare time during a sprint, so I decided to work on my personal project a bit. The feature I wanted to make is a playlist feature, where users can create playlists & can share them publicly. In this post I will be talking about a few things: ...

June 23, 2025 · 5 min
thumbnail

MaiSocial - Part 3

Background This is a short update of my current hobby project, you can read the previous parts here: MaiSocial - Part 1 (Backend & Frontend initialization) MaiSocial - Part 2 (Comment section, Google SSO) Recently I have been busy & I actually got sick for a whole week, so this update was a bit overdue. This update is going to be a short one, discussing two things: Using WebP instead of PNG Translating kana to romaji WebP? According to Google (the developers of the WebP format), WebP is a modern image format that supports lossless and lossy compression for images. Based on their own research, WebP lossless is 26% smaller compared to PNG, and WebP lossy is 25-34% smaller compared to JPEG with similar quality. As of writing, WebP is supported by at least 95.92% of all users. ...

May 24, 2025 · 4 min
thumbnail

MaiSocial - Part 2

Background This is a continuation of MaiSocial - Part 1, feel free to read that section first. On this part, I wanted to add a few features: Google SSO using Supabase There is no particular reason why I avoided using Firebase, I just wanted to explore Supabase Simple comment section under each song I will not be doing replies or nested comments (at least for this part) Nickname By default, I will use their UUID provided by Supabase, because I don’t want to leak their email or name I won’t have any unique nickname checking (for this part at least) Authentication Supabase Configuring Google Auth to work with Supabase is pretty straightforward, personally for me Supabase’s docs has a pretty detailed explanation on how to set it up. ...

March 27, 2025 · 5 min

How I'm Learning Japanese From Zero

Disclaimer I am just someone who recently passed the N4 exam. Please take my opinion with a grain of salt. Resources Brute force memorize hiragana & katakana: https://kana-quiz.tofugu.com/ Finish Tae Kim’s complete guide: https://guidetojapanese.org/learn/complete/ Find any missing grammar / vocabulary / kanji for the level you want: https://jlptsensei.com/ Use these Anki decks to help: Japanese Core 2000 Step: https://ankiweb.net/shared/decks?search=japanese%20core%202000%20step I recommend skipping step 3 - 5 because it contains many N1-N2 words, so just do 1, 2, 6, 7, … Dictionary of Japanese Grammar: https://ankiweb.net/shared/info/1013111837 I recommend these Japanese channels: Yusuke (Japanese monologue/dialogue): https://www.youtube.com/@moshimoshi.yusuke Kaname Naito (In-depth nuance explanation): https://www.youtube.com/@kanamenaito Free mock JLPT exam: https://easyjapanese.net/jlpt-test?hl=en-US FAQ Should I use Duolingo? Sure, as long as you don’t use it as the sole resource for learning Japanese. ...

March 17, 2025 · 2 min
Sample reply

Hosting a Discord Bot in Vercel

Did you know that you could host a Discord bot in Vercel for free? I didn’t knew until I googled around. If you’re curious on how you could host your own bot in Vercel, follow along The theory I had made bots before, but they were like servers that are always on, so that the bot has an online status. But that was a long time ago. Discord supports webhooks for their slash commands, so when a user sends a command to your Discord bot, Discord will send a POST request. Vercel supports serverless functions, so it is perfect for this use case (despite them not recommending it). ...

March 2, 2025 · 5 min
thumbnail

MaiSocial - Part 1

Background Back when I made MaiFavorite/MaiChart (same project, just different name), I wanted to achieve two things: Bookmark favorite charts, using localStorage so that it works without having to store each user’s favorites Have an estimated rating calculator for each chart With the release of BUDDiES PLUS version, the first point is redundant because you can have up to 30 favorite songs, and it will actually show up on the arcade cabinet when you play. The rating calculator seems to be an only me thing, because other people would just use the “Recommended based on rating” category in the arcade cabinet as well. With that in mind, I wanted to remake the website, using a different stack in order to be a learning experience for myself. ...

February 11, 2025 · 6 min
keyboard

My 1 month experience of using a split keyboard

Background I had some spare keyboard switches and keycaps lying around, so I decided to buy a barebone keyboard. Not just any keyboard, but a split one. The split keyboard that I am using is the Lily58 Pro. Something you should know I only realized after receiving the barebones keyboard, that split keyboards require some special keycaps. For example, 1u - 1.75u spacebar, 1u - 1.75u enter, 1u backspakce, 1u tab, etc. Thankfully I found an online store that offers custom keycap printing service, so I just made the keycap design myself and asked them to make the keycaps for me. ...

February 10, 2025 · 2 min