When this project started, Rednote was basically a graphic simulation of how the messaging platform should work one day. The idea behind it was simple and intriguing – we were to design, develop, test and launch a mobile app where users could communicate through images, videos and sounds called “Rednotes.”
The real challenge that our engineers faced was choosing the right video format and size as well as an automated way of generating thousands of Rednotes automatically, with minimal user input and across different platforms.
We had worked with the Rednote creators before, so it took us only a few meetings to start designing and developing the app. We kicked the project off by outlining short, mid- and long-term requirements, bearing in mind that they all might change. This turned out to be the right approach. The flexibility helped us deal with last-minute changes made to the app’s tech specs, design or both.
When evaluating the project’s requirements, the only format that could deliver the desired outcome was MP4. Having started with this, the tech stack we created for Rednote was able to take a full-length song, cut it into small pieces and assign an image, a sound or even a video to it, creating a “Rednote” that was immediately available in the mobile app.
The client had an agreement with Sony. They needed to download all the songs available and then be able to report on their usage. To deal with this issue, we implemented a DDEX standard, which allows us to share music content. This process had multiple phases, during which we included data ingestion and reporting.
The app progressed and changed rapidly during the development process. New requirements came in on a weekly basis, and user testing proved that some things needed polishing. Since we had a dedicated team to work on Rednote, it usually only took us one or two days to research and experiment before delivering an answer.
Engineers' Point of View
We used FFMPEG for encoding video as well as audio and image manipulation. Firebase was used for real-time communication between workers and queues. We also introduced animated WebP files to make sure the user experience is as smooth as it should be when using larger GIFs files.
Here's a rundown of the technologies we used:
- Backend: Node.js
- Frontend: React.js
- iOS: Swift
- Deployment: Heroku and Amazon Web Services
- Continuous Integration: git and github
- Database: MongoDb
- Real-time Database and Queue: Firebase
Once we understood how the app should work, the potential user base and what business purpose it would serve, we set up the tech stack. This involved the development of production-ready backend APIs that covered the consumer app (iOS) and the admin interface, where Rednote’s content team can manage the songs, videos and lyrics presented to the end user.
The architecture also involved buckets for storing and managing binary files such as images, audio, video, etc. which were a big part of the overall development experience. The metadata of the files, users and all the content was stored in a document database.
We introduced workers running 24/7 to maintain data synchronization and handle CPU intensive tasks in real-time. All of the architecture mentioned above is running on Amazon Web Services.
In addition to all this, we used Mixpanel for handling push notifications to end users and custom analytics.
Resources and workflow
STRV took over the whole Rednote development operation. We had Android, iOS, backend and frontend engineers as well as one designer, working together on one-week sprints.
Since we were leveraging the agile software development methodology, we had daily five-minute standups, where we quickly synced on what needed to be done that day and where the project was headed as a whole.
Weekly calls and in-person meetings with the client helped us to understand their idea and passion behind the project and helped them to understand the way we worked and moved the project forward.
All this allowed us to deliver a new build of the app on a weekly basis, which was what the client appreciated most in the end.
- 7Engineers and designers
- 327Daily standups and counting
- 71Weekly calls and counting
- 64Application builds
Our Relationship with Rednote
We believe it is paramount for the development team to be involved in a project’s specifications and life cycle from the very beginning. Thanks to our long-term relationship with Rednote, we were able to achieve just that.
Both the Rednote and STRV teams were involved in the entire process together and equally. Giving freedom to the engineers, having an open-door policy and encouraging all the people involved to express their opinions on the project meant that ideas were flowing freely, allowing many of our ideas, suggestions and changes to be incorporated into the final version of the app.