Projects
Reference project · Software development & operations

Adyoutiser

As development partner: booking and management interface, backend services, data layer and operation of the platform.

  • A direct line to your engineer
  • Operation including hardware replacement
  • Planned and built for your business
Adyoutiser
The short answer

Who developed the Adyoutiser platform and what does it do?

The Adyoutiser platform is a web application for booking digital advertising space in public places (digital out of home, DOOH), managing campaigns and retrieving reporting in real time. It was developed by NDVDL, an IT company based in Bratislava with clients in Austria and Slovakia: the booking and management interface in Next.js, the backend services for booking, campaign management and analytics in Go, and the data layer for campaigns and bookings in PostgreSQL all come from NDVDL. The entire platform runs on AWS, operated by NDVDL as well. A single application therefore covers the path from booking a screen to evaluating a campaign — with NDVDL as the development partner and Adyoutiser as the independent product.

What Adyoutiser is

Adyoutiser is a platform for digital out of home advertising — advertising on digital screens in public space. Advertisers use it to book screen time, upload their creatives and decide where and when they run. What normally runs through quotes, email threads and hand-kept booking sheets happens in a single interface instead.

The platform holds three things together at once: the available screens with their locations and time slots, the campaigns with creatives and run times, and the reporting that shows what a running campaign has achieved so far. Booking is the critical part — a screen can only be allocated once for a given period, even when several bookings arrive at the same time.

NDVDL is the development partner behind that platform. The booking and management interface, the backend services, the data layer and the operation on AWS come from us. Adyoutiser is an independent product with its own business; we are responsible for the technology behind it — from the first line of code to running it in production.

Starting point

Adyoutiser needed a platform for booking digital advertising space (DOOH), managing campaigns and evaluating results in real time. NDVDL is the development partner behind it: software, infrastructure and operations sit with us.

Project scope

What we did

Web platform with Next.js

Building the booking and management interface with Next.js.

Backend services in Go

Backend for booking, campaign management and analytics in Go.

Data storage with PostgreSQL

Structured data storage for campaigns and bookings with PostgreSQL.

Operated on AWS

Hosting and operating the entire platform on AWS.

The technical details are project-specific — we're happy to walk through the exact implementation in person.

How it works

From analysis to day-to-day operation

No off-the-shelf project — a clear path to IT you can rely on.

  1. 01

    Initial Consultation & Analysis

    We take a look at your IT — free of charge and with no obligation. You get an honest assessment: what's good, what's missing, what's risky.

  2. 02

    Concept & Offer

    You receive a concept tailored precisely to your business — explained in plain language, without jargon and without hidden line items.

  3. 03

    Implementation

    We build your infrastructure — cleanly documented and with minimal disruption to your day-to-day operations.

  4. 04

    Operation & Full Service

    After installation is when we really get started: monitoring, maintenance, optimization — and hardware replacement when something fails, if you want it.

The technical stack

Next.js

Powers the booking and management interface.

Next.js combines server-side rendering with React components, which matters for an interface with many dynamic states — availability, campaign status, live results. Server components can prepare data-heavy views on the server while only the interactive parts run in the browser, keeping the interface responsive.

Go

Runs the backend services for booking, campaign management, and analytics.

Go is built for concurrent workloads: goroutines let the backend handle many simultaneous booking requests and analytics queries without heavy resource overhead. For a booking system where multiple users access the same slots at the same time, that concurrency model is a direct advantage over languages where parallelism is more expensive.

PostgreSQL

Stores campaign and booking data in a structured, consistent form.

A screen can only be booked once for a given time slot — that requires transactions that stay consistent even when several bookings arrive at once, rather than allowing overlaps to slip through. PostgreSQL provides ACID transactions and referential integrity, which fit a relational model of screens, time slots, and campaigns.

AWS

Hosts and operates the entire platform.

Running a booking platform with real-time reporting brings the usual operational demands: availability, handling traffic spikes, and monitoring each service. AWS supplies the building blocks — compute, managed database infrastructure, networking, and monitoring — that fit together for production operation under one provider.

What makes a DOOH booking system technically demanding

Digital advertising space is a limited, time-bound resource: a screen can only be assigned to one campaign for a given period. A booking system therefore has to check, on every new booking, whether the requested time slot overlaps with an existing booking for the same screen — reliably, even when several bookings arrive at the same moment. That is exactly what relational databases with transaction guarantees are built for: they prevent two simultaneous writes from double-booking the same screen.

The second requirement is real-time reporting: campaign results need to be available continuously, not the next day. That calls for a backend architecture that separates booking, campaign, and analytics logic while still working from the same consistent data — and that doesn't slow down as the number of campaigns and screens grows. Concurrency on the backend and an operating environment that can absorb traffic spikes aren't incidental here; they're a baseline requirement for a usable platform.

Technical questions about this project

DOOH stands for Digital Out of Home and refers to digital advertising screens in public spaces — for example, displays at locations with foot traffic. Unlike traditional printed posters, content on DOOH screens can be controlled centrally, scheduled in advance, and swapped per campaign, which is why software for managing bookings and content is needed in the first place.

Because bookings have to be mutually exclusive: a screen can't be assigned to two campaigns for the same time slot. Relational databases like PostgreSQL provide transactions that guarantee exactly that, even when several booking requests arrive at the same time — which is why campaign and booking data use a relational rather than a document-based model.

Go's goroutines give it a lightweight concurrency model built for backend services handling many parallel requests — such as simultaneous booking and analytics queries. It also compiles to a single, efficient binary, which simplifies operating each service.

It means hosting, scaling, and monitoring for the whole application — frontend, backend services, and database — run on AWS infrastructure. That covers things like handling traffic spikes, network security, and ongoing monitoring of each service in production.

NDVDL. We are the development partner behind the platform: the interface, the backend services, the data layer and the operation on AWS come from us. Adyoutiser remains an independent product — NDVDL is responsible for the technology and its ongoing development, not for selling the advertising space.

Yes. Bringing booking, management and reporting into one application is not specific to DOOH — the same problem appears wherever resources, appointments or spaces are allocated. It starts with a free first conversation in which we look at how you handle things today; from that comes a concept with a clear scope, before a single line of code is written.

For us, going live is not the end of the project. What follows is operating and monitoring the services, rolling out updates and developing the platform further along what real usage shows. With Adyoutiser exactly that part — operations on AWS and ongoing development — stays with NDVDL.

Question not covered here?

Call us or send an email. You speak directly to an engineer — even if it never turns into a project.

Services this project demonstrates

For your business too: infrastructure that just works

Let's talk about your situation — no obligation, free of charge.