Back to Blog

February 14, 2026

How I Replaced $50K in SaaS with Open Source for a Hotel Group

Open Source Infrastructure CTO

The Problem

JET Hospitality runs 10 properties across multiple brands. When I came on as CTO, they were paying enterprise prices for tools designed for companies 10x their size — and had no CRM at all. Leads lived in spreadsheets and email threads. Asana for project management when most tasks were “fix the website” or “update the rate sheet.” Datadog monitoring hosts that barely generated enough metrics to justify the dashboard.

The monthly SaaS bill had room for significant optimization — the tools were capable, but oversized for what the business actually needed.

The Audit

Step one was mapping every SaaS tool to three things: what it cost, what it actually did for us, and how many people used it. The results were predictable — we were paying for capability we’d never touch and seats that were barely active.

The harder question was: what’s the switching cost? Some tools have network effects or integrations that make them genuinely hard to replace. Others are commodities wearing enterprise pricing.

The Replacements

CategorySaaS ToolReplacementAnnual Savings
CRMNo CRM (spreadsheets & email)JET CRM (custom Django)N/A — net new
AutomationZapier ($50/mo)n8n + custom Python$600+
Email MarketingMailchimp ($300/mo)AWS SES + custom templates$3,500+
MonitoringDatadog ($23/host x 10)Uptime Kuma (self-hosted)$2,760+
Project ManagementAsana ($11/seat x 10)Built into JET CRM$1,300+
Password ManagementLastPass ($6/seat x 10)Passbolt (self-hosted)$360+

Total: over $50,000 in annual savings from replacing the existing SaaS tools, plus a custom CRM built from scratch that would have cost $9,000+/year if they’d gone with an off-the-shelf solution like Salesforce.

The Custom CRM

The biggest win was building a custom CRM from scratch. No off-the-shelf CRM fits the hotel industry well. They’re all designed for B2B sales pipelines, not hospitality workflows like group bookings, property-specific rate negotiations, and seasonal hiring across multiple locations. Before JET CRM, the team had no CRM at all — leads were scattered across spreadsheets, email, and sticky notes.

JET CRM is a Django application built specifically for how the team actually works. It handles contact management, deal tracking, hiring pipeline, Level 10 ROCK reviews and meetings, and task management — all in one interface instead of five. The project management features replaced Asana entirely because tasks are attached to deals and properties, not floating in a separate tool.

Building it took time, but the result is a tool that fits the business instead of forcing the business to fit the tool.

The Key Insight

This isn’t about being cheap. It’s about owning your tools and fitting them to your workflows instead of the other way around.

Every SaaS tool makes assumptions about how you work. When those assumptions match, SaaS is the right call — you’re paying for someone else to maintain infrastructure and ship features. When those assumptions don’t match, you’re paying a premium to work around limitations.

For a 10-property hotel group, the assumptions almost never matched. The team was spending as much time adapting to the tools as using them.

Infrastructure

Everything self-hosted runs on Docker with Prometheus and Grafana providing the monitoring layer. Deployments are automated. Backups are automated. The operational overhead is real but manageable — maybe 2-3 hours per month of maintenance across all services.

The Result

$50K+ saved annually. 99.99% uptime across all self-hosted services (tracked and verified). Unified dashboards that show the whole business in one place instead of six different SaaS login screens.

More importantly, when the team needs a feature, we build it. No waiting for a vendor’s roadmap. No paying for an upgrade tier to get one checkbox. The tools serve the business, not the other way around.

Read the full case study at JET Hospitality.