Since October 2023, I’ve been using Flarum to build the Nodeloc forum—and what a journey it’s been! I started with very basic PHP skills, and I was instantly drawn to Flarum’s engaging interactions and sleek UI. Despite my initial unfamiliarity with technologies like TSX, JSX, and Composer, I was determined to make it work.
My first challenge came when I discovered that Flarum’s default emoji service was inaccessible in Mainland China due to certain domains being blocked by the Great Firewall. This inspired me to create a custom emoji extension. With no prior experience, I decided to modify the existing Flamoji extension, which already supported custom emojis. I removed its original emoji set, kept the custom functionality, and redesigned the UI. Although the code ended up a bit rough and messy, it achieved the desired effect. I shared my work at My Emoji Plugin and named it “My Emoji” because of my personal fondness for it.
That first success opened the door to more innovations. I went on to develop several other plugins—ranging from recommended registration, friend links, to lottery features. During this period, Nodeloc grew rapidly, evolving from just a few dozen members to hundreds, and now it proudly hosts over 12,000 registered users. Along the way, I faced numerous challenges including performance bottlenecks and feature limitations. Every time, I turned to the Flarum community for guidance and was met with warm, enthusiastic support. I’m truly grateful for the vibrant community atmosphere that has been instrumental in Nodeloc’s swift growth.
Today, with the successful launch of our Merchant Center feature, it feels as though most of the planned functionalities have finally come to fruition. Looking ahead, however, I anticipate a difficult upgrade process as we adapt to Flarum 2.0. Given the extent of my customizations, I expect the transition to be quite challenging—but I’m ready to tackle it head-on.
This journey has not only deepened my technical skills but also reinforced the value of community support in overcoming obstacles. I hope that by sharing my experiences, others will find inspiration and practical insights for their own projects.