Waku Waku

Mobile and web development of an IMDb-like app for anime enthusiasts
UI/UX design
Mobile app development
Web development
React Native
Laravel NextJS

Project idea

A popular anime blogger with a significant following recently approached our team. To monetize their blog, our client decided to create an online platform where anime enthusiasts can share their thoughts on movies and series, as well as discover new episodes to watch.

The client’s team plans to promote this platform via social media and engage with their existing blog audience to drive traffic and interaction.

Project idea

A popular anime blogger with a significant following recently approached our team. To monetize their blog, our client decided to create an online platform where anime enthusiasts can share their thoughts on movies and series, as well as discover new episodes to watch.

The client’s team plans to promote this platform via social media and engage with their existing blog audience to drive traffic and interaction.

Goal

Client’s goal

Our client has decided to attract users to the platform through gamification. Users can share reviews of films and series and engage in discussions. By participating in these activities, they earn Waku points, which can be used to level up their accounts. Those who earn the most points can compete for top spots on the leaderboard and become popular platform users.

The client wants to sell subscriptions. Users with a subscription will receive more Waku points and will be able to earn rewards within the app faster.

Our goals

Design and develop a mobile app for iOS and Android and establish an infrastructure capable of handling a high volume of users.

Additionally, we needed to replicate the entire functionality in a web application.

UI/UX design

Mind map

First of all, our team created a mind map where we listed all the app features and showed how the screens would be connected to each other. With the help of the mind map, we ensured no features were overlooked, all the team members were on the same page, and all users' needs were fulfilled.

Data model

Before moving on to creating a prototype and a full-fledged interface design, our designers thought through a data model. This application includes various entities such as users, movies, series, and reviews. Each entity is described with several characteristics and is connected to the others. The data model is a scheme that outlines these entities, their attributes, and their interconnections.

The data model serves as a crucial tool for both designers and developers, providing a clear understanding of how the future app will function. It significantly eases the handoff process from the UI/UX design stage to development. By visualizing the data flow across different parts of the app, it helps developers structure their code more effectively and bind data to UI components correctly.

Design concept

Waku Waku owners had only one design requirement for us — to create a dark and light mode of the interface — and provided us full freedom to experiment with branding and UI elements. Our design team has prepared a design concept to present our vision of the application’s UI and approve it with our client.

Color palette and typography

For this application, we chose a vivid pinkish-red shade as an accent color. We think it nicely complements the bright nature of this app and can be associated with Japan, the anime’s country of origin.

The interface displays a lot of text information. To make it easier to read, we chose a clear san-serif font that doesn’t make the interface look noisy.

Outfit

Prototype

We have also created a clickable prototype for the entire Waku Waku project in Figma. When creating it, we paid extra attention to non-standard flows and animations, such as the feature for swiping movies on the first screen.

Prototype brought several key benefits:

  • We agreed with the client on how the final product should feel
  • It would allow us to save resources on development since the prototype makes it easier for engineers to understand how the product should work
  • The prototype could be shown to investors to draw new funds

Branding elements

Apart from building interfaces, we usually help our clients with branding elements. We offered several variants for the platform logo, however our client wanted something that would be closer connected to Japanese culture.

We then presented our client with several other logo sketches. The client selected a logo designed to resemble the banners typically seen on Japanese streets, evoking the country's rich culture for users.

Creating comprehensive design documentation

During our time on the market, we have accomplished many design projects and established our design system. It’s a collection of UI elements ready to be customized for each design project. With its help, we can design interfaces faster.

Variables are one of the techniques we use in our design system. They are dynamic elements that can store values and be tied to different design components. For the Waku Waku project, we have created sets of variables for typefaces, spacing, roundings, paddings, and a color palette.

Let us explain how variables work using the example of a color palette. Each color is tied to the status like primary, secondary, background, or any other. When the color is changed in the table of variables, it’s automatically changed across all the design mockups. This was especially convenient for us when we created two color modes for the Waku Waku app.

We needed to design one mode and then implement variables to change the colors for another mode automatically. We usually add the table of variables to the design system to streamline the design and development processes.

As the design process goes on, we gather a UI kit. The UI kit is a set of all UI elements used in the interface mockup. We always hand the UI kit to the clients, so they can keep scaling the interface design and keep it consistent. This can be especially helpful when the client wants to keep working on the project with an in–house designer or other design contractor.

Development

We helped our client pick the tech stack that best suited the needs of this project. Together we decided to develop the mobile app with React Native so it could be launched on both iOS and Android from one shared codebase.

We used Laravel to engineer the backend part of this platform. Our team has vast experience in developing apps with Laravel. This technology provides engineers with tools that speed up the app development, make the app extra secure and scalable, and make it ready to accommodate many users at once.
For web development, we chose Next.js. This technology has built-in server-side rendering and static site generation capabilities that make Next.js applications SEO-friendly as search engine bots can crawl the app contents more efficiently. Among other advantages are features for image optimization, excellent customization options, and many others.
Third-party integrations
Data provider

Waku Waku platform displays a lot of information about anime movies and series, detailed information about episodes as well as stories of voice-over actors. To ensure accuracy, we integrated with AniList, which provides regularly updated anime databases. AniList's free API tier is both convenient and cost-effective. Before stopping with this variant, we changed several other information providers upon our client’s request.

Authentication

