Android TV Developer for Educational Offline Player
Budget: $250 – $750 USD
Job Title: Android TV App Developer for Offline Educational Media Player
Project Overview:
We are Qalam, an educational project based in Hargeisa. We are launching a product for the local market: a 128GB USB drive pre-loaded with encrypted video lessons and offline HTML5 science simulations.
We need a skilled Android TV developer to build a simple, robust media player app (.apk) that will run from the USB drive. The app's primary function is to scan the USB, decrypt and play video lessons, and provide access to the HTML5 simulations. The entire experience must be offline and navigable with a standard TV remote (D-Pad).
Core App Functionality:
Platform & Navigation:
The app must be built specifically for Android TV (target Android 5.0, API 21 and above).
All UI elements must be fully navigable using a D-Pad remote (up, down, left, right, OK/enter, back).
USB Content Discovery:
Upon launching, the app must automatically detect the USB drive it is running from.
It will scan for and read the contents of a specific root folder named /QALAM/.
User Interface:
A simple splash screen on launch.
A main menu with large buttons to navigate to "Lessons," "Simulations," and "Help."
A grid-based or list-based menu to browse lessons by grade and subject.
The UI should be clean, fast, and easy for non-technical parents and children to use.
Secure Video Playback:
The app will use the ExoPlayer library for video playback.
Video files will be in a custom format (e.g., .qvid) and are encrypted with AES-256.
The app must decrypt the video files on-the-fly (in memory) and stream the decrypted data to ExoPlayer.
The decrypted video must NEVER be saved to the device storage.
PhET Simulation Viewer:
The app will include an Android WebView component.
When a user selects a simulation, the app will load the corresponding local index.html file from the USB drive into the WebView.
Copy Protection (USB Serial Number Binding):
This is a critical security feature for our MVP.
The app must be able to read the hardware serial number of the physical USB drive.
It will compare this physical serial number to a serial number stored in a license.json file located in the /QALAM/ folder on the USB.
If the serial numbers do not match, the app must display an error message and refuse to play any content.
What We Will Provide:
A complete folder structure with sample content (encrypted videos, PhET sims, license file).
The secret AES-256 key/password required for decryption.
Clear UI wireframes and mockups for all screens.
The Qalam project logo and branding assets.
Developer Requirements:
Proven experience developing Android applications in Java or Kotlin.
Demonstrable experience with building or porting apps for Android TV, with a strong understanding of D-Pad navigation and TV-specific UI/UX.
Experience with ExoPlayer for video playback and WebView for HTML content.
Familiarity with implementing standard cryptographic libraries for AES decryption.
Excellent communication skills and ability to work independently to meet a tight deadline.
Deliverables:
The final, signed, and production-ready Android TV app (QalamPlayer.apk).
The complete, well-commented source code for the project.
To Apply:
Please submit your proposal with the following:
A brief introduction of yourself and your experience.
Links to at least 1-2 Android TV applications you have developed that are live on an app store or demonstrable.
Your estimated fixed-price quote for this project.
Your estimated time to complete the project.
We are on a tight schedule and looking to hire a qualified developer immediately. We look forward to seeing your proposals!
Project Overview:
We are Qalam, an educational project based in Hargeisa. We are launching a product for the local market: a 128GB USB drive pre-loaded with encrypted video lessons and offline HTML5 science simulations.
We need a skilled Android TV developer to build a simple, robust media player app (.apk) that will run from the USB drive. The app's primary function is to scan the USB, decrypt and play video lessons, and provide access to the HTML5 simulations. The entire experience must be offline and navigable with a standard TV remote (D-Pad).
Core App Functionality:
Platform & Navigation:
The app must be built specifically for Android TV (target Android 5.0, API 21 and above).
All UI elements must be fully navigable using a D-Pad remote (up, down, left, right, OK/enter, back).
USB Content Discovery:
Upon launching, the app must automatically detect the USB drive it is running from.
It will scan for and read the contents of a specific root folder named /QALAM/.
User Interface:
A simple splash screen on launch.
A main menu with large buttons to navigate to "Lessons," "Simulations," and "Help."
A grid-based or list-based menu to browse lessons by grade and subject.
The UI should be clean, fast, and easy for non-technical parents and children to use.
Secure Video Playback:
The app will use the ExoPlayer library for video playback.
Video files will be in a custom format (e.g., .qvid) and are encrypted with AES-256.
The app must decrypt the video files on-the-fly (in memory) and stream the decrypted data to ExoPlayer.
The decrypted video must NEVER be saved to the device storage.
PhET Simulation Viewer:
The app will include an Android WebView component.
When a user selects a simulation, the app will load the corresponding local index.html file from the USB drive into the WebView.
Copy Protection (USB Serial Number Binding):
This is a critical security feature for our MVP.
The app must be able to read the hardware serial number of the physical USB drive.
It will compare this physical serial number to a serial number stored in a license.json file located in the /QALAM/ folder on the USB.
If the serial numbers do not match, the app must display an error message and refuse to play any content.
What We Will Provide:
A complete folder structure with sample content (encrypted videos, PhET sims, license file).
The secret AES-256 key/password required for decryption.
Clear UI wireframes and mockups for all screens.
The Qalam project logo and branding assets.
Developer Requirements:
Proven experience developing Android applications in Java or Kotlin.
Demonstrable experience with building or porting apps for Android TV, with a strong understanding of D-Pad navigation and TV-specific UI/UX.
Experience with ExoPlayer for video playback and WebView for HTML content.
Familiarity with implementing standard cryptographic libraries for AES decryption.
Excellent communication skills and ability to work independently to meet a tight deadline.
Deliverables:
The final, signed, and production-ready Android TV app (QalamPlayer.apk).
The complete, well-commented source code for the project.
To Apply:
Please submit your proposal with the following:
A brief introduction of yourself and your experience.
Links to at least 1-2 Android TV applications you have developed that are live on an app store or demonstrable.
Your estimated fixed-price quote for this project.
Your estimated time to complete the project.
We are on a tight schedule and looking to hire a qualified developer immediately. We look forward to seeing your proposals!