Startup Operations

Overview

This chapter defines how Membership One GmbH is founded and operated to bring the Membership Management Software to market. The operating philosophy is lean startup with maximum automation: build, measure, learn -- and use the product itself to run the company.

Core Principles

  1. Dogfooding above all -- Membership One uses the Membership One platform to manage its own CRM, support, invoicing, accounting, and analytics. Every internal pain point becomes a product improvement.
  2. Minimum viable team -- The CEO handles all non-development business functions (sales, marketing, finance, legal, support) assisted by the platform's automation. The 4-person dev team focuses exclusively on product development.
  3. Infrastructure frugality -- Hetzner Cloud (Nuremberg) provides enterprise-grade infrastructure at a fraction of hyperscaler costs. The entire production stack runs for approximately EUR 100/month.
  4. Compliance by default -- German GmbH formation, GDPR-first data handling, DATEV-compatible accounting, and EU VAT compliance are baked into operations from day one.
  5. Revenue before fundraising -- The company targets profitability through customer revenue, not venture capital. Break-even is achievable with approximately 20 Professional-tier customers.

Operating Model

graph LR CEO[CEO - Business Operations] DEV[Dev Team - 4 Persons] PLAT[Membership Platform] CASH[Cash360 Payment Engine] CUST[Customers] CEO -->|Sales, Marketing, Support| PLAT DEV -->|Build Features| PLAT PLAT -->|Billing, SEPA| CASH PLAT -->|Self-Service| CUST CUST -->|Feedback| CEO CEO -->|Priorities| DEV

The feedback loop is intentionally tight: the CEO experiences every product limitation firsthand while running the business, translates pain points into prioritized backlog items, and the dev team ships fixes and features in short cycles.


GmbH Formation Checklist

Membership One GmbH is established as a German Gesellschaft mit beschrankter Haftung (limited liability company) with the minimum share capital of EUR 25,000. The Musterprotokoll (standard protocol) simplifies formation for single-shareholder companies.

Step Action Responsible Timeline Cost Estimate
1 Draft Gesellschaftsvertrag (Articles of Association) using Musterprotokoll CEO + Notary Week 1 EUR 0 (template)
2 Notarize Gesellschaftsvertrag at Notar CEO Week 1 EUR 300-500
3 Open Geschaeftskonto (business bank account) at Qonto or FYRST CEO Week 1-2 EUR 0 (online banks)
4 Deposit Stammkapital (EUR 25,000 share capital) into business account CEO Week 2 EUR 25,000
5 Notar files Handelsregister application (Amtsgericht) Notary Week 2 EUR 150 (court fee)
6 Receive Handelsregister entry (HRB number) Amtsgericht Week 2-6 Included above
7 Register at Finanzamt for Steuernummer (tax ID) CEO Week 3-4 EUR 0
8 Apply for USt-IdNr. (VAT identification number) at BZSt CEO Week 3-4 EUR 0
9 Gewerbeanmeldung (trade registration) at Gewerbeamt CEO Week 3 EUR 20-60
10 Obtain Betriebshaftpflichtversicherung (business liability insurance) CEO Week 3-4 ~EUR 300/year
11 Obtain Cyber-Versicherung (cyber liability insurance) CEO Week 3-4 ~EUR 500/year
12 Obtain D&O-Versicherung (directors and officers insurance) CEO Week 4 ~EUR 400/year
13 Engage Steuerberater (tax advisor) with DATEV access CEO Week 2-3 ~EUR 300/month
14 Set up DATEV Unternehmen Online for digital bookkeeping Steuerberater Week 4-5 Included in advisor fee
15 Register domain(s) and set up corporate email CEO Week 1 ~EUR 30/year
16 Create company website (Hugo/Astro on Cloudflare Pages) CEO Week 2-4 EUR 0 (free hosting)
17 Set up GitLab organization and CI/CD Dev Lead Week 1 EUR 0 (free tier)
18 Provision Hetzner Cloud infrastructure Dev Lead Week 1-2 ~EUR 100/month
19 IHK membership (automatic upon Gewerbeanmeldung) IHK Automatic ~EUR 150/year
20 DSGVO documentation (Verarbeitungsverzeichnis, Datenschutzerklaerung) CEO Week 4-6 EUR 0 (templates)

Total formation cost: approximately EUR 26,500 (including share capital) plus ~EUR 1,250/year recurring insurance and IHK fees.

Timeline: 4-6 weeks from notarization to full operational readiness.

Ongoing Compliance

The following obligations apply to every German GmbH on a recurring basis:

Obligation Frequency Deadline Responsible Platform Support
USt-Voranmeldung (VAT advance return) Quarterly (monthly if revenue > EUR 7,500/quarter) 10th of following month Steuerberater DATEV export from membership-accounting
Lohnsteuer-Anmeldung (payroll tax) Monthly (when employees exist) 10th of following month Steuerberater DATEV export
Zusammenfassende Meldung (EC Sales List) Quarterly (if EU B2B sales) 25th of following month Steuerberater Invoice data export
Jahresabschluss (annual financial statements) Annually 12 months after fiscal year end Steuerberater DATEV export
Koerperschaftsteuererklaerung (corporate tax return) Annually July 31 (with extension: Feb 28) Steuerberater DATEV export
Gewerbesteuererklaerung (trade tax return) Annually Same as corporate tax Steuerberater DATEV export
Bundesanzeiger Offenlegung (financial statement publication) Annually 12 months after fiscal year end Steuerberater / CEO PDF generation
Handelsregister updates On change (address, Geschaeftsfuehrer, capital) Without undue delay CEO + Notary N/A
IHK Beitrag (chamber of commerce fee) Annually Upon invoice CEO Auto-payment
Betriebliche Steuererklarung Annually With annual filing Steuerberater DATEV export
DSGVO Verarbeitungsverzeichnis update Annually or on change Ongoing CEO Document management
Software license compliance audit Annually Q1 Dev Lead Dependency scan in CI/CD

Key automation opportunity: The membership-accounting module with DATEV export capability handles the majority of recurring tax obligations by providing the Steuerberater with structured, machine-readable financial data. The CEO's role reduces to review and approval.


Service Providers

Membership One GmbH operates the Membership One SaaS platform. External service providers are contracted for specialized functions. Cash360, My-Factura, and CashControl are independent companies — not internal products.

Service Provider Registry

# Provider Service Website Relationship
1 My-Factura Invoicing, billing, SEPA mandates www.my-factura.com Billing provider
2 CashControl Payment collections, debt collection cashcontrol.info Used by My-Factura
3 Hetzner Cloud Infrastructure hosting www.hetzner.com Infrastructure provider
4 DATEV Tax accounting standard www.datev.de Via Steuerberater
5 Steuerberater Tax advisory, bookkeeping Service contract
6 Cloudflare CDN, DNS, WAF www.cloudflare.com Edge provider
7 GitLab Source code, CI/CD gitlab.com DevOps platform
8 SMTP Provider Email delivery Mailgun or SES
9 Vaultwarden Team password manager (Bitwarden-compatible) github.com/dani-garcia/vaultwarden Self-hosted on Hetzner
10 Icinga Infrastructure monitoring, SSL certificate checks icinga.com Self-hosted on Hetzner
11 Dehydrated ACME client for Let's Encrypt certificate renewal github.com/dehydrated-io/dehydrated Self-hosted on Hetzner

