---
title: "Internet of Things"
canonical: https://wavect.io/services/internet-of-things/
language: en
description: "We build IoT solutions specializing in LoRaWAN infrastructure, sensor decoders/encoders, and smart city applications. Practical, results-driven IoT."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Internet of Things

# IoT Solutions

We specialize in LoRaWAN infrastructure and sensor integration for smart city and industrial IoT use cases. Practical, results-driven, not PoC forever.

- 75+ products shipped
- 10+ years experience
- No-Bullshit Guarantee

// 01

## What's our IoT specialization?

LoRaWAN Infrastructure

Full software-side LoRaWAN setup: app server configuration, MQTT brokering, gateway management, and sensor linking.

Decoders & Encoders

We decipher manufacturer manuals and write reliable data package decoders and encoders for your specific sensors. You can exercise the same workflow in our free [LoRaWAN payload codec tester](/tools/lorawan-payload-codec-tester/).

Data Pipelines

From raw sensor payloads to actionable dashboards: data storage, aggregation, and visualization built for scale.

// 02

## What are example IoT use cases?

Smart Traffic Management

Real-time monitoring and adaptive signal controls to optimize traffic flow.

Environmental Monitoring

Air quality, noise levels, and water management sensors across urban areas.

Connected Infrastructure

Predictive maintenance for roads, bridges, and public utilities.

Smart Lighting

Energy-efficient systems that adapt to movement and ambient conditions.

HOW WE DEVELOP SOFTWARE

## How we develop Software

Five phases. Fixed prices. No lock-in.

Phase 01

### Discovery Phase

