Vizi PlayerLive on the App StoreA player you bring your own library to.
Vizi Player is a media player for iPhone and iPad. Add your own playlist, an Xtream Codes login or an M3U link, and Vizi plays what is there, with live TV, films and box sets laid out properly. It comes with no content of its own. Vizi+ removes the adverts and adds the full TV guide and catch-up, downloads, recording, Picture in Picture and more.

The problem
A playlist is a list. Vizi makes it a player.
A playlist on its own is a long, flat list. Vizi groups live channels the way the playlist groups them, with what's on now and next where the playlist supplies a guide, and gives films and box sets the artwork and details the playlist supplies.
It does that without supplying anything itself: no channels, no catalogue, and no way to search for places to find media. That line shaped the whole design, from the empty first screen to the App Store listing.
What we built
Your own playlist
Add an Xtream Codes login or an M3U link and Vizi does the rest. The free version takes one playlist; Vizi+ takes as many as you like, browsed together.
Live TV
Live channels grouped the way your playlist groups them, with what's on now and next where the playlist supplies guide data.
Films and box sets
Posters at a glance or a tighter list, and a search that looks across everything at once. Films pick up where you stopped, and series remember which episode you were on.
The player
Two engines under the bonnet, so formats that defeat other players still open. Aspect controls, a screen lock for pockets, and a mini player you can drag away without losing your place.
TV guide and catch-up, with Vizi+
A full programme guide, laid out as a grid you can scroll through days at a time, and catch-up where the playlist offers it.
Vizi+
No adverts, plus downloads, recording while Vizi is open, Picture in Picture for films and episodes, favourites, collections, kids profiles and parental controls. Or watch one advert for an hour of most Vizi+ features.
Under the surface
The engineering
- 01
Two playback engines, chosen per file and swapped silently on failure: AVFoundation and VLCKit.
- 02
Playlist sign-in details stay on the device, in the iOS Keychain, and go only to that server. They never reach us in any form we can read.
- 03
Vizi+ is bought only inside the app, through StoreKit 2.
- 04
An optional account with no password anywhere: Sign in with Apple, Google or a code sent by email, served by a Cloudflare Worker we wrote.
- 05
The App Store version keeps the whole app out of screenshots and screen recordings.
The line we do not blur
Vizi comes with no content. It plays playlists you already have the right to watch.
Services this drew on
More work
- Client workDubai meal-plan marketplaceRebuilding a Dubai meal-plan marketplace: a new back office, customer app, website and API, and menus that load themselves from partner kitchens.
- Our productLinkACodeTurns a server address into a short code, like AB123456. Give out the code instead of the address.
- Our productVantanAn iPhone and iPad app for watching the IP cameras you already own, privately: the video goes from the camera to your phone and nowhere else.
- Our productVVS PanelOur foundation for client back offices: a React design system for admin panels built around each client's own data and roles.
- Our own toolFrontalA private AI operations assistant: mail, renewals, deadlines and system health in one phone app, with a local AI model that sorts, drafts and flags.
Start a project
Tell us what you are building.
A few lines about the problem is enough to start. We reply within one business day.