Contract Bundle for Customer Onboarding

When a new customer (Franchise, Studio, or Verein) signs up for Membership One, they enter into a bundled contract that covers three service relationships:

  1. Membership One GmbH — SaaS Agreement (AGB) + AVV/DPA
  2. My-Factura — Invoicing and billing service agreement
  3. CashControl — SEPA Lastschriftmandat (via My-Factura)

This is presented as a single onboarding flow. The customer signs once. Membership One orchestrates all downstream contract creation.


Infrastructure Architecture (Hetzner Cloud)

Why Hetzner

Hetzner Cloud, headquartered in Gunzenhausen (Bavaria) with data centers in Nuremberg (nbg1), Falkenstein (fsn1), and Helsinki (hel1), offers:

  • GDPR compliance -- German company, German data centers, no US Cloud Act exposure
  • Price performance -- 3-5x cheaper than AWS/GCP/Azure for equivalent compute
  • Simplicity -- Straightforward API, no hidden costs, no complex IAM
  • Managed services -- PostgreSQL, Load Balancer, Object Storage, Firewall, Floating IP
  • Kubernetes -- Managed Kubernetes (k3s-based) with auto-scaling node pools
  • Connectivity -- 20 Gbit/s uplinks, Tier III+ data centers, 99.9% SLA

Architecture Diagram

graph TB subgraph "Internet" USERS[Users and Mobile Apps] ADMIN[Admin - CEO and Dev Team] end subgraph "Edge Layer - Cloudflare" CF_CDN[CDN - Static Assets] CF_WAF[WAF - DDoS Protection] CF_DNS[DNS - Failover Routing] end subgraph "Hetzner Cloud - nbg1 Nuremberg" subgraph "Cloud Network 10.0.0.0/16" LB[Load Balancer LB11] subgraph "Kubernetes Subnet 10.0.1.0/24" subgraph "App Node Pool - 3x CX32" API1[API Pod 1] API2[API Pod 2] API3[API Pod 3] WORKER[Worker Pod] SCHED[Scheduler Pod] end subgraph "Infra Node Pool - 2x CX22" REDIS[Redis 7 - Cache] RMQ[RabbitMQ 4 - Messaging] PROM[Prometheus] GRAF[Grafana] LOKI[Loki - Logs] ICINGA[Icinga - Infra Monitoring] VW[Vaultwarden - Passwords] end end subgraph "Database Subnet 10.0.2.0/24" PG[(PostgreSQL 18 Managed)] end subgraph "Storage Subnet 10.0.3.0/24" S3[(Object Storage - Backups and Documents)] end end FIP1[Floating IP - Primary] FIP2[Floating IP - Failover] end subgraph "Hetzner Cloud - fsn1 Falkenstein" BACKUP[(Cross-Location Backup Replica)] end USERS --> CF_CDN CF_CDN --> CF_WAF CF_WAF --> CF_DNS CF_DNS --> FIP1 FIP1 --> LB ADMIN -->|SSH - Restricted IPs| LB LB --> API1 LB --> API2 LB --> API3 API1 --> PG API1 --> REDIS API1 --> RMQ WORKER --> PG WORKER --> RMQ SCHED --> PG SCHED --> RMQ API1 --> S3 S3 -->|Nightly Sync| BACKUP PG -->|WAL Shipping| BACKUP PROM --> GRAF LOKI --> GRAF

Server Specifications

Resource Type Spec Purpose Monthly Cost (EUR)
App Node 1 CX32 4 vCPU, 8 GB RAM, 80 GB SSD API pods, worker, scheduler 15.59
App Node 2 CX32 4 vCPU, 8 GB RAM, 80 GB SSD API pods (redundancy) 15.59
App Node 3 CX32 4 vCPU, 8 GB RAM, 80 GB SSD API pods (scaling headroom) 15.59
Infra Node 1 CX22 2 vCPU, 4 GB RAM, 40 GB SSD Redis, RabbitMQ 5.39
Infra Node 2 CX22 2 vCPU, 4 GB RAM, 40 GB SSD Prometheus, Grafana, Loki 5.39
Database Managed PG CPX21 3 vCPU, 4 GB RAM, 80 GB PostgreSQL 18 with backups 17.85
Load Balancer LB11 25 targets, TLS termination HTTPS traffic distribution 6.41
Object Storage S3-compatible ~100 GB Backups, documents, PDFs ~3.00
Floating IP (Primary) IPv4 Static IP DNS A record target 5.05
Floating IP (Failover) IPv4 Static IP Failover target 5.05
Volume (Monitoring) Block Storage 50 GB SSD Prometheus TSDB, Loki chunks 2.50
Hetzner Subtotal ~97.41
Cloudflare (Free Plan) CDN + WAF + DNS Unlimited bandwidth Edge caching, DDoS, DNS 0.00
Domain (membership-one.com) .com domain 1 year registration Primary domain ~1.00
Domain (membership.app) .app domain 1 year registration Product domain ~1.50
Grand Total ~99.91

Note: Prices as of February 2026. Hetzner prices include 19% German VAT for B2C; B2B pricing (net) is approximately 16% lower. The table shows gross prices for conservative budgeting.

Network Architecture

Cloud Network: 10.0.0.0/16
├── Subnet: 10.0.1.0/24  (Kubernetes - app and infra nodes)
├── Subnet: 10.0.2.0/24  (Database - managed PostgreSQL)
└── Subnet: 10.0.3.0/24  (Storage - object storage gateway)

Cloud Firewall Rules:

Rule Direction Protocol Port Source Action
HTTPS Inbound TCP 443 0.0.0.0/0 Allow
HTTP (redirect) Inbound TCP 80 0.0.0.0/0 Allow
SSH Inbound TCP 22 Admin IP allowlist Allow
Kubernetes API Inbound TCP 6443 Admin IP allowlist Allow
Node communication Inbound TCP/UDP All 10.0.0.0/16 Allow
PostgreSQL Inbound TCP 5432 10.0.1.0/24 Allow
Redis Inbound TCP 6379 10.0.1.0/24 Allow
RabbitMQ Inbound TCP 5672 10.0.1.0/24 Allow
All outbound Outbound All All 0.0.0.0/0 Allow
Default Inbound All All 0.0.0.0/0 Deny

TLS Configuration: - Edge certificates: Cloudflare handles TLS termination for public traffic (free, auto-renewed) - Origin certificates: Let's Encrypt via Dehydrated ACME client (DNS-01 challenge through Cloudflare API). Deployed to Hetzner Load Balancer via API post-hook. Daily cron check, renewal at 30 days before expiry. - Certificate monitoring: Icinga monitors all certificate expiry dates (check every 6 hours, alert at < 14 days). Provides independent verification that Dehydrated renewals succeed. - Cloudflare-to-origin: Full (Strict) mode with Let's Encrypt origin certificate - Internal cluster traffic: mTLS via Kubernetes service mesh (Linkerd or plain TLS)

