Friday, 17 April 2026

Building MeetMiddle: How I Created a Journey Planning Tool in a Couple of Hours with IBM Bob

Introduction 

In this article I’ll talk about how I built MeetMiddle with IBM Bob (an AI coding assistant). I'll cover how it turned out, what worked, what didn't, and my thoughts that AI acceleration is valuable for personal productivity tools.

 

Each year my family do long journeys up and down the country, and with young kids you can't drive for hours and hours. Finding somewhere to have a rest and stretch your legs is useful. I can do this today, but I have to find search on google maps, then find the mid point and then look for cafes, activities etc.

 

So ,I decided to use IBM Bob to help build a tool to help me! Some colleagues and I had previously written the idea up together but had never implemented it. We wanted to know the best mid-point for multiple friends to meet.

 

With the help of IBM Bob, I built this in just a couple of hours leaving it to get on with its changes with occasional jumping back on to see how it was doing, provide some more prompts and test the output. 

 

I think this is a great demonstration that AI tooling can help people build the tools they need to speed up the monotonous tasks of life and work.

Setting Expectations

I deliberately did not boil the ocean when creating my prompts and instructions. I was investigating effort vs speed - how quickly could I get something working with minimal input? I let Bob choose the technologies and components and waited to see how it did and what it did.

The Foundation

 

Luckily, we had already designed the application, the method, the benefits and that gave the specification to IBM Bob. So now you can see that I have click-baited you with the 'couple of hours' headline, because a lot of the real effort went into the idea and the method write up that Bob could follow!

 

My first prompt to Bob:

```

Come up with a solution design for this idea.

Design should be one document

Second document should be a plan of what you would like to do to deliver it

```

The solution design was a 625 line MD file which was very comprehensive. I'll be honest, I didn't read it all but it looked and sounded right. It had the four architecture layers: presentation, application, integration, and data.

 

Yeah, I know that this is a little dangerous - letting the AI off the leash without reading everything it produces. But I was doing this as a fun test to see how far I could get with minimal oversight. In a production environment, you'd absolutely want to review everything carefully. This was more about exploring the "effort vs speed" trade-off for personal tools that maybe could be less rhobust or should be to get some cost benefit if its only me using it.

 

Bob then overlayed data models and their mappings. It also went a little crazy and was doing sophisticated algorithms for multi-stage filterings, scoring etc. That's my bad for not being clearer in my prompt, so I wasted some tokens on that.

 

The second document was a 1000 line todo list. It was a detailed list of what I would need to do to deliver the solution. It was a detailed list of tasks, with estimated completion dates. Again, useful but at the moment I just wanted something really basic for some holiday planning I'm doing!

 

Even though I wasn't planning to spend 9 months or £800K on this! Having that comprehensive plan meant I could cherry-pick the MVP features and know exactly what to build first.

Building the Backend

 

Alright, so we had the blueprint. Time to start building!

 

Bob setup a project using a python framework called FastAPI with folders for models, API endpoints, services, etc. It used SQLAlchemy models for users, events and participants! It also wrote a bunch of security models.

 

I didn't use most of these though, because it was still running from the main solution design it built. I should have told it to strip it back but I didn't want to mess up the context.

 

Bob told me I needed to fetch a bunch of API keys from places like Google Maps and Google Places. Not sure why... ahh ok, it's because that's the example we wrote in the idea we gave it! So it did a few mocks instead, which is nice.

 

Also, Google Maps API are expensive and I don't want to pay for it for a test app, so next prompt was whether I could build a backend from scratch.

 

My prompt:

```

Can we do the backend without the google API? could we build from scratch?

```

 

Bob created a service with over 100 UK postcode areas built in. Each postcode area (like M1 for Manchester, SW1A for Westminster) has its real geographic coordinates hardcoded.

 

When you enter a postcode like "M1 2SA", the service:

- Extracts the area code (M1)

- Looks up the base coordinates

 

It did the same with Restaurants, Cafes, Bars, Hotels and Petrol Stations. But it completely made it all up which makes sense if it's starting from scratch rather than fetching data from a service.

 

It did some clever formulas to calculate routes and travel times e.g., Haversine formula. I'm not sure what that does but I've added it to my research list. It also had an optimal meeting point between the two locations but it was as the crow flies not via roads.

 

Then Bob told me it wrote a bunch of tests that passed! Nothing like marking your own homework. There was also no UI, boo!



The UI

My prompt:

```

lets run the demo in the UI

```

Bob created a single-page application with HTML, CSS, and JavaScript. It had the app title "MeetMiddle", and used something called Leaflet.js as the mapping library - start point (green A), end point (red B), and midpoint (blue M), a blue line for the route and then interactive pop ups if you click a place it has found.

 

As I mentioned earlier, I let Bob choose these technologies. I don't have experience with FastAPI or Leaflet.js, I do know javascript so I might do a follow up article reviewing how easy it is for me to understand what is happening and how good the code itself is.

 

Users - me - enter the start postcode like NE1 4ST and the end postcode DE1 2PY, the type of place they are looking for e.g., "Cafe" or "Petrol station" and the search radius and select go. The map shows the route with markers and places to go.


The Quest for Real Data

 

The UI is good, and so is the map for my two endpoints. I tried some new postcodes and the markers were off in the sea! What's happening here?

 

Ahh, I'm using mocked and fixed data so it only works with specific postcodes.

 

My prompt:

```

Can we replace the estimated and generated data by doing free internet lookups?

```

 

Bob had a look and found OpenStreetMap, Royal Mail Postcode Address Finder and Ordnance Survey Open Data which has 2.5 million free to use postcodes. It also found an Open Source Routing Machine which calculates driving, walking and cycling routes with travel times and directions with no API Key requirement.

 

So the map and route is now sorted! And if I type different post codes in it actually picks it up. The only down side is that it has 1 transaction per second on the free tier, so this isn't production ready.

 

I also have real places like costa, mcdonalds, pubs, esso's and what not.

 

Bob created two new JavaScript services to handle the real data.

 

I then asked Bob to add a 7-day cache for postcodes, places and routes and it also removed all the mock data, straight line routes and added some error handling.

 

Now when I run for NE1 4ST and the end postcode DE1 2PY I get real location on the map, real places in the radius distance from the midpoint.

Results


So that's what I can get with Bob in a couple of hours with very little input from me. I think I did around 4 general prompts, and 3 "this didn't work" style prompts and I'm quite happy with the results. I can now use this when planning holidays to make sure we're not driving too long at a time.

 

I would also say, that my prompts could have been much better and there was a LOT of extra code that I had to ask to get cleaned up. The documentation was overly verbose and the plan was way too detailed. But all in all, not bad for 2 hours work!

 

I can hear some naysayers at the back saying that you can already do this with google maps, and I agree, but I do think this project showcases how much an individual can achieve in a short space of time, with limited technical knowledge to become more productive.

 

And this is a trend I'm seeing more of. Managers creating customer dashboard, sellers creating sales plans and learning plans, techies applying their knowledge to completely new coding styles. This localised value add means we don't always need production ready services, as little apps like these can be shared between 1 or 2 people.

 

This is Unix philosophy stuff - reduce human time by writing programs. I'd compare Bob to writing little helper scripts - many that don't see the light of day. The personal tools I can now build with Bob for solving specific problems wouldn’t have been made before because I wouldn’t have had the time to turn my ideas into real tangible things.

 

I’m excited to see how individuals use AI to build tooling that improve productivity and the incremental benefits this will have on organisations.

No comments:

Post a Comment