By Sofia Garza
AuroraTV is an app designed to make watching online videos feel more like turning on a TV channel. Instead of endlessly scrolling through recommendations, users pick a category or channel and the app automatically plays a continuous stream of videos related to that topic.
The idea is to create a more relaxed viewing experience. Once a user chooses something like animals, documentaries, or funny videos, AuroraTV keeps playing similar content without the user needing to constantly search or click the next video. This makes it great for situations where someone wants background content while studying, hanging out with friends, or just relaxing.
The app is being built using Flutter and Dart for the front end, with Firebase planned for backend services. Video content is pulled dynamically using the YouTube Data API.
By week 4, our main focus has been getting the core pieces of the app working: connecting to the video source, making sure videos can play inside the app, and building early versions of the interface.
One of the first technical milestones for the project was connecting to the YouTube Data API. This will allow our app to search for and retrieve videos based on categories, keywords, or other metadata.
Instead of hosting any videos ourselves, AuroraTV pulls video information directly from YouTube. The API provides the video IDs and other data needed for playback inside the app.
Getting this working is an important step because many of the features we plan to build later such as automatic recommendations and custom channels that depend on being able to quickly pull related videos from YouTube.
Another major step was implementing a video embedder that works across platforms, including iOS.
Embedding YouTube videos inside a Flutter app can be tricky, especially when trying to make it behave consistently on different devices. Our team built a solution that allows YouTube videos to be embedded directly into the AuroraTV interface rather than opening them in a browser or external app.
Right now, this embedder supports:
Playing videos directly inside the AuroraTV interface
Loading videos dynamically from the YouTube API
Compatibility with iOS devices
This feature is essential for the main viewing screen, since the entire concept of our app revolves around videos playing continuously within the interface.
At this stage, we created working mockups on Figma to help visualize how the app will look and how users will move through it.
The first screen users see gives them the option to:
Log in to an account
Create a new account
Continue as a guest
This allows people to quickly start watching while still giving the option to save channels and preferences later.
The main viewing screen is designed to resemble a TV-like experience where a video plays automatically when a channel is selected. In the future this screen will also include controls like:
Channel switching
Optional minimal control mode for a more immersive viewing experience
Right now AuroraTV is built using the following tools:
Frontend
Flutter
Dart
Backend (planned)
Firebase
API
YouTube Data API
Version Control
Git
Flutter allows us to build the app with a single codebase that works across multiple devices, which is especially helpful for supporting both Android and iOS.
For the first sprint we are focusing in on creating accounts center so that people can either log in as guest or returning user. We plan to use firebase on the backend here. Our video player is very rudimentary (also slow running) right now and exists on it's own, so we want to get the login and the video player seated together to give us a better place to work from. We also want to work out more details of how the UI should look, as we want it to not be overwhelming to the user, but still have a distinct style.