Fixed price at 3.500€ [Buy now](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Requirements Engineering
- Software Architecture
- Milestone Plan
- Technical Flows and Sequence Diagrams
- Launch Plan and Milestone Plan

Phase 02

### First Iteration

Fixed price between 15–20k€ (MAX) [Book Discovery Phase](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Building your real MAP (Minimal Awesome Product)
- Cost-effective approach. Strip requirements to 15–20k max
- Test directly on the market as cheaply as possible with real customers
- Discovery Phase cost is deducted as a rebate

Phase 03

### Subsequent Iterations

Fixed price packages / Agile Fixed Price [What is Agile Fixed Pricing?](/blog/agile-fixed-pricing/)

- Building and extending product based on real customer/user demand
- Ideally partially funded by real sales
- Data-driven development decisions (watch user behavior over user demands)
- Continuous improvement cycle

Phase 04

### Maintenance

Fixed weekly retainer 750€ / week, cancel anytime [Get in touch](/contact/)

- Security patches (nobody likes data breaches or losing money)
- Fixing bugs (can be a major reason of customer churn)
- Technical support (most companies have an abysmal customer support)
- Performance, cost & CI/CD optimization

Phase 05

### Further Dev / Hand-Over

Your product, your team. We'll never lock you in.

- We'll never make you dependent on our team
- Smooth transition to your internal team
- Knowledge transfer and documentation
- Continued support as needed

// proof

## Proof, not promises

### [IKB](/case-studies/ikb/)
- **Status:** Live
- **Outcome:** Complete - Platform Handover
- **Summary:** Smart City IoT for Innsbruck: extended and scaled the LoRaWAN infrastructure, evaluated and integrated multi-vendor devices, wrote …
- **Stack:** Kubernetes, LoRaWAN, Docker

### [Offlinery](/case-studies/offlinery/)
- **Status:** Wind Down
- **Outcome:** Real-time - Proprietary Matching Engine
- **Summary:** Proprietary real-time proximity matching on iOS/Android against aggressive OS throttling, full stack.
- **Stack:** React Native / Expo, NestJS, TypeORM

### [Scramble Pay](/case-studies/scramble-pay/)
- **Status:** Live
- **Outcome:** 2 months - Concept to Pilot-Ready
- **Summary:** PoS + web crypto checkout, multi-chain, wallet-agnostic, pilot-ready for merchant integration in 2 months.
- **Stack:** React, Typescript, NestJS

These are selected projects, not our full portfolio. We have shipped 75+ products since 2018.

### What clients say

Google

**Shipped what would normally take a bigger team a lot longer.** Report overhaul, security hardening, infrastructure tightening, they owned it end to end. They kept production stable through pilot prep and investor demos. They communicated clearly and never made us chase a status update. Awesome team!

Read more →

April Elias

Original

Trustpilot

**TOP! Excellent teamwork and communication.** Smooth and efficient collaboration. Highly recommended partnership!

Read more →

Sabrina Heinzle

Original

LinkedIn

**If you're thinking about digitization of your company, tokenization, coding... you name it, I'd strongly recommend to get in touch with Kevin.** His knowledge in the field is unparalleled and working with him a sheer pleasure as he is a super nice guy, strategic thinker and proactively hard worker. Thanks for your brilliant work Kev!

Read more →

Jörg Mayr CEO, alpha strategies

Original

Independently rated 5.0/5 on Google [Read the reviews](https://www.google.com/search?q=wavect+gmbh)

[![Clutch Top Digital Transformation Company in Austria 2026 award for Wavect](/img/awards/clutch-top-digital-transformation-company-austria-2026_hu_3960015146744168.webp) Verified on Clutch · 2026 Top Digital Transformation Company in Austria View our Clutch profile](https://clutch.co/profile/wavect-gmbh)

## FAQs

Real-world IoT delivery

### How does the weekly cancellation actually work?

End any week, with one message. No notice period, no exit interview, no fine print. We invoice weekly, so the most you’re ever committed to is the current week.

### What if I'm not blown away by the work?

It’s in your contract: tell us, and we refund that week. No questions, no invoices to dispute, no calls to escalate. The only rule: refunds apply to the most recent week.

### Why don't you track hours?

Because hours are the wrong metric. If we optimize for hours billed, we do not optimize for your outcome. The deal is simpler: every week has a defined result, and we earn the next week by delivering it. You pay for progress against that result, not for a timesheet.

### What does 'expectations detached from reality' mean?

We work with operators, not lottery winners. If a request would require breaking physics, the law, or a third party’s systems, we say so, and if we can’t align, we walk. The guarantee is mutual: you can fire us any week; we can also fire ourselves.

### Which protocols and stacks do you support?

LoRaWAN for long-range/low-power, MQTT for general telemetry, Zigbee for short-range mesh, and standard HTTP/WebSockets for higher-bandwidth devices. We pick the stack that matches power budget and range, not the one that’s familiar.

### Can you handle device fleet management at scale?

Yes. We deploy to AWS IoT Core, Azure IoT Hub, ThingsBoard, or self-hosted MQTT clusters depending on data residency and scale. Provisioning, certificate rotation, OTA updates, device shadowing, and fleet-wide telemetry are first-class concerns from day one, not a v2 problem.

### Do you build the firmware or just the cloud side?

No, we don’t build firmware. We write the decoders and encoders for your IoT devices, build the infrastructure that ingests their data, and handle everything on the application and monitoring side. If you need firmware itself written, we’ll point you to a hardware partner. But the hardware-to-dashboard pipeline above the firmware layer is ours.

### Our fleet has devices from five different vendors that all speak differently. Can you make sense of that?

Yes, that’s the work. We’ve decoded payloads from devices where the documentation was wrong, missing, or contradicted the firmware. We write per-vendor decoders, normalize everything into a single schema, and build the monitoring that catches when a vendor silently changes their payload format on a firmware update. Multi-vendor reality is the default in real deployments, not the exception.

### What does an IoT pilot cost end-to-end?

Single-vendor pilot with 10-50 devices, LoRaWAN gateway, decoder, and a basic dashboard: €18-35k. Multi-vendor pilot with 100-500 devices, fleet management, OTA, and SLA dashboards: €40-90k. City-scale rollouts (5,000+ devices) move into multi-stage programs, €150k+ for software alone with hardware and connectivity quoted separately. We carve out gateway costs, LoRaWAN network fees (Helium, TTN, private), and cellular data plans so they don’t ambush you in month three.

### When should we NOT use LoRaWAN?

When latency matters (LoRaWAN has uplink-only windows and seconds-to-minutes delivery). When payload exceeds ~50-200 bytes per message. When you need many-to-many messaging. When high duty-cycle telemetry is required (regulatory duty-cycle limits in EU868 cap transmit frequency). For those: NB-IoT or LTE-M for low-power cellular, Wi-Fi when power isn’t constrained, Zigbee or Bluetooth Mesh for indoor mesh, plain MQTT-over-cellular for higher-bandwidth fleets. We tell you which radio the use case actually wants, not the one that’s trending.

// More in

## More in Artificial Intelligence

### [AI Agents & Products](/services/artificial-intelligence/)

We build AI agents, agentic SaaS, and LLM apps that survive production, and tell you when AI is the wrong tool.

### [AI Enablement](/services/ai-enablement/)

Adopt AI inside your own team: workshops plus done-for-you setup on your infrastructure. No shelfware.

### [Vibe Coding Rescue](/services/vibe-coding-rescue/)

Fix vibe-coded and AI-generated apps before they break in production. Audit first, then harden.

// Get to know us

## Get to know us

Long-term relationships over quick wins.

[![Blogs](/img/services/gtku_blogs_hu_d7e3f659443e93f9.webp) Read our Blog](/blog/overview/) [![No BS Around Tech Podcast](/img/services/gtku_podcast_hu_aac94ba51d8a6f9f.webp) No BS Around Tech Podcast](/#trust-podcast) [![Image Gallery](/img/services/gtknu_gallery_hu_451025d2d15b7558.webp) Get some Impressions](/#image-gallery)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#ikb-complete-handover",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/services/internet-of-things/#webpage",
        "@type": "WebPage",
        "inLanguage": "en",
        "url": "https://wavect.io/services/internet-of-things/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "ikb-complete-handover",
      "inLanguage": "en",
      "text": "Wavect handed the IKB Smart City IoT platform over to IKB's in-house team completely and stayed on as external support."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/services/internet-of-things/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "IoT & Smart City",
      "description": "We build IoT solutions specializing in LoRaWAN infrastructure, sensor decoders/encoders, and smart city applications. Practical, results-driven IoT.",
      "name": "IoT Solutions",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "IoT Development",
      "url": "https://wavect.io/services/internet-of-things/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/",
          "name": "Services",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/#iot",
          "name": "IoT & Smart City",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/internet-of-things/",
          "name": "Internet of Things",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/services/internet-of-things/#webpage",
      "@type": "WebPage",
      "description": "We build IoT solutions specializing in LoRaWAN infrastructure, sensor decoders/encoders, and smart city applications. Practical, results-driven IoT.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/services/internet-of-things/#service"
      },
      "name": "IoT Solutions",
      "url": "https://wavect.io/services/internet-of-things/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "End any week, with one message. No notice period, no exit interview, no fine print. We invoice weekly, so the most you're ever committed to is the current week."
      },
      "name": "How does the weekly cancellation actually work?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "It's in your contract: tell us, and we refund that week. No questions, no invoices to dispute, no calls to escalate. The only rule: refunds apply to the most recent week."
      },
      "name": "What if I'm not blown away by the work?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Because hours are the wrong metric. If we optimize for hours billed, we do not optimize for your outcome. The deal is simpler: every week has a defined result, and we earn the next week by delivering it. You pay for progress against that result, not for a timesheet."
      },
      "name": "Why don't you track hours?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We work with operators, not lottery winners. If a request would require breaking physics, the law, or a third party's systems, we say so, and if we can't align, we walk. The guarantee is mutual: you can fire us any week; we can also fire ourselves."
      },
      "name": "What does 'expectations detached from reality' mean?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "LoRaWAN for long-range/low-power, MQTT for general telemetry, Zigbee for short-range mesh, and standard HTTP/WebSockets for higher-bandwidth devices. We pick the stack that matches power budget and range, not the one that's familiar."
      },
      "name": "Which protocols and stacks do you support?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. We deploy to AWS IoT Core, Azure IoT Hub, ThingsBoard, or self-hosted MQTT clusters depending on data residency and scale. Provisioning, certificate rotation, OTA updates, device shadowing, and fleet-wide telemetry are first-class concerns from day one, not a v2 problem."
      },
      "name": "Can you handle device fleet management at scale?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No, we don't build firmware. We write the decoders and encoders for your IoT devices, build the infrastructure that ingests their data, and handle everything on the application and monitoring side. If you need firmware itself written, we'll point you to a hardware partner. But the hardware-to-dashboard pipeline above the firmware layer is ours."
      },
      "name": "Do you build the firmware or just the cloud side?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, that's the work. We've decoded payloads from devices where the documentation was wrong, missing, or contradicted the firmware. We write per-vendor decoders, normalize everything into a single schema, and build the monitoring that catches when a vendor silently changes their payload format on a firmware update. Multi-vendor reality is the default in real deployments, not the exception."
      },
      "name": "Our fleet has devices from five different vendors that all speak differently. Can you make sense of that?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Single-vendor pilot with 10-50 devices, LoRaWAN gateway, decoder, and a basic dashboard: €18-35k. Multi-vendor pilot with 100-500 devices, fleet management, OTA, and SLA dashboards: €40-90k. City-scale rollouts (5,000+ devices) move into multi-stage programs, €150k+ for software alone with hardware and connectivity quoted separately. We carve out gateway costs, LoRaWAN network fees (Helium, TTN, private), and cellular data plans so they don't ambush you in month three."
      },
      "name": "What does an IoT pilot cost end-to-end?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "When latency matters (LoRaWAN has uplink-only windows and seconds-to-minutes delivery). When payload exceeds ~50-200 bytes per message. When you need many-to-many messaging. When high duty-cycle telemetry is required (regulatory duty-cycle limits in EU868 cap transmit frequency). For those: NB-IoT or LTE-M for low-power cellular, Wi-Fi when power isn't constrained, Zigbee or Bluetooth Mesh for indoor mesh, plain MQTT-over-cellular for higher-bandwidth fleets. We tell you which radio the use case actually wants, not the one that's trending."
      },
      "name": "When should we NOT use LoRaWAN?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
