A few weeks ago, I finished watching TV drama series called ばけばけ/Bakebake/The Ghost Writer’s Wife. I first encountered the promotional poster of this drama during my trip to Matsue (Japan 2025). It was a very interesting series! It tells a story loosely based on Lafcadio Hearn‘s life. That’s why the setting of the drama is mainly in Matsue. Having been to Matsue and some of places of interest around, it was very interesting experience to watch and point out: “ooh, I’ve been to that place” and also “oh wow what’s that place I missed”.
This year felt so long but also felt like it was short too. Many things happened and it was tough to go on too, but in the end things will turn out fine, hopefully.
In a website UX pattern, a dialog is an interruptive piece of element, usually interactive, shown to cover a page while the rest of the page are not interactive. Dialog can be treated like a “page” overlaying the current page. Sometimes, this dialog that got treated like a page gets its own route in the navigation stack. I call this “dialog route”.
So I visited Japan again in the later half of October 2025. Unlike my previous trip in 2024, this trip was kind of booked without much plans in mind. Back when booking the flights, I only knew I wanted to explore Kansai region and maybe visit Tottori & Hokuei, the Detective Conan’s author’s hometown. But during the planning, things happened and I followed where the train lines took me and ended up exploring many parts of Chūgoku region. In a way, I loved going to places where it was less travelled by foreign travellers, since I was forced to use my Japanese language skills.
My travel plan started at the least populated region (Tottori) and slowly went to more and more dense areas and ended at Osaka. In the process, I found appreciation to many places that I had never even heard about before the trip, such as Matsue, Izumo, Kurashiki, and Okayama.
It has been many months since I started this side project called Ikuyo (source code in GitHub). I think I’m now relatively satisfied with the feature set to do a write up. Ikuyo is a web application for made to help and collaborate on travels.
Features
Ikuyo currently offers the following features:
Planning activities, accommodations, and day plans in a timetable view
Viewing plans in a list view and on a map
Commenting on individual activities, accommodations, and day plans
In the timetable view, you can schedule your activities, accommodations, and day plans. I’ll typically start with day plans, which offer a macro-view of what to do each day. For example, perhaps day 1-3 might be for one location, and day 3-5 for another. Having an AI chatbot open in a separate tab, checking its suggestions, is incredibly helpful for planning daily activities.
After outlining the day plans, I list the specific activities in the timetable. The timetable interface is designed to be familiar, similar to Google Calendar or Microsoft Outlook. Day plans and accommodations function like “full-day events,” while activities are the actual scheduled events.
In timetable view, you can drag-and-drop the activities to reschedule them to other timings. I found this feature greatly simplifies rearranging plans.
When creating activities, you can set location coordinates, allowing them to be viewed clearly on the map. While I feel there’s room for improvement here, I’m waiting for my trip plan to evolve organically before implementing further enhancements.
List view is particularly useful when going on the trip. This is because it will be focused on the day itself and it will also highlight the activity that’s active at the current time.
Sharing, Collaborations, and Comments
Additionally, you can share your trip with others (though it doesn’t currently notify them) and add comments to activities, accommodations, and day plans. Furthermore, changes will be reflected instantly. This way, one can collaborate easily on the trip.
Tech
Ikuyo is built on top of InstantDB, a real-time database. This ensures that when you collaborate with others, all updates are instatly live for everyone. The front-end is built with React, using the Radix Theme component library, Wouter for client-side routing, Zustand for the client-side store, and MapTiler for the maps. There is no separate back-end layer. The front-end connects directly to InstantDB. Consequently, my “back-end” logic is embedded either in the front-end codes, or in the database schema
Story
Initially, this project was built for planning trips together with my then-girlfriend. We’ve gone on several trips planned using this application, but there weren’t many features back then. We broke up a few months ago, and the project stalled for a while. One day, I decided to book my next trip to Japan for October this year. It will be yet another long trip, just like the Japan 2024 trip; that’s why completing this side project is now crucial for my trip planning. So far, I’m happy with the feature set, and I’ve started planning them using this application.
The project name itself is named after “Kita Ikuyo“, a character from the series Bocchi the Rock!, where her given name has same reading as “行くよ” (meaning “let’s go”).
Conclusion
When you’re about to plan for your next trip, do consider trying it on Ikuyo. If you find any issues or suggestions, let me know!
On separate post, I’ll write on the technical challenges I faced when developing this project.