
Venture Design
Design and Development - 2023

Building a complex-questionnaire platform from scratch that lets brands collect structured data in the field at scale, with full control over a fleet of devices.

We partnered with SmartData Belgrade, a company specialized in data collection and processing solutions, to build SmartQuestionnaire: a platform for FMCG (fast-moving consumer goods) brands that systematically gather brand data in the field. Surveyors at points of sale complete structured questionnaires on mobile devices, while the platform gives the brand full control over the device fleet, its locations, media, database, and synchronisation. The mobile application works fully offline and reliably syncs responses the moment a network connection returns — with no data loss and no duplicates.
Our role:
Tools used:
The platform is a TypeScript monorepo (pnpm + Turborepo) with three applications and one shared type package. A key architectural decision was `@smartq/shared`: enums, DTOs, and domain types are defined once and imported into the backend and both frontends, so the compiler guarantees that client and server always stay in sync. The backend is a modular NestJS service (18 modules) with data isolated per organization (multi-tenant) and a versioned REST API featuring global validation, structured logging, and correlation IDs. At the infrastructure level, the system runs on a k3s cluster behind an HA network with HAProxy and three edge/ingress nodes, distributing traffic from a large number of devices evenly and keeping the system available even when a single node fails. Access to the server and internal services is secured over a private Tailscale network.

rands needed a way to systematically collect high-quality brand data from a large number of points of sale and devices — a task that combines several hard problems at once. Questionnaires are complex and branch based on answers, with photos and video attached. Surveyors often work without a network connection, so data must be cached locally and synchronized later without loss and without duplicates. The biggest engineering challenge was deployment and scaling: providing stable, reliable access for a large number of devices that simultaneously pull synchronization and send metrics — all with full operational control and security.
We built a single platform around a visual questionnaire editor, where branching is modeled as a graph with validation of invalid routes, paired with an offline-first mobile app whose synchronization is idempotent — a mutex and a unique index on `clientSubmissionId` at the database level guarantee there are no duplicates even under repeated syncs. The admin panel provides full operational control over the fleet: device locations on a map, remote commands (force-sync, pulling responses, logs), media, and database. To withstand scale, the system was deployed on a k3s cluster behind an HA network with HAProxy and three edge/ingress nodes, containerized and securely networked over Tailscale. Security is production-grade: JWT with refresh tokens, MFA/TOTP, RBAC with five roles, CSRF protection, and rate-limiting.


A complete, production-ready system built from scratch and running at real scale. SmartData Belgrade now operates on infrastructure that has proven itself under load:
If you need a reliable European development partner for SaaS delivery, team extension or digital product development, NovaDev can help you turn technical capacity into measurable business progress.
Let's talk about your needs.
Design and Development - 2023

Design and Development - 2026

Design and Development - 2023

Design and Development - 2024
Let’s turn your idea into a product people love to use — book a quick call and we’ll map the fastest path to launch.