Backup Strategy

Component Method Frequency Retention Storage Location
PostgreSQL (data) Managed daily snapshot Daily at 02:00 UTC 7 days rolling Hetzner managed (nbg1)
PostgreSQL (WAL) Continuous WAL archiving (PITR) Continuous 7 days Object Storage (nbg1)
PostgreSQL (cross-site) pg_basebackup to fsn1 Weekly (Sunday 03:00) 4 weeks Object Storage (fsn1)
Kubernetes (state) Velero snapshot Daily at 03:00 UTC 14 days Object Storage (nbg1)
Kubernetes (cross-site) Velero replicated backup Weekly (Sunday 04:00) 4 weeks Object Storage (fsn1)
Object Storage (docs) Cross-location replication Continuous (async) Indefinite Object Storage (fsn1)
Secrets (Sealed Secrets) Git repository (encrypted) On every change Git history GitLab (encrypted)
Vaultwarden (team credentials) Encrypted database export Daily at 04:00 UTC 30 days rolling Object Storage (nbg1 + fsn1)
Grafana dashboards JSON export to Git On every change Git history GitLab

Restore Testing: - Monthly automated restore test to a staging namespace - Quarterly full disaster recovery drill (see Disaster Recovery section) - All restore procedures documented in runbook with step-by-step instructions

Monitoring Stack

Component Tool Purpose Resource Usage
Metrics collection Prometheus Time-series metrics from all pods and nodes ~500 MB RAM, 20 GB disk
Dashboards Grafana Visualization, alerting UI, SLO tracking ~200 MB RAM
Log aggregation Loki Structured log storage and querying ~300 MB RAM, 10 GB disk
Log shipping Promtail (DaemonSet) Collects logs from all pods ~50 MB RAM per node
Uptime monitoring Uptime Kuma External health checks (outside cluster) Self-hosted on infra node
Infrastructure monitoring Icinga SSL certificate monitoring, external endpoint checks, DNS monitoring Self-hosted on infra node
Certificate renewal Dehydrated ACME/Let's Encrypt certificate automation (DNS-01 via Cloudflare API) Cron job on infra node
Password management Vaultwarden Team credential storage (Bitwarden-compatible, MFA-protected) Self-hosted on infra node
APM (optional) OpenTelemetry + Tempo Distributed tracing Added in Phase B

Alert Channels: - Email -- All alerts, sent to CEO and dev team distribution list - Telegram Bot -- P1/P2 alerts for immediate mobile notification - Grafana OnCall (free tier) -- Escalation and acknowledgment tracking

Key Alerts:

Alert Condition Severity Action
API pod down < 2 healthy pods for 2 min P1 - Critical Auto-restart, notify team
API latency high p95 > 2s for 5 min P2 - Warning Investigate, scale if needed
Database connections exhausted > 90% pool utilized for 5 min P1 - Critical Kill idle connections, investigate
Database disk > 80% Disk usage crosses threshold P2 - Warning Extend volume, archive old data
Certificate expiry < 14 days remaining (Icinga check) P2 - Warning Dehydrated auto-renews origin certs; Cloudflare auto-renews edge certs; investigate if renewal fails
Memory pressure Node memory > 85% for 10 min P2 - Warning Investigate pods, consider scaling
Pod OOMKilled Any pod killed by OOM P1 - Critical Increase limits, investigate leak
Backup failed Velero/pg_dump exit non-zero P1 - Critical Manual backup, investigate
Queue depth RabbitMQ queue > 10,000 messages for 15 min P2 - Warning Scale workers, investigate consumer
Error rate spike 5xx rate > 1% for 5 min P1 - Critical Check logs, rollback if deployment
Uptime check failed External HTTP check fails 3 times P1 - Critical DNS failover, investigate
Disk I/O saturation iowait > 50% for 10 min P2 - Warning Investigate queries, optimize

Disaster Recovery

Metric Target Justification
RTO (Recovery Time Objective) 4 hours Acceptable for B2B SaaS; customers can tolerate brief outage
RPO (Recovery Point Objective) 1 hour PITR from WAL archives ensures minimal data loss
MTTR (Mean Time To Repair) 2 hours Small team, well-documented runbook

Disaster Recovery Procedure:

Step Action Time Estimate Responsible
1 Detect outage (Uptime Kuma + alerts) 0-5 min (automated) Monitoring
2 Assess damage scope (nbg1 status page, cluster health) 5-15 min Dev Lead
3 Decision: repair in-place vs. failover to fsn1 15-20 min CEO + Dev Lead
4a If repairable: restart failed nodes/pods, restore from local backup 30-60 min Dev team
4b If full failover: provision new cluster in fsn1 from Terraform 60-90 min Dev team
5b Restore PostgreSQL from fsn1 backup (pg_restore + WAL replay) 30-60 min Dev team
6b Deploy application via GitLab CI/CD to new cluster 15-30 min CI/CD (automated)
7b Update Cloudflare DNS to point to fsn1 floating IP 2-5 min Dev Lead
8 Verify application health, run smoke tests 15-30 min Dev team
9 Notify customers of resolution 5 min CEO
10 Post-incident review within 48 hours N/A All

Infrastructure as Code: All infrastructure is defined in Terraform (Hetzner provider) and Helm charts stored in GitLab. A full environment can be reproduced from scratch in under 2 hours.


Dogfooding: Business Automation Map

Membership One GmbH uses its own Membership One platform as Tenant Zero -- the first and most demanding customer. Every business process that can be automated through the platform is automated. This serves two purposes: (1) it reduces the CEO's operational burden, and (2) it ensures the platform genuinely works for real business operations before any customer sees it.

Automation Matrix

Business Function Platform Module Automation Level External Dependency CEO Time/Week
CRM / Lead Management membership-crm Full None 2h (review pipeline)
Sales Pipeline membership-crm Full None 3h (demos, calls)
Customer Onboarding membership-entity + membership-import Full None 1h (review, approve)
Support / Tickets membership-support Full None 2h (respond to tickets)
Knowledge Base membership-support Full None 1h/month (write articles)
Invoicing membership-payment Full My-Factura (external provider) 0h (automated)
Payment Collection membership-payment + Cash360 Full Cash360 SEPA processing 0h (automated)
Dunning / Reminders membership-payment Full Cash360 0h (automated)
Accounting / Bookkeeping membership-accounting Partial DATEV (export to Steuerberater) 1h (review, approve export)
Financial Reporting Executive Dashboards Full None 1h (review KPIs)
Email Communication membership-communication Full SMTP provider (Mailgun) 1h (draft campaigns)
Document Management membership-document Full None 0h (automated storage)
Analytics / KPIs Executive Dashboards Full None 1h (review weekly)
Website Hugo/Astro Manual Cloudflare Pages (free) 2h/month
Blog / Content Hugo/Astro Manual Cloudflare Pages (free) 4h/month
Infrastructure Monitoring Prometheus/Grafana Full Self-hosted 0.5h (review dashboards)
CI/CD Pipeline GitLab CI/CD Full GitLab (free tier) 0h (automated)
Contract Management membership-contract Full None 0h (self-service)
Total CEO time ~12-15h/week