We used Auth0, a technology for enabling authentication with different methods. With its help, we allow users to sign in with email and password.

Email service

We integrated Mailgun into the app to handle email communication. This allows the platform owner to efficiently send verification emails during the registration process and provide secure password reset options for users.

SMS service

The client also required us to integrate the app with Twilio, an SMS service. With its help, the business owner is going to send verification codes to users and send them subscription reminders.

Handling large amounts of traffic

Community apps like Waku Waku usually have to deal with a large influx of users, that’s why they need robust infrastructure that can stand it. To solve this issue, we deployed infrastructure using the AWS cloud service provider.

Community apps like Waku Waku usually have to deal with a large influx of users, that’s why they need robust infrastructure that can stand it. To solve this issue, we deployed infrastructure using the AWS cloud service provider.

After that, we focused on deploying a production environment using a cloud-native approach. Within this approach, resources are dynamically allocated and adjusted automatically based on the current demand for resources in the app. Therefore, the application can operate smoothly even during a large influx of users.

During our work, we also used Kubernetes, which automatically manages and organizes our services, ensuring they run smoothly. Additionally, we utilized CloudSQL or RDS databases that can handle lots of users accessing the data simultaneously without breaking down.

Implementing an effective search mechanism

This platform offers detailed data about anime episodes, including genre, rating, release date, name, illustrator, and more. To help users easily find episodes using any of this information, we incorporated multiple filters into the interface and implemented them with Elasticsearch. This technology supports faceted and full-text search, enabling users to filter by various attributes, search using synonyms and word stems, and benefit from relevance scoring.

Creating storage for data about episodes, ratings, and reviews

To store all this data, we used the PostgreSQL database. To make sure the information is quickly accessible when users need it, we also used Redis to cache, or temporarily store, frequently accessed data. This way, the app can provide users with the information they search for faster.

Key platform features

Two types of users usually use IMDb-like services. One of them is searching for movies and series to watch, and others like writing comments and rating movies. When working with this platform, we made convenient functionality for both user groups.

Home screen

The main screen displays sections for top-rated anime, reviews, and themed episode compilations. This setup enhances navigation, allowing users to access any app section directly from the main screen.

At the top of the screen, there is a compilation of episodes provided by service owners. We designed it in the form of a card deck. Users can swipe banners in the compilations as if they were cards. This interactive feature makes the app more engaging and fun to use.

Movie screen

The movie screen presents detailed information about each anime episode. The number of likes, comments in the discussions, reviews, polls, and users who watch the episode are presented in the form of icons and reflect how popular the anime episode is.

To help users remember which episode of the season they stopped at, we added a reminder in the form of a selector. When a user taps on the chosen season, the division of the selector enlarges and shows the episode the user stopped at.

Search flow

The app displays a lot of information and entities, which is why we sought to make the search flow extra convenient. All the cool search features were implemented with Elasticsearch.

To search for required episodes, users can use a search bar. They can search for episodes not only by name but also by quotes and key events from episodes. This is especially useful for users who remember specific fragments but cannot recall the title.

The automatic error and typo correction system makes the search results more accurate. For instance, if a user enters a query with a mistake, the system suggests the correct option.

We added advanced filters for genres, actors, illustrators, directors, and release year, enabling users to find suitable movies or series more quickly.

More than that, users can use personalized recommendations that are created based on reviews they leave and discussions they participate in.

Watchlist

Users can save the movies and series they plan to watch on the watchlist. Each time they watch something new, they can update the information in the watchlist and see their progress on each saved item.

Reviews

Any user can write reviews and rate the episodes to express an independent opinion about a movie or series.

On the episode reviews screen, users can see how many positive and negative reviews have been left for an episode. Positive and negative reviews are highlighted in different colors for easier navigation.

Episode discussion

Users can discuss episodes with each other to earn in-app points. We provided the opportunity for users to create threads and comment on them, similar to Reddit.

Polls

Users can discuss episodes with each other to earn in-app points. We provided the opportunity for users to create threads and comment on them, similar to Reddit.

Gamification

When users write reviews, participate in discussions, and rate the series, they receive kudos Waku points.

The users who received the most Waku points and have the highest account level can compete with each other on the leaderboard.

Users who buy a subscription can earn Waku points and build up the level of their accounts faster.

The users who received the most Waku points and have the highest account level can compete with each other on the leaderboard.

Users who buy a subscription can earn Waku points and build up the level of their accounts faster.

The users who received the most Waku points and have the highest account level can compete with each other on the leaderboard.

Users who buy a subscription can earn Waku points and build up the level of their accounts faster.

Results

Our team has designed and developed mobile and web applications for the Waku Waku project within 5 months. Waku Waku is now a functioning application with a lively and active in-app community. The Waku Waku team was satisfied with the developed app.
Our team was happy to work with such a vivid and many-sided project and gain valuable experience for developing more community apps in the future.

Team

Project manager, tech lead, UI/UX designer, frontend developer, backend developer
Total project price

~$50,000

Total design and development time

22 weeks

Thanks
for watching!
This site uses cookies to store information on your device. Some are essential, while others help us enhance your experience by providing insights into how our website is used.
Necessary Cookies
Always Active
Enable core functionality like navigation and access to secure areas. The website may not function properly without these and can only be disabled through browser settings.
Analytics Cookies
Help us improve our website by collecting and reporting usage information.
This site uses cookies to store information on your device.