⚙️ System architecture

Built to be solid

dama runs reliably on Kubernetes. Change your phone or share with your family — everyone's screen stays identical, in real time.

The architecture at a glance

Each role runs separately on top of container orchestration (Kubernetes)

iOS app SwiftUI · users
Android release TBD
Kubernetes cluster
Application

Web

Product info and policies (the site you are on)

Next.js · React

Backend

The core server behind the API, auth and real-time sync

Kotlin · Spring WebFlux
Data

MySQL

Source of truth for fridges, items and diaries

Relational DB

Redis

Keeping sign-in safe and shielding the service

In-memory

ElasticSearch

Fast lookup across items and diaries

Search engine
External services the backend talks to
Social login Google · Apple
AI vision photo → items

Design principles

Separated by role

Web, server, data and search are split by role, so each part can be run and improved on its own.

Real-time sync

When someone puts something in or takes it out, it lands on everyone's screen at once (server push stream).

Zero-downtime deploys

We deploy and roll back declaratively with GitOps, so every change is safe and traceable.

Privacy first

Photos used for analysis are deleted immediately and never kept on our servers.

We improve with data

We decide what comes next from real usage, not gut feeling

Behaviour analytics

We measure which screens and features get used anonymously, so what we polish and what we build next is decided by data.

Live dashboards

We watch flows, dwell time and return visits on live dashboards, and improve the product quickly.