The remaining CEO time (~25-30h/week) is allocated to strategic activities: product vision, market research, partnership development, investor relations (if applicable), and hiring.

Tenant Zero Configuration

graph TB subgraph "Tenant Zero: Membership One GmbH" ORG[Organization: Membership One GmbH<br/>Type: VENDOR<br/>Tier: Enterprise] subgraph "CRM Pipeline" L[Stage: LEAD] C[Stage: CONTACTED] DS[Stage: DEMO_SCHEDULED] DC[Stage: DEMO_COMPLETED] T[Stage: TRIAL] PS[Stage: PROPOSAL_SENT] N[Stage: NEGOTIATION] W[Stage: WON] OB[Stage: ONBOARDING] A[Stage: ACTIVE] end subgraph "Support" KB[Knowledge Base<br/>Self-Service Articles] TK[Ticket System<br/>SLA: 24h Response] end subgraph "Finance" INV[Invoice Generation<br/>Automated Monthly] PAY[SEPA Collection<br/>via Cash360] ACC[DATEV Export<br/>Monthly to Steuerberater] end subgraph "Communication" TPL[Email Templates<br/>Onboarding, Invoice, Alert] BULK[Bulk Messaging<br/>Product Updates, Changelog] end end ORG --> L L --> C --> DS --> DC --> T --> PS --> N --> W --> OB --> A A --> TK A --> INV INV --> PAY PAY --> ACC A --> BULK TK --> KB

Sales Pipeline Stages

Stage Description Automated Actions Average Duration
LEAD Inbound inquiry (website form, LinkedIn, referral) or outbound research Auto-create deal, assign to CEO, send acknowledgment email 1-3 days
CONTACTED Initial contact made (email, call, LinkedIn message) Log activity, schedule follow-up reminder (3 days) 3-5 days
DEMO_SCHEDULED Demo meeting confirmed Send calendar invite, demo preparation checklist, reminder 24h before 3-7 days
DEMO_COMPLETED Demo delivered, prospect has seen the product Auto-send demo follow-up email with key features discussed, schedule follow-up 1-2 days
TRIAL Prospect given trial access (14 or 30 days) Provision trial tenant, send welcome email, daily engagement tracking, drip emails at day 3/7/10 14-30 days
PROPOSAL_SENT Formal pricing proposal delivered Generate PDF proposal from template, track email opens, follow-up reminder (5 days) 5-10 days
NEGOTIATION Terms being discussed (pricing, contract length, customization) Log all communication, version proposal documents 5-14 days
WON Deal closed, contract signed Mark deal as won, trigger onboarding workflow, notify dev team (if customization needed) 1 day
ONBOARDING Customer being set up on the platform Provision production tenant, import data, configure branding, training sessions 7-21 days
ACTIVE Customer live and operational Switch to support pipeline, start billing cycle, schedule quarterly review Ongoing

Lost deal stages: LOST (with reason code: price, features, competitor, timing, no_budget) and DISQUALIFIED (not target market).

Conversion targets (Year 1): - Lead to Demo: 40% - Demo to Trial: 60% - Trial to Won: 30% - Overall Lead to Won: ~7%


Cost Structure

Monthly Cost Breakdown

Category Item Monthly Cost (EUR) Annual Cost (EUR) Notes
Infrastructure Hetzner Cloud (all resources) 97.41 1,168.92 See server specifications above
Infrastructure Cloudflare (free plan) 0.00 0.00 CDN, WAF, DNS
Infrastructure Domains (membership-one.com + membership.app) 2.50 30.00 Annual, amortized monthly
Communication SMTP (Mailgun Flex) 10.00 120.00 First 5,000 emails free, then pay-as-you-go
Communication Telegram Bot API 0.00 0.00 Free for alerts
Legal/Tax Steuerberater (tax advisor) 300.00 3,600.00 Monthly retainer including DATEV
Legal/Tax Betriebshaftpflicht (liability insurance) 25.00 300.00 Annual, amortized
Legal/Tax Cyber-Versicherung (cyber insurance) 41.67 500.00 Annual, amortized
Legal/Tax D&O-Versicherung (D&O insurance) 33.33 400.00 Annual, amortized
Legal/Tax IHK Beitrag (chamber fee) 12.50 150.00 Annual, amortized
Marketing LinkedIn Ads (targeted) 150.00 1,800.00 Scaled up as pipeline grows
Marketing Content creation (freelance writers) 50.00 600.00 1-2 blog posts/month initially
Tools GitLab (free tier) 0.00 0.00 5 users, 400 CI/CD minutes
Tools Figma (free tier) 0.00 0.00 Design collaboration
Tools Miro (free tier) 0.00 0.00 Whiteboarding
Tools Slack or Mattermost 0.00 0.00 Team communication (free tier)
Office Virtual office / Geschaeftsadresse 30.00 360.00 Required for Handelsregister
Misc Contingency buffer 50.00 600.00 Unexpected costs
Total Fixed Costs ~802.41 ~9,628.92

Personnel costs (not included above):

Role Monthly Gross Salary Employer Cost (~30% social) Total Monthly
CEO / Geschaeftsfuehrer EUR 4,000 (initial, minimal) EUR 0 (GF exempt from some social) EUR 4,000
Developer 1 (Senior Backend) EUR 5,500 EUR 7,150 EUR 7,150
Developer 2 (Senior Frontend) EUR 5,500 EUR 7,150 EUR 7,150
Developer 3 (Full Stack) EUR 4,500 EUR 5,850 EUR 5,850
Developer 4 (QA / DevOps) EUR 4,500 EUR 5,850 EUR 5,850
Personnel Total EUR 30,000

Total monthly burn rate: EUR 30,802 (personnel + fixed costs)

Annual burn rate: EUR 369,624

Revenue Model

Membership One follows a tiered SaaS pricing model that scales revenue with client upgrades:

Tier Monthly Price (EUR) Annual Price (EUR) Target Segment Member Limit Key Features
Starter 0.99 9.99 Micro-clubs, evaluation (<20 members) 20 Core member management, basic billing
Team 29 299 Small clubs and studios 200 + Contracts, SEPA, email templates, mobile app
Professional 99 999 Mid-size organizations 2,000 + Check-in, resources, events, CRM, analytics
Enterprise Custom (from 249) Custom Chains, franchises Unlimited + White-label, SSO, API, dedicated support

