Skip to content
Coming soon 2026

Radiopoli

The digital home of Greek radio — and the desk the stations run it from

A Greece-first radio platform: one app where a listener sees what is live, follows the people they care about and finds the song they just missed — and a dashboard where a station's stream, schedule and audience are somebody's actual job. The platform never carries the audio.

Request a demo Site not public yet
0
Audio bytes through the platform
0
Documented API endpoints
EL/EN
Greek default, English equal

The problem

A station's digital life is five links and a guess

A Greek local station has a player on its website, a social page, a bare stream URL somebody pasted into an aggregator years ago, and podcasts on a third platform. A listener who wants to know what is on right now has to already know. And nobody — least of all the station — can say how many people actually listened, for how long, or whether the stream was even up at nine this morning.

What we built

One catalogue, two planes, no migration

Radiopoli gives a station a page, a schedule, presenters, a request queue and a dashboard without asking it to move a single byte of its broadcast. It keeps its own Icecast; we store the endpoint, probe it every few minutes and hand the URL to the listener. The platform returns metadata and a stream address — the phone then connects to the station's server directly. The two planes never share a wire, which is why a dashboard outage cannot interrupt anybody's listening.

Inside the product

What is actually in it

01

One app, live first

Home, discovery, a persistent player, shows and a library. What is on air right now, browsable by city, genre, programme or presenter — because "what is playing" is the question people actually open a radio app to ask.

02

The station's own desk

A tenant dashboard per station: stream status, today's schedule, follower growth, the request queue, listening figures and the plan they are on. Scoped so a producer sees their own programmes and not the station's commercials.

03

Health checks that page the right person

Every endpoint is probed on its own timer with backoff. One dropped packet is degraded, not down; three failures open an incident and send exactly one alert, to the people who can actually fix it.

04

Now Playing that admits what it knows

Artist and title normalised, repeats deduplicated, and every reading carries where it came from. A song that arrived twenty-three hours ago is marked stale rather than presented as current.

05

The schedule is not the stream

Recurring rules and one-off exceptions, resolved in the station's own timezone. Both ends of a slot are independent wall-clock readings, so nothing is silently an hour wrong on the two Sundays a year the clocks move.

06

Listening without an account

Favourites, follows and recents all work signed out, against a pseudonymous key minted when there is something to save — never on arrival. Sign in and the guest library is claimed onto the account.

07

Requests with a rulebook

Windows, cooldowns, daily ceilings and block lists. A station takes no requests until it says otherwise, and every refusal names its rule — so the app can say "requests open at 18:00" instead of "no".

08

Replays that carry their rights

Every on-demand item has a rights status and an expiry. The podcast importer refuses to run without a recorded authorisation, and a takedown disables the item without deleting the evidence.

09

Two languages, checked by machine

Greek is the default and English is its equal, down to station descriptions and show titles. A key added on one side and forgotten on the other fails the build rather than falling back.

Our apps ship straight to the people using them today. The Google Play listings follow as soon as our company developer account clears verification.

Signature decisions

The calls we would defend

Who it is for

Radio listeners in Greece and abroad, and the local stations that would rather not commission an app of their own.

  • The platform hands out a URL and the phone opens the stream itself — the dashboard can be down while every listener keeps hearing the station.

  • No station has to migrate to join. Its existing Icecast is a first-class integration, not a fallback for the ones that will not move.

  • The analytics tables have no column for a person: a listening session carries a one-way pseudonym, so the figures survive an account deletion and a dashboard cannot leak one.

  • A station cannot be published until it is genuinely finished — nine checks, seven of them derived from records rather than ticked by hand, and no override flag for launch night.

Built with

The technology underneath

Laravel 13 Filament 5 React Native Expo PostgreSQL 18 Icecast / AzuraCast Redis Sanctum TypeScript Tailwind CSS 4 Alpine.js Liquidsoap

We Forge your Internet.

Got something that needs forging?

Tell us what you are trying to build. We answer every serious enquiry within 24 hours — usually with questions, sometimes with a rough plan attached.

No sales funnel, no chatbot. An email lands on a developer's desk.