I Made* a Bus App

Created:

I made* a bus app.

It’s called My Bus Assistant, and you can try it here.

The asterisk is important. I’ll explain.

Why a bus app?

I take the bus almost every day — to work, back home, and occasionally elsewhere when I’m feeling adventurous.

Like most people, I already check arrival timings pretty often. And like most developers, I eventually thought:
“Okay, what if I just build my own?”

Not because existing apps are bad, but because this felt like a good excuse to:

What does it do?

Nothing revolutionary.

It shows:

It’s intentionally simple. The goal wasn’t to out-feature anyone — just to make something usable and see how far I could take it.

How it’s built (at a glance)

The app pulls real-time data from the LTA DataMall API.

Structurally, it’s a Turborepo monorepo using Bun as the runtime and package manager.

Frontend-wise, I’m using React 19, Vite, Tailwind CSS v4, TanStack Router, and Zustand.

There’s a small Hono backend that acts as a proxy layer so I’m not exposing the LTA API directly.

Everything is self-hosted on my own VPS and managed behind Cloudflare.

Pretty standard stuff, just wired together carefully.

So… the asterisk

Here’s where things get a bit more interesting.

I didn’t write most of the code by hand.

That doesn’t mean I pressed a button and magically got an app.

What I did do was:

The AI wrote a lot of code.
I was still very much responsible for the outcome.

In practice, it felt less like “AI coding for me” and more like “me reviewing a very fast, very literal junior engineer”.

The workflow

Most of the work happened through CLI tools and OpenCode.

I ended up using a mix of models:

When I’m on my laptop, I run everything locally. When I’m away, I tunnel into my VPS using Tailscale and make changes directly from the terminal.

It’s not perfect, but it does mean I can build or tweak things almost anywhere, as long as I have a connection.

Some thoughts after building this

I don’t think AI replaces developers.

But I do think it changes the baseline.

If you’re comfortable reviewing code, spotting bad ideas, and giving clear direction, these tools let you:

On the flip side, if your value mostly comes from:

Then yeah — this should probably feel a bit uncomfortable.

This project isn’t impressive because it uses AI.
It’s interesting because it shows what’s possible when someone who knows what they want leverages it properly.

What’s next

The app isn’t finished, and it probably never will be.

There are features I want to improve, ideas I want to test, and bigger questions I’m still thinking about — especially around what an “always-on” personal dev environment should look like.

This bus app is just one small experiment.

But it’s a very real one.