No zero-euro strategy. Every user must have a billable account to ensure reachability and commitment. Even the Starter tier at EUR 0.99/month validates payment credentials, ensures the user has a real identity, and creates a commercial relationship from day one. The traditional freemium model (EUR 0) is replaced by a Trial Studio (14-day free evaluation, full features, see Chapter 02) that drives conversion to the Starter plan.

Professional tier: EUR 99/month (EUR 999/year) for mid-size organizations with up to 2,000 members. Includes check-in, resources, events, CRM, and analytics.

Break-Even Analysis

Note: Break-even calculation includes the full cost of the 4-person development team (estimated at EUR 4 x EUR 6,000 = EUR 24,000/month gross including employer costs). This is the dominant cost component and is explicitly included in the "Monthly Costs" column below. The CEO salary (EUR 4,000/month) and fixed costs (~EUR 802/month) are also included.

Scenario Customer Mix MRR (EUR) Monthly Costs Status
Minimum viable 10 Starter + 5 Team + 5 Professional 650 30,802 Loss: -30,152
Early traction 30 Starter + 15 Team + 15 Professional + 2 Enterprise 2,448 30,802 Loss: -28,354
Growth 50 Starter + 30 Team + 40 Professional + 5 Enterprise 6,125 30,802 Loss: -24,677
Scaling 80 Starter + 60 Team + 80 Professional + 15 Enterprise 13,475 33,000* Loss: -19,525
Break-even 100 Starter + 100 Team + 200 Professional + 30 Enterprise ~30,270 36,000* Near break-even with 6 hires
Profitable 120 Starter + 150 Team + 300 Professional + 50 Enterprise ~46,620 40,000* Profit: ~+6,620

*Costs increase with hiring per Personnel Scaling Timeline.

Realistic break-even timeline: 18-24 months after launch, assuming steady growth of 10-20 new customers per month from month 6 onward. The EUR 0.99 Starter tier drives high acquisition volume; revenue relies on conversion to Team/Professional.

Key insight: The Starter tier (EUR 0.99) is a pure acquisition funnel -- it validates payment credentials and creates a commercial relationship at near-zero cost. Upselling from Starter to Team (EUR 29) or Professional (EUR 99) is the primary revenue lever. Sales should prioritize mid-size organizations that need Professional-tier features (check-in, resources, CRM).


Personnel Scaling Timeline

Hiring Roadmap

gantt title Personnel Scaling Timeline dateFormat YYYY-MM axisFormat %b %Y section Phase A - Foundation CEO solo + 4 Dev :a1, 2026-07, 6M section Phase B - Support Customer Success Manager :b1, 2027-01, 12M section Phase C - Growth Sales Representative :c1, 2027-07, 12M Marketing Manager :c2, 2027-07, 12M section Phase D - Scale Support Engineer :d1, 2028-07, 6M DevOps Engineer :d2, 2028-07, 6M Backend Developer :d3, 2028-10, 3M section Milestones v1.0 Launch :milestone, m1, 2026-07, 0d 50 Customers :milestone, m2, 2027-06, 0d 150 Customers :milestone, m3, 2028-06, 0d Break-even :milestone, m4, 2028-12, 0d

Role Definitions

Phase A: Foundation (Months 1-6) -- 5 persons

Role Responsibilities Monthly Employer Cost (EUR)
CEO / Geschaeftsfuehrer Product vision, sales, marketing, support, finance, legal, partnerships. Uses platform CRM for pipeline, support module for tickets, dashboards for KPIs. 4,000
Senior Backend Developer Core modules (member, contract, payment, entity), Cash360 integration, database design, API implementation. Tech lead. 7,150
Senior Frontend Developer Flutter app (web + mobile), design system, responsive layouts, state management, accessibility. 7,150
Full Stack Developer Feature modules (communication, import, document, events), Flyway migrations, integration tests. 5,850
QA / DevOps Engineer Test automation, CI/CD pipeline (GitLab), Kubernetes setup, monitoring, infrastructure as code (Terraform). 5,850
Phase A Total 30,000

Phase B: Customer Operations (Months 7-12) -- 6 persons

Role Responsibilities Hiring Trigger Monthly Employer Cost (EUR)
Customer Success Manager Onboarding new customers, training sessions, quarterly business reviews, churn prevention, upselling. Takes over support from CEO. First 10 paying customers or CEO support load > 15h/week 5,200
Phase B Total 35,200

Phase C: Market Expansion (Months 13-24) -- 8 persons

Role Responsibilities Hiring Trigger Monthly Employer Cost (EUR)
Sales Representative Outbound prospecting, demo delivery, proposal creation, deal negotiation. Takes over sales pipeline from CEO. Pipeline exceeds CEO capacity (> 20 active leads) or revenue target requires dedicated sales 5,850
Marketing Manager Content strategy (blog, case studies, whitepapers), SEO, social media, email campaigns, event presence, partner marketing. Need for consistent lead generation beyond CEO's network 5,200
Phase C Total 46,250

Phase D: Scaling (Months 25-36) -- 11 persons

Role Responsibilities Hiring Trigger Monthly Employer Cost (EUR)
Support Engineer L1/L2 support, ticket resolution, knowledge base maintenance, bug reproduction and reporting. Ticket volume > 50/week or SLA compliance < 95% 4,550
DevOps Engineer Infrastructure scaling, multi-region deployment, performance optimization, security hardening, on-call rotation. Infrastructure complexity requires dedicated expertise 6,500
Backend Developer Additional feature development, API extensions, performance optimization, technical debt reduction. Feature backlog grows beyond team capacity 5,850
Phase D Total 63,150

Team Structure Evolution

Phase Headcount Monthly Personnel Cost (EUR) Monthly Fixed Costs (EUR) Total Burn Rate (EUR)
A (M1-6) 5 30,000 802 30,802
B (M7-12) 6 35,200 900 36,100
C (M13-24) 8 46,250 1,100 47,350
D (M25-36) 11 63,150 1,500 64,650

Fixed costs increase modestly with additional tooling licenses, higher SMTP volume, and expanded marketing spend.


Go-to-Market Playbook

Target Customer Profiles

Three ideal customer profiles (ICPs) define the initial go-to-market focus. All are located in Germany and Austria (DACH region).

ICP 1: Small Fitness Studio

Attribute Detail
Organization size 50-300 active members
Staff 1 owner/manager + 2-5 trainers
Current solution Spreadsheets, paper, or basic free tools (easyVerein free tier)
Pain points Manual billing, no online booking, paper contracts, no member communication
Decision maker Studio owner (single person)
Sales cycle 1-2 weeks (impulse decision)
Target tier Team (EUR 29/month) or Professional (EUR 99/month)
Win message "Replace 5 tools with one -- billing, booking, check-in, communication, all in one app"
Where to find them Instagram, Google Maps, local business directories, fitness trade shows

ICP 2: Local Sports Club (Verein)

