TVTastic v0.1

In the last post, I briefly mentioned the TVTastic project I started this month. Unlike my previous projects, I’m using more structured planning for this one. I’m breaking the project down into milestones and assigning issues to each milestone. I use my local instance of Forgejo to register these milestones and issues next to the git repository containing the source code. I’ve noticed that planning the project this way helps me stay motivated. It also helps me remember outstanding tasks, because I register TODOs directly in a central place, which keeps my mind clear as well. The built-in progress bar for each milestone (see below) is especially motivating. Every time I close an issue, I see the progress bar move, which gives me a little dopamine boost. It also keeps me on track: I add new ideas and fixes to later milestones, so I can focus on the functionality of the current milestone.

Forgejo milestone v0.1 for TVTastic with a full progress bar

An image showing milestone v0.1 with its assigned issues

The first milestone I completed was v0.1. It is a very minimal UI that tests streaming TV and radio from Vu+ satellite receivers. I’m using SwiftVLC to implement this functionality. I switched from VLCKit in an earlier version, which is why I wanted to test this functionality first. The app currently shows only two buttons: one for a hardcoded TV stream and one for a hardcoded radio stream. Both already work nicely. You can see the TV stream in the screenshot below. As you can imagine, seeing (and hearing) these streams is already a great motivator in itself.

The TVTastic main screen with a button for a TV stream and a button for a radio stream

The main screen with the two hardcoded streams

TVTastic playing a TV stream

Streaming a TV channel from the Vu+ receiver

The next milestone, v0.2, will focus on retrieving the channel list from the Vu+ satellite receiver itself and making the IP address of the receiver configurable. This will be the first MVP, which I can already release via TestFlight for people to test. Stay tuned for more information, and if you’d like to help me test, please contact me.