External Publication
Visit Post

2025 in review

cheeaun.com.web.brid.gy May 25, 2026
Source

Back to my ritual of writing annual reviews.

January

  • ๐Ÿ™ Made a web dev wishlist. Only one is checked in the end.

  • ๐Ÿค– Made a bot with BotKit.

  • ๐Ÿ˜ฉ Ranted about UX.

February

  • ๐ŸŽง Hoping that AirPods Pro will have self-cleaning feature.
  • ๐ŸŒ Experimented using Language detection and translator APIs.

March

  • ๐Ÿค” Wondering about "mockup as a service".

April

  • ๐Ÿ“Š Built a browser extension that visualizes (Service Worker) Cache Storage for web sites.

May

  • ๐Ÿ”‹ Battery replacement for my iPhone 13 mini. Free, surprisingly.
  • ๐Ÿ“” Built my own version of Storybook.
  • ๐Ÿค– Having thoughts about AI and browsers.

June

  • ๐Ÿ™ˆ My name got mentioned in a video.
  • ๐Ÿ–ฅ๏ธ Ranted about mockups starting with large viewports.
  • ๐Ÿ‘ด Got older. The Big 4-O.

July

  • โŒจ๏ธ Bought a new portable keyboard (again).
  • ๐Ÿฅƒ Experimented with a "Liquid Glass"-effect wallpaper.

August

  • ๐Ÿ—บ๏ธ Getting excited about Apple Maps DCE (Detailed City Experience) in Singapore.
  • ๐ŸšŒ My BusRouter SG web app got featured on CNA Insider's video.

September

  • ๐ŸŽง Bought AirPods Pro 3.
  • ๐Ÿ˜‘ Ranted about cursors and smooth rounded edges of macOS Tahoe.

October

  • ๐Ÿ”• Getting spam GitHub notifications.
  • ๐Ÿ’ˆ Made a cool CSS demo with marquee.
  • ๐Ÿ Submitted my entry to Bad UX World Cup and didn't win.
  • ๐Ÿ˜ญ Ranted about proprietary formats in the design industry.

November

  • ๐Ÿ” Found a weird server limit on Discord.
  • ๐Ÿ‘€ Saw the Cloudflare internal server error page.

December

  • ๐Ÿฆ‹ Got "The Butterfly" archetype on Mastodon #Wrapstodon.

Honestly looking at this list, I think some folks might think that this is AI-generated ๐Ÿ˜… โ€“ I always use emojis for this list in most, if not all, my previous year-in-review posts.

Phanpy

It's been another year of developing Phanpy, my 3rd-party web client for Mastodon, so total up to 3 years now. It's still an enjoyable journey so far, as I continue implementing new ideas while keeping feature parity with official Mastodon.

Few of the interesting implementations:

  • Math (LaTeX) rendering โ€“ converts LaTeX markup to MathML.
  • "X months/years later" indicator โ€“ an idea borrowed from Discourse.
  • Edit History Snapshots โ€“ visualise edit history of a post.
  • Reply/Reply All โ€“ email-like reply buttons for posts.
  • Decal patterns โ€“ accessible patterns for charts.
  • QR code generator and scanner โ€“ for profiles and settings backup.
  • Image metadata reader โ€“ to be used for alt text.
  • Year in Posts โ€“ experimental visualisation of posts in a year.

Phanpy also got mentioned so many times that it's getting hard to keep track.

Thus, listing them down here:

Feb 4 โ€” "Potencia tu experiencia en Mastodon con Phanpy #Apps" (podcast) โ€“ translated to English as "Boost your Mastodon experience with Phanpy"

Mar 5 โ€” "Leaving the City of Big Social, with Fediverse Enthusiast Chris Trottier" (podcast) โ€“ transcribed from Mike McCue:

I mean, I'm incredibly excited to see, you know, there's a fantastic front end called FanP. That's a fantastic user experience.

Apr 8 โ€” "Trunk & Tidbits, March 2025" (article):

There was a big update to Phanpy, a progressive web app client for Mastodon.

Apr 24 โ€” "ใ€(๏พŸโˆ€๏พŸ)!!ใ€‘ใƒžใ‚นใƒˆใƒ‰ใƒณ็•Œใฎ้ป’่ˆน๏ผŸ๏ผๅ™‚ใฎใƒŸใƒ‹ใƒžใƒซWebใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ€Œใƒ•ใ‚กใƒณใƒ”ใƒผ(Phanpy,social)ใ€ใ‚’ไธธ่ฃธใซใ—ใกใ‚ƒใ†ใž๏ผโ˜†ๅฝกใ€€#ๅ››24" (article) โ€“ honestly the most hilarious "review" I've ever read ๐Ÿคฃ