Attribute Detail
Organization size 100-500 members
Staff Volunteer board (Vorstand) + 1-3 part-time administrators
Current solution ClubDesk, SEWOBE, or custom Access/Excel databases
Pain points Annual Beitragseinzug chaos, no online member self-service, manual Vereinsmeldungen
Decision maker Vorstand (board vote, 2-4 people)
Sales cycle 2-6 weeks (requires board approval)
Target tier Team (EUR 29/month)
Win message "Finally, a system that just works -- members can update their own data, billing runs automatically, and your Vorstand gets clear reports"
Where to find them Landessportbund directories, Vereinsregister, local press, community events

ICP 3: Dance / Martial Arts School

Attribute Detail
Organization size 30-200 active members
Staff 1 owner/instructor + 1-3 additional instructors
Current solution WhatsApp groups, manual attendance lists, bank transfers
Pain points No contract management, no automated billing, schedule published via Instagram stories
Decision maker School owner (single person)
Sales cycle 1-2 weeks
Target tier Team (EUR 29/month)
Win message "Your students book and pay through the app -- you focus on teaching"
Where to find them Instagram, Google Maps, martial arts federations, dance school directories

Customer Journey Map

graph LR subgraph "Awareness" A1[Google Search<br/>club management software] A2[LinkedIn Ad<br/>targeted DACH] A3[Referral from<br/>existing customer] A4[Blog Article<br/>SEO content] end subgraph "Consideration" B1[Visit Website<br/>Feature comparison] B2[Read Case Studies<br/>Similar organizations] B3[Watch Demo Video<br/>2-min product tour] end subgraph "Decision" C1[Request Live Demo<br/>30-min personalized] C2[Start Free Trial<br/>14 days, full access] C3[Receive Proposal<br/>PDF with pricing] end subgraph "Purchase" D1[Sign Contract<br/>Online, DocuSign] D2[Payment Setup<br/>SEPA mandate] end subgraph "Onboarding" E1[Data Import<br/>CSV or manual] E2[Configuration<br/>Branding, templates] E3[Training<br/>1h video call] end subgraph "Success" F1[Go Live<br/>First billing run] F2[Quarterly Review<br/>KPI check-in] F3[Expansion<br/>Add modules or members] end A1 --> B1 A2 --> B1 A3 --> B1 A4 --> B1 B1 --> B2 --> B3 B3 --> C1 B3 --> C2 C1 --> C2 C2 --> C3 C3 --> D1 D1 --> D2 D2 --> E1 E1 --> E2 E2 --> E3 E3 --> F1 F1 --> F2 F2 --> F3

Pricing Strategy

The pricing structure is designed to minimize friction at entry while scaling revenue with customer success:

Tier Monthly Price Annual Price Target Member Limit Modules Included
Starter EUR 0.99 EUR 9.99 Evaluation, micro-clubs (<20 members) 20 Member management (basic)
Team EUR 29 EUR 299 (2 months free) Small clubs, studios 200 Members, contracts, billing (SEPA), email, mobile app
Professional EUR 99 EUR 999 Mid-size organizations 2,000 + Check-in, resources, events, CRM, analytics, API
Enterprise From EUR 249 Custom Chains, franchises Unlimited + White-label, SSO, SLA, dedicated support, custom dev

All prices net (plus applicable VAT).

Pricing principles: 1. No zero-euro strategy -- Every user must have a billable account. The Starter tier at EUR 0.99/month validates payment credentials, ensures a real identity, and creates a commercial relationship from day one. A 14-day Trial Studio (full features, no payment required) replaces the traditional freemium model. 2. No annual lock-in for Team -- Monthly cancellation keeps the barrier low. Annual discount (2 months free) incentivizes commitment. 3. Per-member scaling is transparent -- Customers see exactly what they pay and can predict costs as they grow. 4. Enterprise is negotiated -- Large organizations have unique needs (SSO, white-label, data migration, SLA) that justify custom pricing.

Outreach Templates

Cold Email (to studio owners found via Google Maps):

Subject: [Studio Name] -- a question about your member management

Hi [Name],

I noticed [Studio Name] on Google Maps -- impressive reviews! Quick question: how do you currently handle member billing and class bookings?

We built Membership One specifically for studios like yours. It replaces the spreadsheet/WhatsApp/manual-billing juggle with one app: members book and pay themselves, SEPA runs automatically, and you see everything on a dashboard.

Would a 15-minute demo be worth your time this week?

Best, [CEO Name] Membership One GmbH

LinkedIn Connection Message (to Vereinsvorstand):

Hi [Name], I see you manage [Club Name]. We are building a modern management tool specifically for German sports clubs -- automated Beitragseinzug, member self-service, and clear Vorstand reports. I would love to show you a quick demo. Interested?

Demo Follow-Up Email:

Subject: Your [Studio/Club Name] demo -- next steps

Hi [Name],

Thanks for taking the time today! As discussed, here is what Membership One can do for [Organization Name]:

  • [Pain Point 1] solved by [Feature 1]
  • [Pain Point 2] solved by [Feature 2]
  • [Pain Point 3] solved by [Feature 3]

I have set up a 14-day trial for you: [trial link]

Your data from [current tool] can be imported via CSV -- I am happy to help with that.

Shall we schedule a 30-minute onboarding call for [day]?

Proposal Structure: 1. Executive summary (organization name, pain points identified, proposed solution) 2. Feature mapping (current pain vs. Membership One feature) 3. Pricing (tier, member count, monthly/annual) 4. Implementation timeline (data import, configuration, training, go-live) 5. Terms (contract period, cancellation, SLA if Enterprise) 6. Customer references (similar organizations)

Channel Strategy

Channel Phase Monthly Investment (EUR) Expected Leads/Month Cost per Lead (EUR)
SEO / Blog A (M1-6) 50 (content) 5-10 5-10
LinkedIn Organic A (M1-6) 0 (CEO time) 3-5 0
LinkedIn Ads B (M7-12) 150-300 10-20 15-30
Google Ads (branded + keywords) B (M7-12) 100-200 5-10 20-40
Referral Program B (M7-12) 0 (platform feature) 2-5 0 (1 month free for referrer)
Partner (Steuerberater, Sportbund) C (M13-24) 50 (events, materials) 5-10 5-10
Trade Shows (FIBO, IHRSA Europe) C (M13-24) 200 (booth, travel, amortized) 20-30 7-10
Affiliate / Reseller D (M25-36) Revenue share (20%) 10-20 Revenue share
PR / Media C (M13-24) 0-100 3-5 0-30

Year 1 channel mix priority: 1. Direct outreach (CEO cold emails + LinkedIn) -- highest conversion, zero cost 2. SEO / Content -- builds long-term organic pipeline 3. Referrals -- highest quality leads, built into platform 4. LinkedIn Ads -- targeted DACH sports/fitness professionals


Risk Assessment

Business Risks

