Tethered (In Progress)
Discover what Tethered is and join me on my journey step by step as I create my flagship app
What is Tethered
Tethered is what I am considering my first flagship project. It is a cross platform app compatiable with both iOS and android. For the initial rollout, Tethered will allow users to form groups where they can stay connected for voice communication while still listening to each others or their own music. After initial rollout, many other features will be added.
Why Tethered?
The inspiriation behind Tethered comes from my numourous hours doing group activities. The idea came to me while cycling in a group. It's hard for the cyclest in the back of the group to communicate with the cyclest leading the group, as well as many of the other cyclists. This is especially a saftey concern for a scenario where a rider lags behind or becomes injured without anyone noticing. So I decided to eliminate this issue. Tethered will eliminate the issue of not being able to communicate while doing group activities and will allow users to still listen to their own media as well as give them the option to listen to the group's media.
Features
- Group Voice Communication: Stay connected to the group for voice communication while listening to your own media or the group's media
- Shared Playlists: Users will be able to listen to the same playlists together and add to the same playlists
- Shared Route planning: Set routes for the group using google maps API
- GPS Tracking: Users will be able to track each other's location
Initial Wire Frame mock ups
Below are the initial wire frame mock ups for the Tethered project. These mock ups were created using moqups.com. The mock ups are for the initial rollout of the project. The mock ups are for the login page, main page and group page.



Tech Stack
- Backend: Django + Django Channels for Websockets and Asynchronous Communication WebRTC for Peer to Peer Connection Spotify API for music streaming
- Frontend:
React-Native for cross platform development
Expo for development and testing
NativeBase for UI components - Database: SQLite
Progress
Tethered is currently in the development phase. I am currently working on the backend of the project. I have finished the initial iteration of the user interface. I am now working on the backend. I have created servers and am implementing WebRTC for the peer to peer connection.
Initial UI
Homepage
The homepage features a user search box, displays online favorites with a link to view all online friends, showcases favorites' rooms alongside a link to all friends' rooms, and lists nearby public rooms.

Profile Page
The profile page allows users to edit their profile picture, view online friends, favorites, all friends, and toggle their online status. By utilizing flatlists, friends are displayed in a horizontal scrollable list and are updated automatically in real-time when friends are added/removed or their status changes in the friendslist database.



Room Page
The Room Tab connects users to a room where they can chat and listen to music together. Users can create a room, join a room, and view all rooms.
