building a simple timezone translator

bhaskar rijal / 30.07.2025

Cover Image for Building a Simple Timezone Translator

The most annoying problems are often the smallest ones. They’re the little bits of friction we run into over and over again. The tiny tasks that each take just a minute add up to a whole lot of wasted thought and time.

For me, one of those has always been time zones.

I work with people from many different parts of the world. Scheduling a meeting, calculating a deadline, or just trying to coordinate a simple chat involves a mental calculation that I’m tired of doing. You have to open a new tab, search for a timezone tool, pick the right cities from a dropdown, and then you get your answer. It’s not hard, but it’s a distraction. It breaks the flow and it’s a noise.

So, I decided to build a little something called the Timezone Translator.

The idea is simple; you ask it a question in plain English, and it gives you an answer. Something like, "What time is it in Bihar when it's 9 AM in Beijing?" or "8pm London to my local time." No dropdowns, no clutter. Just a question and an answer.

Keeping It Simple

When I set out to build this, the goal was clarity and efficiency. I didn't want to build a massive, feature rich application. I wanted to build a small, sharp tool that did one thing well. That philosophy guided my tech choices.

The whole thing is a pretty straightforward setup. The frontend is a React app, built with Vite. It’s fast, simple, and lets me build the UI without a lot of ceremony. It just gets out of the way so I can focus on the user experience.

The backend is also a simple NodeJS and Express API. It’s reliable, easy to work with, and does exactly what I need it to; handle requests from the front end. There’s no complex database or convoluted logic.

The real core of the project, the part that makes it feel a bit like magic, is how it understands what you’re asking. For that, I’m using the Vercel AI SDK connected to Google's AI model. This is what translates your human, conversational question into something the computer can understand. The SDK makes this surprisingly easy to deal with. It handles the complicated stuff, and I can focus on the core task.

Once the AI figures out what you want, a library called luxon does the actual heavy lifting of calculating the time difference. It’s an example of using the right tool for the job. The AI handles the messy human language, and luxon handles the precise math.

This project isn’t really about timezones tho. It’s about a habit of thinking and noticing those small, recurring points of friction in your own workflow and building something to fix them. It’s about valuing simplicity and maintainability over complexity.

And I think that’s a good thing.

https://tt.bhaskarrijal.me