# Risk Probability Impact Mitigation
R1 Product-market fit failure -- Target customers do not want/need the features built Medium Critical Validate with 5-10 early adopters before scaling; weekly customer feedback loops; pivot features based on usage data, not assumptions
R2 Slow customer acquisition -- Sales cycle longer than expected, conversion rates low High High Start direct outreach 3 months before launch; build a waitlist; offer low-barrier Starter tier (EUR 0.99/month) and Trial Studio to build user base; track funnel metrics weekly
R3 Cash flow pressure -- High fixed costs (EUR 30K/month) vs. slow revenue ramp High Critical Maintain 12-month runway before launch; minimize fixed costs (Hetzner not AWS); CEO salary deferred or minimal until break-even; consider Gruendungszuschuss (startup grant from Agentur fuer Arbeit)
R4 Key person risk (CEO) -- Single person handles all business operations High High Document all processes in the platform itself (dogfooding); cross-train one developer on business operations; automate everything possible
R5 Key person risk (Tech Lead) -- Loss of senior backend developer stalls product Medium Critical Comprehensive documentation, code reviews, knowledge sharing sessions; all infrastructure as code; no single-person silos
R6 Competitor response -- Established players (Magicline, easyVerein) copy differentiating features Medium Medium Speed of iteration (small team, fast decisions); focus on integration depth (Cash360 + check-in + CRM) that is hard to replicate; build community loyalty
R7 Technical downtime or data loss -- Infrastructure failure causes customer impact Low Critical Automated backups with cross-location replication; disaster recovery plan with 4h RTO; monitoring with immediate alerting; infrastructure as code for fast recovery
R8 Regulatory changes -- GDPR enforcement action, new EU regulations, German tax law changes Low Medium GDPR-first architecture (data minimization, consent management, right to deletion built in); Steuerberater monitors tax changes; legal review of ToS annually
R9 Cash360 dependency -- Cash360 API becomes unavailable, changes, or is discontinued Low Critical Abstract payment integration behind interface; Cash360 is external provider (contractual SLA required); implement fallback to direct SEPA XML generation
R10 Pricing too low -- Revenue per customer insufficient to cover support costs Medium High Track support cost per customer; adjust pricing tiers based on actual cost-to-serve; enterprise tier covers high-touch customers
R11 Scope creep -- Feature requests from early customers derail roadmap High Medium Strict version roadmap (v1.0, 2.0, 3.0, 4.0); public roadmap with voting; CEO decides prioritization weekly; "not yet" is a valid answer
R12 Developer burnout -- Small team, high pressure, long hours Medium High Sustainable pace (no crunch culture); clear sprint goals with buffer; 4-day work week option after break-even; competitive compensation
R13 Market timing -- Sports industry downturn, post-pandemic membership decline Low Medium Diversify target segments (clubs, studios, schools, municipal); billing automation saves money in downturns (value proposition strengthens)
R14 Legal liability -- Customer sues over billing error, data breach, or contract dispute Low High Betriebshaftpflicht + Cyber + D&O insurance; clear ToS with limitation of liability; SOC2-aligned security practices; incident response plan

Risk Heat Map

Low Impact Medium Impact High Impact Critical Impact
High Probability R11 R2, R4, R12 R3
Medium Probability R6, R13 R10 R1, R5
Low Probability R8 R14 R7, R9

Top 5 Risks and Action Plans

1. Cash flow pressure (R3) -- Critical/High - Action: Secure 12-month runway (EUR 370K) before first hire - Action: Apply for Gruendungszuschuss (up to EUR 18,000 over 15 months) - Action: Consider EXIST-Gruenderstipendium if eligible - Action: Defer CEO salary until MRR exceeds EUR 5,000 - Metric: Monthly cash runway in months (target: never below 6)

2. Product-market fit failure (R1) -- Critical/Medium - Action: Conduct 20 problem interviews before writing code - Action: Launch with 5-10 design partners (free, in exchange for weekly feedback) - Action: Track activation metrics (% of trial users who complete onboarding) - Action: Weekly NPS survey from active users - Metric: Trial-to-paid conversion rate (target: > 20%)

3. Slow customer acquisition (R2) -- High/High - Action: Build email list and waitlist 3 months before launch - Action: Publish SEO content targeting "Vereinsverwaltung Software" keywords from month 1 - Action: Attend 2 trade shows in year 1 (FIBO, local Sportbund events) - Action: Implement referral program with 1-month-free incentive - Metric: Monthly new paying customers (target: 5+ from month 6)

4. Key person risk (R4) -- High/High - Action: All business processes documented as standard operating procedures (SOPs) - Action: All SOPs executable through the platform (CRM, support, billing) - Action: Hire Customer Success Manager as first non-dev hire (month 7) - Action: CEO vacation coverage plan (CSM + Dev Lead can handle 1-2 weeks) - Metric: CEO bus factor coverage (target: all critical processes have documented backup)

5. Cash360 dependency (R9) -- Critical/Low - Action: Payment integration abstracted behind PaymentGateway interface - Action: Implement SEPA XML direct generation as fallback - Action: Monthly integration health check (API response time, error rate) - Action: Contractual SLA with CashControl / My-Factura (external provider) - Metric: Cash360 API uptime and error rate (target: 99.9% availability)


Operational Playbooks

Weekly CEO Cadence

Day Morning (9:00-12:00) Afternoon (13:00-17:00)
Monday Review dashboards (KPIs, pipeline, support tickets). Plan week. Team standup (30 min). Sales calls/demos.
Tuesday Content creation (blog post, LinkedIn, email campaign). Customer calls (demos, onboarding, reviews).
Wednesday Sales outreach (cold emails, LinkedIn prospecting). Product review with dev team (1h). Respond to support tickets.
Thursday Financial review (invoices, cash flow, DATEV prep). Partnership outreach. Strategic planning.
Friday Support ticket review and knowledge base updates. Week retrospective. Prepare investor/board update (if applicable).

Monthly Operational Checklist

Task Owner Platform Module Deadline
Review and approve DATEV export CEO membership-accounting 5th of month
Send monthly product update email to customers CEO membership-communication 1st week
Review churn (cancelled customers) and reach out CEO/CSM membership-crm 1st week
Review infrastructure costs and usage DevOps/Dev Lead Grafana dashboards 2nd week
Update public roadmap based on feedback CEO Website (manual) 2nd week
Backup restore test (automated) CI/CD Velero (automated) 15th of month
Security dependency scan CI/CD GitLab SAST/DAST Continuous
Review and respond to all open support tickets CEO/CSM membership-support Weekly
Invoice generation and SEPA collection trigger Automated membership-payment 1st of month
Dunning for failed payments Automated membership-payment 7th, 14th, 21st

Quarterly Business Review Template

  1. Financial Summary -- Revenue (MRR, ARR), costs, cash runway, burn rate trend
  2. Customer Metrics -- Total customers, new customers, churned, NPS, CSAT
  3. Pipeline Health -- Leads, conversion rates per stage, average deal size, sales cycle length
  4. Product Metrics -- Feature adoption, API usage, uptime, response time
  5. Team Health -- Headcount, open positions, team satisfaction, velocity trend
  6. Competitive Intelligence -- New competitor moves, pricing changes, feature launches
  7. Next Quarter Goals -- OKRs (3-5 objectives with measurable key results)

Technology Operations

GitLab CI/CD Pipeline

