The person behind Drumlin Digital

Jonathan Frigon

Production Systems · Cloud Architecture · AI-Assisted Engineering

I built a managed services line of business from zero: $2M+ in annual revenue, 9 direct reports, around-the-clock on-call operations, and a Deloitte-reviewed 4.1/5 maturity rating. Before that I shipped a water-monitoring product to 25+ homes in the US Virgin Islands and ran it on under $100/month. Drumlin Digital brings that same production-grade discipline to small business software, built fast with AI tooling so the savings can go straight into the price, without cutting corners.

$2M+

Annual revenue built from zero

97%

Response time reduction

3,000+

Hours saved via automation

95%

Downtime reduction

Experience

Head of Managed Services

Improving Ottawa

Aug 2021 – Nov 2025

  • Built a Managed Services practice from zero to $2M+ ARR at over 50% margin, owning enterprise client relationships end to end for Canada Post and Norwegian Cruise Lines, including escalation design, on-call coverage, and proactive maintenance tuned to each client's workflows.
  • Owned incident response and escalation procedure for enterprise production systems, driving Mean Time to Acknowledge (MTTA) down to 30 seconds, a 97% reduction against prior teams, and cutting unscheduled downtime 95%.
  • Managed third-party vendor relationships delivering infrastructure for Canada Post. Coached their team directly toward faster incident detection and more stable behavior rather than only escalating.
  • Took ownership of inherited enterprise observability stacks (Datadog, Prometheus, Grafana, Splunk, OpenTelemetry), audited them, and optimized configurations to reduce operational load and improve signal quality for the on-call team.
  • Reduced Canada Post incident volume 19% and saved 3,000+ hours of manual effort by building rapid troubleshooting dashboards and Ansible automation, translating recurring one-off fixes into repeatable, documented processes.
  • Led a 9-person remote team through hiring, performance reviews, and full people management authority, while presenting quarterly service reviews directly to executive and C-suite stakeholders.
  • Led the initiative that achieved SOC 2 Type 2 certification, building the team, process, and control framework and driving it through to a Deloitte-reviewed 4.1/5 maturity rating against a roughly 2.5/5 benchmark.

Key Results

  • 19% reduction in Canada Post incident volume
  • 95% reduction in unscheduled downtime
  • Over 50% profit margin sustained across the practice
  • Deloitte-reviewed 4.1/5 maturity rating, vs. a 2.5/5 peer benchmark
DatadogPrometheusGrafanaSplunkOpenTelemetryKibana/ELKConfluent CloudServiceNowAnsibleKubernetesKafkaAWSAzureGCP

Owner / Operator

Watch My Water, Cruz Bay, USVI

Jan 2018 – Feb 2022

  • Designed and built an end-to-end internet of things (IoT) product from scratch: embedded Python on Raspberry Pi with an ultrasonic sensor, geometry-aware unit conversion for round and rectangular tanks, an AWS-hosted Flask dashboard with Okta authentication, Nginx, and Grafana, and time-series ingestion into InfluxDB.
  • Built an offline-tolerant data pipeline: sensor readings buffer locally in Redis during connectivity loss on marginal rural internet and backfill to InfluxDB automatically once the link recovers, so no data is lost. Implemented mode-of-N sampling to filter spurious ultrasonic reflections in a physically noisy environment.
  • Built Twilio SMS threshold alerting with per-threshold state tracking so a single low-water event didn't spam repeated texts, letting owners skip the dashboard entirely and just get a text when a tank ran low.
  • Owned every part of the business, architecture, licensing, sales, and installation, selling and installing 25+ units across St. John, USVI, all through word of mouth with zero ad spend, while running the entire cloud hosted stack for under $100/month.
PythonRaspberry PiAWSFlaskNginxGrafanaInfluxDBRedisOktaTwilio

Service Manager

Caravan Auto Services

Sep 2017 – Aug 2021

  • Grew revenue 32% in year one and sustained double-digit year-over-year growth through two Category 5 hurricanes and the COVID-19 pandemic.
  • Owned daily scheduling, parts logistics, and same-day repair completion across a high-variability, walk-in-driven service operation.

QA Engineer

Gummicube Inc.

Aug 2015 – Sep 2016

  • Owned stability testing for web and Meteor app products at a fast-paced startup, building Selenium automation, test plans, and smoke tests.
  • Built backend test coverage with Jasmine and Velocity, and developed automated monitoring and alerting to catch failures before customers did.
SeleniumJasmineVelocityJavaScriptMeteor

Credentials

Lightbend Reactive Architect

Aug 2021 – Sep 2024

Certified reactive systems design and architecture

