Ikuyo: Plan Your Next Trip

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
  • A basic expense tracker
  • Sharing and collaboration capabilities

Timetable View

Timetable view of this example trip

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

List view of this example trip

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.

Links

Mount Fuji, with Coldplay's Moon Music album cover edited in

2024 in Review

Last year in 2023 in Review, I picked that the yearly theme would be “Year of Experience”. Indeed, this year I experienced a lot of things. Experience came in different forms, from travelling, events, meet ups, and many more. In this post, I’ll share several memorable experiences.

How to Get Unlimited Hearts and No Ads in Duolingo for Free

Duolingo is a language-learning app that’s based on spaced repetition concept. It is a gamified app that structured each language courses around lessons. In each lesson, there are several questions, and each time you answer a question incorrectly, you lose a heart. For the free tier, there are limited amount of hearts which regenerate over some period of time. I find that the concept of losing hearts over making mistakes is counter-productive for language-learning, since language-learning means making mistakes and correcting them often.

They also annoy you with ads while you’re doing lessons. The goal of this is to entice you to subscribe to their “Super Duolingo” plan. Having interruptions during lessons is extremely frustrating because it distracts you from learning and forces you to focus on something else.

However, there is a legitimate feature that bypasses the annoyances of limites hearts and ads during lessons: Duolingo for Schools.

Converting Japanese E-Book in Kindle with Calibre

I have some Japanese e-books that I am reading in my Kindle (mine is Kindle 8th Generation). I use Calibre to manage file format conversion and sending them to Kindle.

However, when I send them to my Kindle, I encountered some problems:

  • The furigana embedded in the e-book are shown incorrectly. They are inlined instead of appearing on top of the kanji characters.
  • The reading layout is horitonzal left-to-right instead of vertical right-to-left.

So after scouring Calibre’s forums, this is happeneing because of two reasons:

  1. I was sending the converted e-book as “old” MOBI format which does not support those layout features.
  2. There were some extra CSS required to be injected for the reading layout.

Remove Windows’s Invisible US-International Keyboard Layout

On Windows 10 and Windows 11, sometimes “United States-International” keyboard layout will appear in Window’s keyboard layout options. This keyboard layout is not what you normally want since most keyboard uses the normal US keyboard layout and not the US-International layout.

Keyboard layout list from taskbar showing English (United States) languagewith United States-International keyboard layout

There’s something strange going on. I do not have any memory of adding it. When you check the keyboard settings in Time & Language > Language & Region > English (United States) > Language options, you won’t see it listed in the keyboard list. This seems like a Windows bug that happened to some users since Windows 10 era.

Windows 11’s Language & Region settings

In English (United States) settings, only US QWERTY keyboard layout is enabled

Apparently, the workaround for this is to add the keyboard layout “United States-International” from “Add a keyboard”.

Find “United States-International” in “Add a keyboard”
After “United States-International” is added, you can remove it.

After this, “United States-International” will show up in the keyboard list. Then, you can find the option to remove it. After you removed it, it will disappear from the Keyboard layout list.

Keyboard layout list from taskbar no longer showing United States-International keyboard layout

However, this is not permanent. Seems like after some time, perhaps after some Windows Update, it will appear again in the list. However, when it happen again, one can re-apply the same trick again. Let’s hope that it will be fixed in future Windows versions.

Reference:

Japan 2024

I finally went to Japan! It was really nice. I found myself enjoying through both the ups and downs. Many things happened in the planning and execution of the trip. In this post I reflect on what happened, what I enjoyed and not, what I learned, and what I hope to do next.

Ideation

The initial idea was sparked many years ago (maybe it was 2019?), thrown around occassinally when chatting with Leo or with the Unyu group. But that idea stuck at being just an idea as there was no more concrete planning that happened since then. Also the Covid travel restrictions happened so I couldn’t really act on it int the past few years. Then last year around August, after more deliberations and encouragements, I took the risk and booked the flight tickets.

Once I booked the non-refundable tickets, the journey started becomnig real. I even thought of a quote from the anime A Place Further Than The Universe:

If you can still turn back, it’s not really a journey. When you hit the point of no return, that’s the moment it becomes a journey.

Hinata Miyake