Team Oodi’s mission is to determine how our customers use their media assets across the platform and make those workflows as smooth as possible. The team owns the asset library that our customers use to organize their media assets, like photos, videos, fonts and sound. “As advertising is becoming more visual, we’re playing a crucial role in building the backbone of Smartly.io’s creative tools,” says Hugo, the team lead to Oodi.
Apart from offering asset management for end users, Oodi provides its fellow development teams with components for accessing the asset library, as well as an internal asset management service. Oodi worked recently with team Senators to integrate the asset library component into campaign creation, allowing customers to search for and add assets to their ads. Next, it will buddy up with team Bobby Tables to enable customers to analyze assets in the actionable insights tool. “It’s almost like we have our own library that other teams can use,” Hugo says.
“This is why we need to be extra mindful to produce well-written and documented code,” Hugo says. “If Oodi’s code isn’t clean, other teams can’t use our service safely without the risk of breaking other components elsewhere in the product. And if those components fail, customers can’t create their campaigns. So we have a very central role in securing the stability of our platform.”
Oodi recently finished a big and hairy rewrite project, where they extracted the asset management functionality from the monolithic code base into its own microservice. “It was a real chore, but now we get to enjoy the fruits of our labor,” Hugo says. “We get to work with a modern stack and a clean codebase with very few bugs.” The assets are stored in AWS S3 managed by a Ruby on Rails microservice using PostgreSQL and Redis as data storage. The user interfaces for working with assets are built as a micro frontend with React, Redux, Styled Components, Jest and TypeScript.
At the moment, Oodi focuses on building functionality for tagging assets. Tagging allows customers to organize and search for assets more efficiently. In the future, they will also be able to analyze asset content and performance in the reporting tool. “In the future we hope to also automate tagging with AI,” Hugo says. After the tagging project is done and dusted, team Oodi will reconsider its focus. “It will be exciting to explore new projects and plan our roadmap further,” Hugo says. “The team will have a say in what projects we’ll focus on in the future.”
Team Oodi has been aptly named after the new Helsinki Central Library that neighbors our office. Hugo and his teammates Julius, Jere, Luís, Eelis, Wesley and Kirill have created a strong team identity and a sense of community. They also work closely with their product manager Maria and product designer Mala. “We have a culture of helping each other,” Hugo says. “We like to do a lot of pair programming, and those who are more familiar with some parts of our stack help others learn. We have also been planning to start our own mini library, where teammates can bring books for others to read and learn from.”
Oodi is currently looking for a fullstack engineer who would be on the more senior side and have experience in building robust and scalable web backends with Rails or other modern technologies. “Fluency with current front-end development technologies like React and TypeScript would be good, too,” Hugo says. “We don’t expect everyone to master all the technologies we use, though. It’s more important to have a self-starting attitude and to be able to orient yourself on the backlog on your own. Good communications skills are a bonus, we’re a pretty talkative team.”
Learn more about how developers work at Smartly.io.