Projects & Highlights

Agentic Retrieval System

Self-hosted multi-agent platform with semantic memory, running on local hardware

Personal

Started as a test of how far a single consumer GPU could take local LLM inference, with generating polished PDF reports from user input as the proving-ground use case. Grew into a self-hosted multi-agent system: six specialized agents (orchestrator, document QA, code search, executor, developer, optimizer) coordinating over an event bus built on Redis Streams. Long-term semantic memory runs on PostgreSQL and pgvector, with task approval gates for privileged actions and session crash recovery, all running entirely on local hardware with on-premises LLM inference on a single RTX 3070.

  • Six specialized agents coordinating over a Redis Streams event bus
  • Long-term semantic memory with PostgreSQL and pgvector
  • Document QA agent generates LaTeX-formatted PDF reports from user input, validated against a golden-reference eval
  • Runs an 8B-parameter model locally via LM Studio on 8GB of consumer GPU VRAM
  • Structured observability with structlog and manual transcript review to catch failure modes
PythonLangChainLangGraphPostgreSQLpgvectorRedisDockerLaTeX

Plant Monitor

IoT environmental control system for growth-stage-aware plant care

Personal

Built to keep an indoor grow tent in a healthy temperature and humidity range despite varying outside conditions: the system reads temperature, humidity, and soil moisture continuously and automatically balances a variable fan lever to hold conditions steady as the plant's growth stage changes. An IoT environmental control system with a DHT11 temperature/humidity sensor and soil moisture sensor integration, automated fan control with hysteresis logic, and growth-stage-aware targets. Runs as an always-on systemd service on a Raspberry Pi Zero with a web dashboard for historical charting.

  • Automated fan control with hysteresis logic to avoid flapping
  • Growth-stage-aware environmental targets
  • Always-on systemd service with historical charting dashboard
PythonRaspberry PiFlaskSQLiteKasa API

Poor Mans AC

Whole-house fan automation using dew-point-aware decision logic

Personal

Built to cool the house without running air conditioning when outdoor conditions actually allow it: the system pulls indoor conditions from a Nest thermostat and outdoor conditions from a weather API, then switches smart-plug-controlled fans on and off using a dew-point-aware decision rule with hysteresis to avoid flapping, only reaching for AC when passive cooling genuinely can't keep up. Includes a dashboard for runtime fan management with fail-safe behavior on any upstream API failure.

  • Dew-point-aware decision rule with hysteresis
  • Runtime fan management dashboard backed by a REST API
  • Fail-safe behavior (fans off) on any upstream API failure
PythonFlaskGoogle Nest SDM APIOpen-Meteo APIpython-kasa

Claude Usage Server

Local REST API tracking remaining AI usage credit to enable automated workflows

Personal

Built to solve a specific problem: automated and background workflows need to know how much usage credit is actually left before they run, not just after, and can't depend on the AI assistant itself to self-report that in a way other processes can query. This local REST API server aggregates token usage across multiple entrypoints (editor, CLI, and other automated workflows) into a single source of truth, polling billing data on an interval and calculating real-time remaining availability so automation can decide whether it's safe to start new work instead of finding out mid-task.

  • Calculates remaining usage credit proactively, so automated workflows can check availability before starting instead of failing mid-run
  • Single source of truth for usage across editor, CLI, and other automated workflows
  • Interval polling with historical rollups and per-project breakdowns
Node.jsSQLiteREST API

Todo App

Task manager with a Discord bot and web interface

Personal

Built to keep task tracking in the places I already check throughout the day instead of a separate app I'd forget to open: a local task manager with a dual Discord bot and web interface, using Server-Sent Events for real-time browser updates and Google Calendar ICS feed parsing for schedule integration. Runs as an always-on service on a Raspberry Pi with a git-based deploy workflow.

  • Discord bot lets me add and track tasks from my phone without opening a separate app
  • Real-time browser updates via Server-Sent Events
  • Google Calendar ICS feed parsing for schedule integration
  • Always-on Raspberry Pi service with git-based deploy workflow
PythonFastAPIdiscord.pySQLite

Observing Failure in Reactive Systems

Conference talk at Reactive Summit 2022

Published

Co-presented with Clemens Löbner at Reactive Summit 2022. The talk covers holistic observability for distributed reactive systems: key metrics to visualize, how to identify lack of isolation, cascading failures, data visibility, and critical log messages, all from supporting live production systems.

  • Published as part of the Reactive Summit playlist
  • Covers real production incidents and lessons learned
Watch on YouTube →

Get in Touch

Questions about a Drumlin Digital project, or want to talk shop about observability, production reliability, or team building? Reach out.