The verdict in three sentences
A real-time customer dashboard for an IoT company costs around EUR 30,000 to 90,000 excluding VAT in the Dutch market (2026 estimate), for 12 to 20 weeks of development depending on data volume and alerting depth. The decision that weighs most on both build and hosting is the time-series database: between 10,000 and 500,000 readings a day, a standard relational setup saturates within months. Done well, the portal becomes a sellable product: charged at EUR 30 to 80 per client per month, it pays back in 10 to 18 months.
What the portal contains, module by module
Clients of a sensor company (industrial sites, buildings, municipalities, port operators) expect three things: see the state of their equipment now, understand history, and be warned before failure. The hard part is rarely the display, it is the full chain from sensor to screen.
| Module | Scope | Share of budget (2026 estimate) | Indicative timeline |
|---|---|---|---|
| Ingestion | MQTT or HTTP, message queue, validation, outlier rejection | 15 to 20 % | 3 to 4 weeks |
| Time-series storage | TimescaleDB, InfluxDB or ClickHouse, hourly and daily aggregates | 10 to 15 % | 2 to 3 weeks |
| Dashboards | Fleet view, site view, zoomable charts, maps, CSV export | 20 to 25 % | 4 to 5 weeks |
| Alerts | Thresholds, missing data, email, SMS, acknowledgement | 12 to 15 % | 2 to 3 weeks |
| Multi-tenant and permissions | Data isolation, roles, sub-accounts, SSO | 12 to 15 % | 2 to 3 weeks |
| Reports | Automatic monthly PDFs, availability KPIs | 8 to 10 % | 2 weeks |
| Client API | Data access for clients' BMS and ERP | 8 to 10 % | 2 weeks |
A first release with ingestion, dashboards and email alerts can ship in 10 to 12 weeks. Reports, API and SSO come in a second batch.
Data volume: what changes cost and hosting
Readings per day determine the architecture, hence the build and the monthly bill. Here are 2026 estimates for hosting in the Netherlands or elsewhere in the EU.
| Volume | Readings per year | Typical architecture | Monthly hosting (estimate) | Build range |
|---|---|---|---|---|
| 10,000 per day | 3.6 million | PostgreSQL and TimescaleDB on one server | EUR 80 to 200 | EUR 30,000 to 45,000 |
| 50,000 per day | 18 million | TimescaleDB with compression | EUR 150 to 400 | EUR 40,000 to 55,000 |
| 150,000 per day | 55 million | TimescaleDB or InfluxDB, message queue | EUR 300 to 700 | EUR 50,000 to 70,000 |
| 500,000 per day | 182 million | ClickHouse or TimescaleDB cluster, replication | EUR 600 to 1,500 | EUR 65,000 to 90,000 |
| SMS alerts | 500 to 5,000 SMS per month | European SMS provider | EUR 30 to 400 | Included in alerts module |
Time-series compression often cuts disk usage by 10 to 20 times. Retention policy matters too: keeping raw data for 90 days and aggregates for 5 years sharply reduces costs.
For comparison, Kolonell's grid places this type of project in the complex application tier, 7,000,000 to 15,000,000 FCFA (10,670 to 22,870 EUR), with maintenance at 35,000, 75,000 or 120,000 FCFA per month depending on the level.
Classic pitfalls
The first pitfall is poorly defined real time: refreshing every 10 seconds covers 95 % of industrial use cases, while a true per-second WebSocket stream costs 2 to 3 times more in infrastructure. The second is the alert that cries wolf: without hysteresis or a confirmation delay, an unstable sensor sends 50 SMS a night and the client mutes notifications. The third is tenant isolation: a filtering bug that shows one client's data to another is a serious incident and a GDPR breach, to be covered by automated tests from day one.
Mini case study
Illustrative example: Daan, CEO of a vibration sensor startup in Amsterdam, serves 120 industrial clients with 3,000 sensors, about 150,000 readings a day. Today clients receive a weekly Excel export and his team spends 2 days a week answering data requests.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
- Chosen build: EUR 60,000, hosting EUR 500 a month.
- Portal option sold at EUR 49 per client per month, adopted by 70 % of clients: 84 clients, i.e. EUR 4,116 a month.
- Support time freed: 1.5 days a week, about 6 days a month valued at EUR 450, i.e. EUR 2,700 a month.
Net monthly gain of about EUR 6,300: the project pays back in just under 10 months, before counting the effect on contract renewal rates.
FAQ
Can we use Grafana instead of custom development?
Yes for internal use, much less for a client portal: multi-tenant isolation, branding and fine-grained permissions require heavy configuration. Grafana works up to 10 to 20 clients; beyond that, custom is simpler to run.
Where should European client data be hosted?
In the EU, ideally in the Netherlands for public sector or sensitive clients. Dutch or EU cloud regions cost within the ranges in the table above.
How much does an SMS alert cost?
As a 2026 estimate, EUR 0.05 to 0.09 per SMS in the Netherlands. For 2,000 SMS a month, budget EUR 100 to 180.
Do we need a mobile app?
Rarely at first: a responsive site with web push notifications covers most needs. A native app adds EUR 15,000 to 30,000.
How should we charge clients for the portal?
The most common approach is EUR 30 to 80 per site per month, or bundling it into the service contract price. Designing billing in from the start avoids a second project.
Let's scope your project. Tell us your sensor count, reading frequency and expected alert types to get a recommended architecture, a phased plan and a schedule. Detailed quote within 48 h via our free quote page. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.