SaaS platform for trail cameras — cloud photo storage and device management as a PWA
A leading Czech trail camera retailer needed a custom application to collect and manage photos from customer devices. We built a complete cloud SaaS platform — from photo ingestion to a web app and iOS/Android PWA with push notifications. Delivered in 2 months.
2 months
time to production
from zero to live
iOS + Android
PWA apps
no App Store fees
Azure
cloud storage
unlimited scalability
Real-time
push notifications
on motion detection
A custom ecosystem for thousands of customer trail cameras
The client — one of the largest trail camera retailers in the Czech Republic — wanted to offer customers added value: cloud storage for photos directly connected to their devices. No off-the-shelf solution existed. The entire system had to be built from scratch — photo ingestion from devices, cloud storage, web and mobile apps, and a subscription model with a payment gateway.
Existing SaaS solutions on the market
unsuitable / nonexistent
Customer photo management
manual, no centralisation
Mobile access to photos
completely missing
Push notifications on motion detection
completely missing
Result without a custom solution
zero retention, no recurring revenue model
customers without added value
A complete SaaS platform: from photo ingestion to mobile push notifications
We designed and built the entire ecosystem. A .NET backend serves both the web and mobile app, while a dedicated SMTP-like server receives photos directly from devices and stores them in Azure Storage.
.NET Backend API
A robust REST API for managing users, devices, photos, and subscriptions. Deployed as a Docker image in Azure with automated CI/CD pipelines.
Dedicated photo ingestion server
A standalone backend that emulates an SMTP server — receives photos sent directly from trail cameras as email attachments and stores them in Azure Blob Storage.
Azure Blob Storage
Scalable cloud storage for all customer photos, organised by device, with automated file lifecycle management.
Web application (React)
A full-featured React application for managing trail cameras, browsing photos, configuring devices, and managing subscriptions. Deployed on Cloudflare Pages.
PWA for iOS and Android
A progressive web app installable on iOS and Android without App Store or Google Play. Full mobile UX with offline support.
Push notifications (Firebase Messaging)
Customers receive instant push notifications when motion is detected — on both web and mobile PWA via Firebase Cloud Messaging.
COMGATE integration
COMGATE payment gateway for subscription management — monthly, quarterly, and annual plans with automatic renewal.
Azure Communication Services
Transactional emails (registration confirmations, payment receipts, subscription notifications) sent via Azure Communication Services.
Solution Architecture
The backend runs as a Docker image on Azure. A dedicated SMTP-like server receives photos from devices and stores them in Azure Blob Storage. The React frontend is deployed on Cloudflare Pages. Push notifications are powered by Firebase Cloud Messaging. Transactional emails are sent via Azure Communication Services. The entire deployment is automated via Azure DevOps CI/CD pipelines.
Integrations
Results
Automatic photo ingestion from devices
Trail cameras send photos as email attachments — the server automatically receives and stores them in Azure Storage with no user action required.
Cloud trail camera management
An overview of all devices, photo organisation by camera, filtering, and full-resolution browsing.
PWA for iOS and Android
Customers add the app to their home screen like a native app — no App Store or Google Play required.
Push notifications on motion detection
Firebase Cloud Messaging delivers a notification instantly when motion is captured — on both mobile and browser.
Subscription model with COMGATE
Three pricing tiers (monthly, quarterly, annual) with COMGATE payments and automatic subscription renewal.
Scalable Azure storage
Azure Blob Storage scales with customer growth without any architectural changes — from the first user to thousands of devices.
Technologies
- .NET
- React
- Docker
- Azure
- Azure Blob Storage
- Azure DevOps
- CI/CD Pipelines
- Cloudflare Pages
- Firebase Messaging
- COMGATE
- PWA
- SMTP server
- Azure Communication Services
More case studies
The Clinic Praha
Dental clinic migration from Laravel to Next.js + .NET 9 — 6 languages, 1,333 URLs, zero SEO drop
MessyPlay.cz
Custom e-commerce instead of Shopify — 80% lower operating costs
JUST CS spol. s r. o.
Full replacement of an MLM sales network management system in 3 months
Related reading
Deeper technical notes on the topics from this case study.
6 min read
PWA instead of an iOS/Android app: when it works and when you lose users
For Fotopast.cloud we built the SaaS platform as a PWA instead of two native apps. Shipped in 2 months, it works. But here are five factors we use to decide — not every project fits PWA.
7 min read
Ingesting millions of photos from IoT devices on Azure: from camera to cloud
For Fotopast.cloud we process photos from thousands of camera traps. The pipeline that scales: Event Grid triggers, blob storage tiering, deduplication, and cost optimization for bulk uploads.
6 min read
SaaS in 2 months that doesn't collapse in six: what to cut, what not to
Fotopast.cloud went to production 60 days after kickoff. Not a marketing trick — a series of conscious decisions about what ships and what gets deferred. Here are the rules we use.
Want a similar solution?
Send us a message — we respond within one business day and schedule an intro call.