Jun 26 โ€” "423: Operation Endgame, deepfakes, and dead slugs" (podcast) โ€“ recommended as part of "Pick of the week"

Jul 24 โ€” "Comfort Zone, Episode 59: I am Full-on Bananza" (podcast) โ€“ on a 15-minute chapter called "We're phans of Phanpy"

Aug 9 โ€” "We Distribute Live โ€” Sean Tilley โ€” FediCon 2025" (video) โ€“ Anuj Ahooja gave a quick call-out on Phanpy.

Aug 17 โ€” "Taking a Fresh Look at the Fediverse" (video) โ€“ a talk at FrOSCon by David Roetzel , backend developer at Mastodon:

I have a screenshot here which is from a very nice one called Phanpy. Phanpy is doing a lot of innovation on the user interface side and actually when we develop new features today, we always look at hmmโ€ฆ how does Phanpy solve it because they have some very cool ideas.

Aug 20 โ€” "Introduction to AT Protocol" (article) โ€“ small mention under "Client Apps" section:

All browsing is done through a separate client, and the client always does everything through the public API โ€“ kind of like when you run a custom web client for Mastodon like Elk or Phanpy, you connect it to your instance, and you view your timeline on elk.zone.

Sep 26 โ€” "WTN #8: The New Rock Stars of Web Development" (article)

