2020–2022
Link — The ACNH Community
A two-day turnip price tracker that grew into Link, an ACNH community used by 100k+ people across 143 countries.
- Animal Crossing
- React Native
- Firebase
- Community
- Web & iOS & Android
Looking back
Two years after I started Turnips Exchange, I gave a talk to my org at TikTok about interesting side projects we had worked on. What began as a price tracker I built for myself became a way to organize island visits, then an iOS and Android app with a community around it. The project reached 100k+ people across 143 countries, with 7k+ following on Twitter and 1.5k+ members on Discord.
I had expected the story to be mostly about software. It was also about design, moderation, communication, costs, and learning how to run a community. I did not always get those things right, but I approached later projects differently because of it.
Talk slides · 2022
1 / 22Turnips Exchange
Animal Crossing: New Horizons arrived during the pandemic and quickly became a global favorite. It gave people somewhere to relax during lockdown, and a way to spend time together while everyone was physically apart.
Soon after I started playing, I wanted somewhere to record the turnip prices on my island. Players bought turnips on Sunday and tried to sell them later in the week, but every island had different prices. I made the first version of Turnips Exchange and put the tracker online after two days. It was a small thing I expected to use mostly by myself.
I soon realized that tracking my own prices was only part of the problem. Prices were different on every island, so people needed a manageable way to visit one another. I spent a day and a night building an Airport. A host could open their island, visitors could wait in a queue, and the Dodo Code was shown when it was their turn. That queue was what first brought other players around the site.
turnips.exchange
Link — The ACNH Community
By the summer, Turnips Exchange was becoming something broader. People were doing more than trading turnips: they were visiting special characters, watching shooting stars, sharing catalogs, and meeting other players. I decided to turn it into an iOS and Android app with a new name. I handled the app design and development, while Ke designed the logo and Aasen helped me form the background story.
I called it Link because that was what I hoped it could do: connect islands and the people behind them. I launched it in October 2020 and kept evolving it as long as the game remained part of the moment.
Building Link became a design project as much as an app. I wanted every screen to feel like an extension of the game, so opening it did not feel like leaving the island. Miss Link became the guide for Link Inc. We then bought a Nintendo Switch for the project so that world could exist inside the game too. One of the community maintainers helped build Link Island, while Ke designed custom Link Inc. clothing for its residents.
The story grew from the same need for connection that made the game matter during lockdown. Its promise, “No one should be left alone,” helped shape how the product should look, speak, and behave.
Aasen and I wrote a full backstory and introduced it through Miss Link. You can read The story behind Link Inc. in my writings.
Link — The ACNH Community
Building the community
Behind both Turnips Exchange and Link was the community that grew around them. I used the services myself and talked with people on Twitter, Discord, and Patreon. The moment it stopped feeling like a small side project was when people began approaching me on Twitter: thanking me, asking for help, and suggesting what I should build next.
I sometimes flew to a host’s island to check what was happening, and banned visitors when I could confirm they were stealing or disrupting the queue. I also hosted giveaways on Twitter and partnered with a few streamers. Those collaborations made the project feel less like something I was running alone.
As usage grew, the service fees became noticeable. I tried advertising first, but the site was too new for the well-known ad platforms. The networks that would accept it felt sketchier than I liked, and their ads never sat comfortably beside the rest of the site. Patreon turned out to be a better fit.
The tiered support covered the service fees and grew into meaningful income. What I did not expect was how much it changed the community. In return, I added badges, queue privileges, and small moments of recognition to bring a little extra light to supporters’ experience without taking anything away from everyone else. Supporters also tested new features, gave detailed feedback, helped with moderation, and sometimes shaped what I built next. Some became real collaborators, and their participation made the project more enjoyable to work on.
Technical explorations
Firebase let me move quickly, but Link used Firestore and Realtime Database for different jobs. Firestore held the fuller, durable records: profiles, current flights, and the flight and queue histories I wanted to keep. Realtime Database held smaller public views and fast-moving state such as the Airport counts, open flights, queues, and chat.
Changes went through Cloud Functions and a Pub/Sub event queue. The handlers updated the durable record and the live view separately, leaving private fields such as Dodo Codes and passwords out of the public flight data. The app could subscribe to compact real-time views instead of repeatedly reading full records and histories, which kept it responsive and helped bring the Firebase bill down.
Joining an island had its own concurrency problem: several people could press the button at almost the same moment. I moved every queue action behind the API and through the Pub/Sub event pipeline, making the backend rather than competing clients responsible for the order. The handlers placed each person in the queue and advanced them as space opened up. Only visitors whose turn had arrived could retrieve the Dodo Code.
I also had to design for people who tried to disrupt the experience. Chat messages were filtered for profanity and other unsuitable content. Reports required sign-in, while verification, account controls, and IP bans gave moderators ways to respond when something went wrong. I also partnered with people behind similar apps to compare ways of preventing abuse without making the experience worse for everyone else.
One last performance
Happy hour
Development slowed as the game was no longer the trend, but I kept the services online for the occasional players who still found them. It’s been a great journey.












































