Software Development Consultant
Location | Morogoro, Tanzania, United Republic of |
Date Posted | October 20, 2023 |
Category | Consultancy IT / Information Technology Software Development |
Job Type | Full-time |
Currency | TZS |
Description
UBONGO is Africa's leading producer of kids' edutainment. As a non-profit social enterprise, we create fun, localised, and multi-platform educational content that helps kids learn, and leverage their learning to change their lives. Ubongo reaches over 27 million kids across Africa through accessible technologies like TV, radio, and mobile phones. Our show’s Ubongo Kids and Akili and Me currently air in 23 countries across Africa in multiple languages.
- POSITION OBJECTIVE
We are looking for a team of software engineers to build Ubongo's Adaptation System (Internal Tool). Working with Ubongo will excite you with plenty of fun, and give you the opportunity to impact the lives of millions of kids.
Setting the Scene/ Context for the Work
Adaptation at Ubongo
Ubongo launches its shows in English and Kiswahili. Then the Adaptation team works to localise and adapt all this content into different African languages. We are currently broadcasting in 12 African languages excluding English and Kiswahili and we are looking to add 3 new languages by the end of this year. To do this, we partner with translators, reviewers and dubbing studios across the continent.
The adaptation process involves creation of dubbing packages for new and existing seasons, contracting our partners, conducting kick off workshops with our partners, translation and review of the original scripts, conducting voice actor auditions, dubbing the content, quality check, review and approval of the dubbed content, reanimation and compilation of the dubbed content and lastly distribution of this content to broadcasters and last mile. Our goal is to streamline all these processes with the creation of the Adaptation System.
Ubongo Digital Team
Ubongo has a small team of digital professionals who work to set and implement a strategy focused on maximising the engagement of kids in quality digital educational products. Our product team includes skills like strategy, project management, design and some technical capacity (in software engineering and app development). We have a clear vision for what we want to achieve and we are full of ambitious ideas for how to achieve it. As a small team, what we are lacking is the person-power to bring these ideas to reality, and that is where you come in…
We have software engineers on our team who will be supporting you on this project. They have developed a framework for how they build software products, and use an array of tools including Flutter, Github and AWS to do their work. If you take this assignment, you will be expected to work in alignment with our software engineers.
The Adaptation Digital Tool
The Adaptation Digital Tool will be an online internal tool that will enable Ubongoers (and our partners) to collaborate on adapting Ubongo's video, audio and text-based content into multiple languages simultaneously.
Ubongoers will also use the system to repackage content for delivery to different digital platforms such as YouTube, Instagram, Broadcast media etc. The system will feed into a broadcast delivery system that streamlines how we deliver content to broadcasters and to digital delivery platforms.
The core elements of the systems are the following:
- Browse through Ubongo's range of clean content
We store our content on AWS in buckets in S3 storage. The system should have access to the content stored in particular buckets and enable users to easily browse for the resources they need. - Manipulate video, text and audio content
Once the resources have been located, users will be able to manipulate them in order to adapt them into new languages or repackage them for new modes of delivery. Examples of manipulation include (but are not limited to): stitching video clips together, overlaying images on top of videos, editing text files, (like scripts) in real time, selecting different audio tracks (languages) and editing sound files. - Enable collaborative workflows with multiple team members
Adaptation and Digital repackaging are collaborative processes, requiring input from multiple people. The system should support multiple users, with different roles and permissions, to collaborate on shared projects. It will do this by enabling profile creation, providing status updates to users involved in a shared project, enabling users to assign tasks to each other and more.The system should also enable users to collaborate in real time, for instance editing the same text, audio or video file simultaneously.
- Facilitate delivery of content to partners and products
Finally, the content that has been manipulated using the Adaptation system should be made accessible to broadcast partners and digital delivery platforms. This will be done with a varied approach including using API's to automate content delivery, alerting broadcasters to newly-available content, and integrating to Ubongo's existing content delivery systems.
For more detail on the features that the system requires, please refer to the product backlog: https://docs.google.com/spreadsheets/d/1SVroaBcLCmIFMie00ANcA-FaqNRyfvuOJcBkkzZrRm0/edit#gid=0
2. EXPECTED DELIVERABLES AND ACTIVITIES:
- Deliverable 1 - Minimum Viable Product (MVP) of the Adaptation Digital Tool
- Work with Ubongo team to comprehensively define the Product Profile
- Define the scope of the MVP
- Create a wireframe for the MVP
- Build the MVP and share with Ubongo team for testing
Note: The MVP should be built with the ability to scale after successful testing
- Deliverable 2 - Full "production" version of the Adaptation/Digital System
- Incorporate feedback from the testing of the MVP
- Refine the Product Backlog sheet and prioritise the key features
- Build the Full Production version as per the Product Backlog
- Deliverable 3 - Release files + continual support
- Production ready files to be deployed to respective stores
- Willingness to support the app (on respective stores) for not less than 1 month after the release.
Technical Requirements
- Reactive programming to make sure changes are propagated to all clients connected to the web application at that time (Socket programming preferred).
- User management modules with scalable and security first design
- Multimedia processing engines (Video + Audio), AWS multimedia services and custom design are preferred.
- Speech to text / text processors are highly encouraged for subtitle bootstrapping.
- Performance optimization for both engines running the application and limited resource first design.
- In-app rich notification to make sure users are notified when new changes are applied to their resources
- Robust mailing service and micro-services for notifications and verification purposes
- Simple and intuitive user interface with adaptive capabilities on both bigger and small screens since some tasks are meant to be accomplished on the go.
- Better user experience on both navigation, action-direct and feedbacking.