๐Ÿฆฃ Meanwhile, Mastodon app developers are coming to grips with the new quote posts. I use Phanpy for my Mastodon browser app (it's awesome)โ€ฆ

Oct โ€” "#fediday2025 Elena Rossini - The Future is federated" (video)

Nov 3 โ€” "Time to Migrate" (article)

But iOS people should check out Ivory, Androiders should look at Tusky, and everyone should try Phanpy. I live in Phanpy on both my Mac and my Pixel โ€” itโ€™s a Web thing but installable as a PWA on both Android and iOS.

Nov 8 โ€” "Mastodon 4.5" (article)

The first is support for quote posts. This had already become an unofficial feature in the client apps I was using (phanpy.social on the web and Ivory on iOS) but now it's officially part of Mastodon's core platform.

Nov 13 โ€” "Comfort Zone, Episode 75: Klack to the Extreme" (podcast)

Nov 14 โ€” "Kendzior Case-Study" (article)

I use Phanpy, which has a hilarious little animation with an animated rubber stamp that leaves a red-ink โ€œSpamโ€ or whatever on the post youโ€™re reporting.

Nov 26 โ€” Flock of Cats made a quick video about Phanpy (video).

Dec 10 โ€” "Useful patterns for building HTML tools" (article)

Mastodon has generous CORS policies too, as used by applications like phanpy.social

And that'sโ€ฆ pretty much all the coverage, I think.

It's always great to see folks enjoying the app I've built, and somehow my UI experiments kind of worked well for others besides myself.

Side quests

Being unemployed for so long, I do feel like I'm just casually cruising along this uncertain path with everyone else struggling to keep their jobs, trying to pave through high rents and increasing prices. Layoffs were still happening like it's a normal thing now.

Unbounded by dominating working hours, I manage to do quite a number of "side quests", which are pretty much the little things that I enjoy doing.

Likeโ€ฆ taking photos of buildings.

The iconic People's Park Complex in Chinatown, before repainted red. Past sunrise. Shadows from tall skyscrapers of the CBD.

A random orange-and-white HDB block numbered 123. Construction noise barriers behind the bus stop at bottom right.

One of the top floors of Sim Lim Square, overlooking the roads through towering glass panels.

Marina Bay Sands and Esplanade Bridge, viewed from the seats of Queen Elizabeth Walk. Almost sunset.

Christmas decorations at Geneo.

Projection light show on UOB Plaza's skyscraper.

I've also visited The Hidden Green , a 6ร—12m artwork and data storytelling project about Singaporeโ€™s urban trees, at the Singapore Art Museum (Tanjong Pagar Distripark). I got to know this project from Kontinentalist folks who worked on them and informed me that they've referenced one of my side projects ๐Ÿ˜‰

At the bottom right edge of the Singapore map, there's a section that says "Map legend".

There's a small print below "Map legend" section. Zoom inโ€ฆ

Here's the small "Data references" section. One of the references is my ExploreTrees.SG side project ๐Ÿคฉ.

It's pretty cool to see a physical data visualisation work instead of digital ones, though I always wonder if the work will be preserved digitally when the wall gets repainted for other works, or when Singapore Art Museum moves back to its previous location in Bras Basah.

Anyway, I also got to explore random food places in Singapore, mostly ticking off to-go/to-try places in my list bookmarked on Google Maps. And also, on a quest to try new places beforeโ€ฆ they potentially close down ๐Ÿฅฒ

Yes, it's in the news:

  • The 2025 F&B roller coaster โ€“ so far, so dizzying
  • Commentary: As more restaurants shut, is it time to rethink Singaporeโ€™s F&B rules?
  • Of F&B closures in 2025, 82% of those registered for up to 5 years had never made a profit: MTI
  • Majority of F&B outlets here that closed in 2025 did not last over five years: MTI

It's pretty obvious when I check my bookmarks, a few of them unexpectedly show "Permanently closed" after a year or even within less than a year ๐Ÿ˜ฅ

Despite having a lot of bookmarks, it's technically impossible for any one person to go to all places in Singapore. It's because a few months ago, Singapore citizens received cash vouchers of up to S$800 each to mark the country's 60th birthday. It's called the SG60 Vouchers which works the same way as CDC Vouchers. Only specific places accept these vouchers, so I built a much better alternative UI than the official one. There are over 24,000 places that accept these vouchers, while not all of them are hawker stalls or restaurants, they are still way too many. The list of places is also updated almost daily, so I built a tracker which shows a changelog for places added, removed or edited ๐Ÿ™ˆ.

If let's say there are 20,000 F&B outlets, and a person visits two every day, it would take more than 27 years to visit them all! Take note that SG60 Vouchers will expire on 31 December 2026 ๐Ÿคฃ.

In conclusion, supporting local businesses ultimately depends on the collective effort of everyone in the country ๐Ÿ˜‡.

All I can do is just best-effort support, despite still unemployed, and trying my best to treat it as a mini-adventure.

In no particular order, and not an exhaustive listโ€ฆ

Smashed burgers, which I randomly ordered as takeaway after I saw the place while walking around Kampong Glam. Not sponsored, by the way.

Chive Pork Dumpling Noodle from A9 Noodle Dumpling at Fortune Center.

Maggi goreng putih. Yes, "Putih" is the keyword.

Shio pan (salt bread) was trending for a while, so I tried a few from Shio and Sato. As expected, the bread wasโ€ฆ salty ๐Ÿ˜†, though it has that extra crispy texture which I find interesting ๐Ÿค”

Around August, I stumbled upon a site called Acuppa, a directory listing of home-based businesses in Singapore. They were quite trending for some time, deemed viable alternatives to traditional F&Bs, while also having their own fair share of criticism.

Being curious, I tried a few of them.

Straw-Beary Pawcha Latte from KลBear Matcha.

Bandung Matcha from Bendemeer Coffee.

Blushing Matcha Hug from amoRe brew.

Strawberry Bandung Cold Foam Matcha from Waterloo Coffee, originally a home-based business and eventually opened a physical shop.

At this point, it's pretty obvious that matcha is quite trending to a point where many other drink stalls also start to offer matcha. Even 7-eleven stores sell matcha-flavoured oat milk cartons by Oatside ๐Ÿ˜….

This trend feels weird because many years ago, I used to be a little obsessed with matcha.

Looking back

This might sound weird, but my first quarter of the year was carried by Solo Leveling Season 2. The intense adrenaline rush with diabolical cliffhangers truly kept me tensed with anticipation every week, to such a high boiling point that everyone starts to hate those feet ๐Ÿคฃ

Next few quarters, not much from anime unfortunately, tho' maybe a little from Dr. Stone: Science Future Part 2 and eventual ending of Boku no Hero Academia: Final Season.

Bon Appรฉtit, Your Majesty (k-drama) surprisingly brought a small spark of joy that awakened my appetite ๐Ÿ˜‹

Apart from all of these, things generally stayed the same.

Rather I'm glad that things stayed the same instead of getting worse.

I mean, we still can't ignore all the crazy things that are happening around us, though it's been sort of consistently like that sinceโ€ฆ the pandemic?

Nevertheless, I'm grateful that some folks have reached out to me. Some have supported my work via thank-you's and donations.

All the little things matter.

Discussion in the ATmosphere

Loading comments...