CASE STUDY

Cloud native MVP for a Portuguese startup

Share

Client

Repete.pt

Industry

Recycling

Country

Poland

TECHNOLOGY

Vue.js, Node.js, AWS (DynamoDB, S3, Lambda, SES, API Gateway, Cognito, CloudFormation)

About the Client

Repete is a newly founded Portuguese startup with the goal of eliminating take-away packages.
They have designed a unique and durable container system that can be tracked and reused multiple times to store various goods, reducing pollution and plastic production.

The Challenge

Their containers needed to be managed by both customers and stores.
Additionally, the application had to scale to fluctuating online traffic, which peaked during the afternoon but was almost negligible at night. This scalability would also future-proof the system, eliminating the need for further redesigns as the number of users grew.
A serverless design was preferred to reduce infrastructure costs.

Since it wasn’t yet known which devices would dominate among users, a consistent interface was required, ensuring a uniform experience across all devices.

Users also needed to authenticate with a new password at each login to enhance account security.

Goal

To deliver:

  • A fully serverless application that dynamically scales with traffic
  • A UI optimized for various devices, though not fully responsive
  • One-time code-based authentication

Technology stack

Vue.js, Node.js, AWS (DynamoDB, S3, Lambda, SES, API Gateway, Cognito, CloudFormation)

Process

We began with a functional requirements analysis to define the API, which served as the primary means of programmatic interaction with the application.
Once this phase was complete, we proceeded with the UI implementation, providing the visual interface for user interaction.

Each independent user flow was placed into a dedicated view, while related ones were grouped together.
By wrapping the application in a window resembling a mobile view, we ensured a consistent UI layout across all devices and enabled easy layout testing whenever the client requested changes, without significant overhead.
Ultimately, mobile users were the app’s primary audience.

After completing the UI, we moved on to backend development.

By using AWS Lambda, we implemented the core execution unit of a serverless architecture—the Lambda function. API Gateway allowed us to organize functions by their main entities, maintain multiple API versions, and manage deployment stages.

Cognito handled user pool management and authentication. A slight adjustment to its webhooks enabled one-time code verification without requiring additional services, preserving security while minimizing complexity.
SES was used to send email notifications for important events.

The real challenge came with designing the DynamoDB data model.
We used DynamoDB to minimize maintenance costs and leverage the scalability of a document database.

Typical relational databases use associations, where an attribute in one table references another table, allowing for correlated data retrieval in a single operation. However, this approach often results in slower queries.
In document-based databases, the approach differs significantly.

Data retrieval is nearly instantaneous (thanks to partition keys uniquely identifying each document), but structuring the data efficiently often requires splitting records into multiple structures and denormalizing them to enable flexible querying.

By structuring tables to store behaviors rather than entities, we minimized denormalization, achieving both high performance and maintainability.

CloudFormation automated code deployment and infrastructure configuration, ensuring system cohesion.

Result

A mobile-friendly web application with an attractive UI, operating costs under $5/month, and the ability to handle over 10,000 concurrent users.

Daniel is very good at understanding the underlining processes of a business, and someone with a sharp understanding of software engineering. This allows for smooth communication and above average results, even facing lots of green field.

He helped us build app.repete.pt, a software that aims to remove friction from businesses using reusable packaging.

Luís Domingos
Co-founder of Repete.pt

Let's create something innovative together!

Book a free consultation now and see how we can help you.