The process of developing, launching and scaling products for brands as big as Unilever requires the right infrastructure. Providing the very best end-user experience for enterprise-level clients is the only option.
That’s exactly what generous.studio
does. The tight-knit creative agency offers services spanning from branding, UX, design, 3D and motion graphics all the way to online platform and mobile app development.
“We always have multiple projects going on,” Tech Director and Partner Guido Mallee explains.
Project maintenance at generous.studio covers both ongoing and new development — with a small team and tight deadlines.
Guido, therefore, knew what it was going to take to make the project with Unilever a success. The right products, tools and solutions need to fit seamlessly with current integrations — without exceptions.
About the company
generous.studio at a glance
🎨 Creative agency founded in 2014 with offices in Amsterdam, Lisbon, and Austin
👥 Tight-knit, multidisciplinary digital design and app development team
📹 Specializations range from video and motion graphics to e-commerce solutions
🤝 Collaboration-based philosophy; highly focused on context, process and impact
🤔 Complexity and scale are no obstacle: generous.studio journeys with clients from beginning to end
Meeting generous.studio’s tough challenges
Generous.studio is typically juggling a diverse set of projects and clients. From building out additional features on current projects to first delivery on brand new ones — based on a minimum viable product (MVP) approach — each task has its own tight deadline.
“We need to be able to quickly scaffold new projects and also deliver projects, often on a very short timeline,” Guido says.
Doing this effectively for new and
current clients means making the right decisions, architecture-based and otherwise.
Different clients may have different application requirements. For new projects, Guido explains, “we always look at the goal of the project.” Who is the product end user and how will they use it? From there, the generous.studio team decides on scalability for the project and what technical stack to use in pursuit of their objective.
For the Unilever project, “we were asked to build an app in order to help soon-to-be parents choose a name for their newborn, with a concept very similar to Tinder,” Guido says. The app presents users with a deck of cards. Each card contains a name, origin and meaning which partners can swipe right or left on together.
Starting out, user numbers were unclear. In order to future-proof the product, the team had to ensure the architecture could:
- Scale accordingly based on the number of actual users
- Be deployed hassle-free
- Handle large, storable and queryable data sets (the app would store 40,000 baby names)
generous.studio prefers a serverless platform and architecture, favoring Vercel
with AWS-based infrastructure and an API gateway. This setup is key in delivering for demanding clients.
Prior to choosing Fauna as a database solution, generous.studio already had almost all their architecture in place — it was simply a case of finding the right serverless, scalable fit.
Initially, Firestore was the data storage solution of choice for generous.studio. But they needed additional capabilities, such as document-relational functions.
“We assessed several options, such as MongoDB, DynamoDB, MySQL and PostgreSQL,” Guido says. Unfortunately, each one either lacked a document-relational nature or turned out not to be serverless and scalable.
Without this core functionality, Guido and his team seemed to have hit a snag.
Fauna hits the mark
None of the databases generous.studio’s team assessed met their requirements — until they found Fauna.
“Fauna checked all the boxes,” Guido explains. “It was scalable, serverless and document-relational. … We absolutely loved it from the beginning. We used it for the Unilever project, and since then, we've adopted it for many of our projects.”
Fauna is unique. Other databases might offer serverless architecture or document-relational natures, but rarely — if ever — do they co-exist in a single solution. With Fauna, you get data and document storage as well as relations. “With traditional databases, it's really either one or the other,” Guido says.
Guido also found that the Fauna support team was on hand whenever they needed help — especially when it came to questions on structuring and querying data. “We went with their advice on several occasions,” he says. “It always turned out well, and we've been able to build exactly what we wanted to build
Favorite Fauna features
✅ Serverless, distributed nature
generous.studio utilized serverless architecture before landing on Fauna. This made the integration with the current setup practically seamless.
“We found Fauna to be a very good fit because it worked perfectly within the architecture that we had already designed,” Guido highlights.
Additionally, generous.studio leveraged Fauna’s region groups in order to store data from a client’s applicant tracking system (ATS) in either the U.S. or European zone. “We are incorporating a feature that makes it possible — when a job application is created in the system — for the user to define where the applicant data should be stored,” Guido explains.
✅ Scalability… with compatibility on top
Serverless architecture is one thing. But can it scale? “After we assessed several other databases, we went with Fauna and it worked out very, very well,” Guido explains.
For Guido and the team, one of the most appealing aspects of Fauna was that it worked in harmony with Vercel. “They work very well together because they're both serverless, scalable and very easy to set up,” he says. “We can even use Fauna for Vercel’s edge functions, which is just amazing.”
✅ Document-relational database
Firestore initially suited generous.studio’s data storage needs, but they soon found that it lacked relational data storage functionality.
“We needed to find a database that would fit into architecture that would be serverless and scalable but also supportive of relational data,” Guido says.
When generous.studio migrated to Fauna, its document-relational nature gave Guido’s team the best of both worlds. “We were still able to store unstructured data in any form we wanted, while on top of that being able to store actual relations between different types of data,” he explains.
For the Unilever project, they could fetch data in order to improve the project with future iterations.
✅ Indexing functionality
Guido’s favorite feature is Fauna’s indexing functionality. “Indexes basically force you as a developer to think beforehand about how you are going to store and also fetch data, rather than it being an afterthought when you implement the code,” he says.
In addition, Guido and his team relish Fauna’s capacity to combine data from different indexes when querying or fetching data. “It’s very powerful when you want to filter data sets based on input from a user,” he says.
Features that matter: Why generous.studio selected Fauna
Fauna customers benefit from attribute-based access control (ABAC) security, backup and restore, event streaming and data import for SQL users. Indexes proved a major asset for Guido and the team at generous.studio as well. They leveraged several other significant Fauna features:
✅ Scalability and compatibility
✅ Document-relational database functionality
✅ Indexing functionality
The bottom line: serverless, scalable, on-demand setup
Just because teams benefit from a specific solution doesn’t mean the solution can’t be improved. Server-based data storage might not be scalable. “They're not hosted for you,” Guido says. “There are add-on
solutions, but they're not part of the solution by design
Even serverless or document solutions might initially help move new projects along in their cycles, but finding something that hits both aspects is rare. Fauna’s formidable combination of data storage and document-relational features “really make it stand out,” Guido says.
“The first thing that comes to mind when thinking about Fauna is fun,” he highlights. “Being able to skip all the hassle of setting up a new database, spinning up instances, thinking about infrastructure, creating credentials, configuring those credentials in your app — not having to do that? For me, that is fun.”