Skip to content
Codedock
ServicesHow we workInsightsCase StudiesCareerContact
Back to case studies
Fotopast.cloud logoCase Study2 months5 min read

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.

I want a similar solutionFotopast.cloud

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.

Fotopast.cloud — Solution Architecture

Integrations

COMGATEAzure Communication ServicesAzure DevOps CI/CD

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 logo

The Clinic Praha

Dental clinic migration from Laravel to Next.js + .NET 9 — 6 languages, 1,333 URLs, zero SEO drop

HealthcareNext.js.NET 9
Read more
MessyPlay.cz logo

MessyPlay.cz

Custom e-commerce instead of Shopify — 80% lower operating costs

E-commerceIntegrationAzure
Read more
JUST CS spol. s r. o. logo

JUST CS spol. s r. o.

Full replacement of an MLM sales network management system in 3 months

EnterpriseSystem replacementAzure
Read more

Related reading

Deeper technical notes on the topics from this case study.

Architecture & Consulting

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.

Read article
Enterprise Integration

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.

Read article
Architecture & Consulting

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.

Read article

Want a similar solution?

Send us a message — we respond within one business day and schedule an intro call.

Get in touch

Architecture, cloud and integration for complex systems. A senior architect on every project.

Navigation

ServicesHow we workInsightsCase StudiesCareerContactAgency vs. freelancer vs. us

Services

DevelopmentCloudDevOpsAI & DataConsultingDelivery

Contact

CodeDock s.r.o.

Zlenická 863/9, 104 00 Praha 22

Czech Republic

info@codedock.com

Company ID: 14292769

VAT ID: CZ14292769


© 2026 Codedock

ContactPrivacy Policy
Book a call