Have you ever wondered what’s on the radio in Paris, Amsterdam or New York? Maybe you’ve lived abroad or travelled on holiday and remember tuning through the local FM stations – wouldn’t it be interesting to hear them again without having to go there?

Well this idea got me thinking. I’ve lived and worked in several European cities and remember tuning in to favourite stations on the car radio. Of course, FM frequencies are short range, so I can’t receive these here in the UK. Okay, down on the south coast you may pick up the odd French station but with the usual UK programmes coming through it’s not the same experience.

So here it is. An FM radio where you choose a city and can tune through the dial to hear the local stations much as you would if you were there! Spoiler alert – it’s not really FM radio at all, and some cities may not play stations due to geo blocking, but I hope you have fun and try it out. Don’t forget to switch your radio on.

© Copyright 2026 Radio Retro – All rights reserved

You may notice it sounds like an old FM radio with hiss between stations. There’s a stereo indicator that only comes on when you tune in to the correct frequency, just like a real FM receiver.

Dig a little deeper and you may see and hear, or not hear a few strange things. More on this later.

If you can’t find your favourite city, please leave a request in a comment and we’ll endeavour to add it. Bear in mind it’s not possible to access some geographic regions when you are based in another, so this may limit what you can actually listen to.

What, Why and How

World FM Radio is a web app built using Loveable, an AI code generator. You can build one too. All it takes is a few lines of text describing what you want and Loveable will write the code for you. There are many AI code generators available, many have a free plan or account where you can try for free or before moving to a paid subscription if you need more.

I used Loveable as I’d tried it out soon after it was released to create a Vectrex simulator. See my post Vectrex Strange vector faults if you are interested in vector gaming displays. Lovable’s valiant attempt with Vectrex needed more work back then, so I made a note to return to Loveable when it had matured.

It has now matured. A single prompt was all that was needed to create a working first attempt – see feature image above. I began in plan mode by asking Loveable if there was an existing app that did what I wanted:

Is there a mobile app that can simulate an analog FM radio with a tuning dial that can use its location to convert the tuned frequency to a station and play it as a data stream?

There was nothing on offer but this proved a shrewd move as it helped scope out an initial design (v1) with behaviour, look and feel and features for later addition. You can control development, much like you would with a real dev team, by returning to the plan mode rather than making ad-hoc code changes via direct prompts.

Early versions on Loveable had more generous credits. The free plan now is limited to 5 credits a day that are soon exhausted adding features and fixing bugs. Bugs, did I mention bugs? Well just like a real dev team, Loveable code is far from defect free. After all how could it be if I don’t specify all the test cases it should check for?

And I guess that’s the lesson many non technical app creators are learning when using AI code generators. If you don’t know how to write code you likely don’t know how to specify test conditions and test cases that ensure your use cases actually run successfully. You did tell AI to test it didn’t you?

To be fair, Loveable does include test capabilities but you have to mention this and of course it uses more credits.

A related lesson to learn is to limit the number of credits you burn. It’s tempting to subscribe and think, okay, I’ve now this big bucket of credits and I can keep asking for more and more features. In reality you soon use these up as every prompt, even if it’s a question, still burns your credit. And of course every feature creates more code with more bugs that need fixing and so the endless cycle goes around.

For me, after building and debugging the main feature, it was a law of diminishing returns – adding new behaviour broke existing features exhausting daily free tier credits just fixing rather than incrementing. I suspect Loveable’s cap is designed to force subscription if you want to progress beyond a very simple use case. That’s fine as long as you realise and set realistic targets.

Glitches

So AI code generation undoubtedly speeds up delivery and allows anyone with an idea to create an app or website as a demonstrator. I guess you know what’s coming, a big but. The but is that AI generated code still requires an architectural vision along with the idea. Without it the code becomes like tangled spaghetti with localised workarounds and patches rather than a consistent whole Loveable now has the plan mode and this helps conceptualise to steer consistency and with practice I guess it’s possible to refactor the codebase using crafted prompts.

Other approaches suggest using separate agents to act as architects or QA testers so continuous improvement in the world of AI is realisable.

Exporting your app

One good thing about Loveable is that the code it writes belongs to you. (Okay, does anything actually belong to anyone anymore? That’s another question!) This means you can export your app via Github so you can host it on a platform of your choice. You can also see all the code it’s generated and modify it if you can. And as Github is a repository all changes are synchronised.

Code synchronisation is a double edged sword. If you break the code it’s also broken on Loveable and it costs you a credit for every change you make. You can of course fork your code to create a separate version to change without incurring Loveable credit, if you know about Github and pull requests.

The beauty of synchronisation is that if you fix a bug or add a feature via Loveable, Github is automatically updated. If you have a deployment pipe configured from Github this is also run so builds to live are done more or less instantly. If this is not what you want you can add some manual controls so your latest faults are not so instantly obvious to all!

Hosting your app

My World FM app is hosted on CloudFlare Pages via Workers, although there are many alternative cloud hosting providers, I choose CloudFlare as it integrates with Loveable via GitHub and worked first time unlike Netlify or Vercel. You can use Loveable to host your app as well if you have credit and want a simple set up.

CloudFlare Workers is not only fast to build and deploy, as it sits on a Cloudflare edge server it’s also fast to load. Again, there are quotas on the free plans so if your app proves popular you will need to move to a paid subscription.

Finally, don’t forget to switch your radio off – just like a real portable radio it will still run your batteries down!