The entire software delivery lifecycle is automated through GitLab CI/CD:

Feature Branch → Merge Request → Pipeline:
  ├── Build (Maven, Docker image)
  ├── Test (Unit, Integration, Testcontainers)
  ├── SAST (Static Application Security Testing)
  ├── DAST (Dynamic Application Security Testing)
  ├── Container Scan (Trivy)
  ├── Code Quality (SonarQube free)
  └── Deploy:
      ├── staging (auto on merge to develop)
      └── production (manual trigger on merge to main)

Deployment Cadence

Type Frequency Process Approval
Feature release Bi-weekly (Sprint end) Merge to main, manual deploy trigger Dev Lead review + CEO approval
Hotfix As needed Direct merge to main Dev Lead review (CEO notified)
Infrastructure change As needed Terraform MR, plan review Dev Lead review
Database migration With feature release Flyway, backward compatible Dev Lead review + staging test

On-Call Rotation

Phase A (5 persons): Dev Lead is primary on-call. CEO is escalation contact. No formal rotation (small team).

Phase B+ (6+ persons): Weekly rotation among Dev Lead, Full Stack Dev, and QA/DevOps. On-call engineer has a Hetzner admin account and kubectl access. Escalation: on-call → Dev Lead → CEO.

On-call expectations: - Respond to P1 alerts within 15 minutes (Telegram) - Respond to P2 alerts within 1 hour (email) - P3/P4 handled during business hours only - Compensatory time off for after-hours incidents


Success Metrics and Milestones

Key Performance Indicators

Category Metric Month 6 Target Month 12 Target Month 24 Target
Revenue MRR (EUR) 500 2,500 10,000
Revenue ARR (EUR) 6,000 30,000 120,000
Customers Total paying 10 40 120
Customers Starter tier users 30 100 300
Customers Monthly churn rate < 5% < 3% < 2%
Sales Lead-to-demo rate 30% 40% 45%
Sales Trial-to-paid rate 15% 25% 30%
Product NPS 30+ 40+ 50+
Product Uptime 99.5% 99.9% 99.95%
Support Average response time 24h 8h 4h
Support CSAT 80% 85% 90%
Team Headcount 5 6 8
Financial Cash runway (months) 10 8 6+

Milestone Timeline

Milestone Target Date Success Criteria
GmbH registered M0 + 6 weeks HRB number received, bank account active
Infrastructure live M0 + 2 weeks Hetzner cluster running, monitoring active
v1.0 feature-complete M0 + 5 months Core modules passing all acceptance tests
Beta launch (5 design partners) M0 + 6 months 5 organizations actively using the platform
Public launch M0 + 7 months Website live, self-service signup enabled
First paying customer M0 + 7-8 months First Starter or Professional subscription
10 paying customers M0 + 10 months Validated product-market fit signal
First Customer Success hire M0 + 12 months CEO support load reduced by 50%
50 paying customers M0 + 18 months Sustainable growth trajectory confirmed
Break-even (monthly) M0 + 24 months Monthly revenue >= monthly costs
150 paying customers M0 + 30 months Market position established
Series A readiness (optional) M0 + 36 months EUR 300K+ ARR, < 3% churn, clear unit economics

Appendix

Resource URL Purpose
Hetzner Cloud Console https://console.hetzner.cloud Infrastructure management
Hetzner Cloud API Docs https://docs.hetzner.cloud Terraform provider reference
Cloudflare Dashboard https://dash.cloudflare.com CDN, DNS, WAF configuration
GitLab https://gitlab.com/membership-one Source code, CI/CD, issues
ELSTER (tax portal) https://www.elster.de USt-Voranmeldung, tax filings
Bundesanzeiger https://www.bundesanzeiger.de Financial statement publication
IHK (regional) https://www.ihk.de Chamber of commerce
DATEV Unternehmen Online https://www.datev.de Digital bookkeeping with Steuerberater
Mailgun https://www.mailgun.com Transactional email (SMTP)
Uptime Kuma https://github.com/louislam/uptime-kuma Self-hosted monitoring

GmbH Formation Document Checklist

  • Gesellschaftsvertrag (Musterprotokoll) -- signed at Notar
  • Handelsregister Eintragung (HRB certificate)
  • Gewerbeanmeldung (trade registration certificate)
  • Steuernummer (tax number from Finanzamt)
  • USt-IdNr. (VAT ID from BZSt)
  • Geschaeftskonto (business bank account confirmation)
  • Betriebshaftpflicht Police (liability insurance policy)
  • Cyber-Versicherung Police (cyber insurance policy)
  • D&O-Versicherung Police (D&O insurance policy)
  • DATEV Mandantenvertrag (tax advisor engagement letter)
  • Datenschutzerklaerung (privacy policy -- published on website)
  • Verarbeitungsverzeichnis (GDPR processing register)
  • Impressum (legal notice -- published on website)
  • AGB / Nutzungsbedingungen (terms of service -- published on website)
  • Auftragsverarbeitungsvertrag (DPA template for customers)

Hetzner Terraform Quick Reference

# Example: Provision the full infrastructure
# See infra/terraform/ in the repository for complete configuration

resource "hcloud_network" "membership" {
  name     = "membership-network"
  ip_range = "10.0.0.0/16"
}

resource "hcloud_network_subnet" "k8s" {
  network_id   = hcloud_network.membership.id
  type         = "cloud"
  network_zone = "eu-central"
  ip_range     = "10.0.1.0/24"
}

resource "hcloud_server" "app_node" {
  count       = 3
  name        = "app-node-${count.index + 1}"
  server_type = "cx32"
  image       = "ubuntu-24.04"
  location    = "nbg1"

  network {
    network_id = hcloud_network.membership.id
    ip         = "10.0.1.${count.index + 10}"
  }

  firewall_ids = [hcloud_firewall.default.id]

  labels = {
    role = "app"
    env  = "production"
  }
}

resource "hcloud_server" "infra_node" {
  count       = 2
  name        = "infra-node-${count.index + 1}"
  server_type = "cx22"
  image       = "ubuntu-24.04"
  location    = "nbg1"

  network {
    network_id = hcloud_network.membership.id
    ip         = "10.0.1.${count.index + 20}"
  }

  firewall_ids = [hcloud_firewall.default.id]

  labels = {
    role = "infra"
    env  = "production"
  }
}

resource "hcloud_load_balancer" "web" {
  name               = "membership-lb"
  load_balancer_type = "lb11"
  location           = "nbg1"
}

resource "hcloud_firewall" "default" {
  name = "membership-firewall"

  rule {
    direction = "in"
    protocol  = "tcp"
    port      = "443"
    source_ips = ["0.0.0.0/0", "::/0"]
  }

  rule {
    direction = "in"
    protocol  = "tcp"
    port      = "80"
    source_ips = ["0.0.0.0/0", "::/0"]
  }

  rule {
    direction = "in"
    protocol  = "tcp"
    port      = "22"
    source_ips = ["ADMIN_IP/32"]
  }
}