Skip to content

Products, domains, and legal strategy

Reference for product portfolio, domain naming, HTTPS, company structure, and hosting costs. Revisit when deciding subdomains, branded domains, SL registration, or investor timing.

Not legal advice

This page captures team decisions and general founder patterns for Spain/EU. Before registering an SL, invoicing, or raising investment, consult a gestor and abogado mercantil.

What's live today

Surface Host / repo Notes
Platform infra/devops on infra VPS (85.215.32.166) git, ci, pm, docs, status, metrics, security
Portfolio rafael.gonzalez.albes/portfolio IONOS — rafaelgonzalezalbes.com / www
WearLab alex/wearlab-main on apps VPS (82.165.177.110) wearlab.rafaelgonzalezalbes.com

SSH alias naming

bioscan-vps is the SSH alias for the infra VPS (legacy name). It is not the BioScan product server. Use apps-vps for the apps runtime host.

Active Woodpecker + DefectDojo wiring covers only the three rows above. See scripts/wire-defectdojo-woodpecker.sh.

Product portfolio

Product Forgejo repo / org Planned host Status
WearLab alex/wearlab-main wearlab.rafaelgonzalezalbes.com Live — Symfony backend + products API on apps VPS
Portfolio rafael.gonzalez.albes/portfolio rafaelgonzalezalbes.com / www Live on IONOS — personal brand, not a product company
DroneColonies TBD dronecolonies.rafaelgonzalezalbes.com Planned — product details TBD
Cat tree TBD cats.rafaelgonzalezalbes.com Planned — product details TBD

Paused / not deployed (repo may still exist on Forgejo):

Product Forgejo repo Notes
BioScanCheck bioscan/bioscancheck Not deployed — no DNS to apps VPS, no Kuma monitor, excluded from CI/security wire scripts. Local dev only; see BioScanCheck.

Side projects (local / future):

Project Notes
TimberTails Static site path timbertails/ — local dev only for now
Airport Connection Local dev only (localhost:3000)

Hostnames for apps VPS are defined in local/apps-vps.env.example (WEARLAB_HOST, etc.). Do not point bioscan.* at production until BioScanCheck is explicitly re-onboarded.

Domain strategy

Phase 1 — now (no extra domain purchases)

Use one domain (rafaelgonzalezalbes.com) and add subdomains per product:

Layer Target IP Examples
Platform (infra VPS) 85.215.32.166 git, ci, pm, docs, status, …
Products (apps VPS) 82.165.177.110 wearlab, dronecolonies, cats (planned)
Portfolio IONOS web hosting apex, www

Per-app checklist:

  1. Add DNS A record in IONOS (or Cloudflare) → apps VPS IP
  2. Set Traefik Host() label in app deploy/docker-compose.yml
  3. Let's Encrypt issues HTTPS automatically (no paid cert)

See DNS for platform records and New app for onboarding steps.

Phase 2 — when a brand or SL launches

Register a branded domain (e.g. wearlab.com, bioscancheck.es) in the legal entity's name when:

  • The SL (or autónomo structure) exists
  • You run public marketing under that brand
  • You invoice customers or handle personal data under that name
  • Investors require a clean cap table and IP assignment

Technical cutover (same apps VPS, no rebuild):

  1. Point branded domain DNS → 82.165.177.110
  2. Add Traefik Host() rules for the new domain
  3. Keep the old subdomain during transition (both can work in parallel)

Do not buy branded domains while still building MVP — subdomains are enough for dev, demos, and early users.

flowchart TB
  Domain["rafaelgonzalezalbes.com\none registration"]

  Domain --> Infra["git / ci / pm / docs …\nInfra VPS"]
  Domain --> Apps["wearlab / bioscan / cats …\nApps VPS"]
  Domain --> Portfolio["apex / www\nIONOS"]

  Apps -.->|"Phase 2"| BrandA["wearlab.com"]
  Apps -.->|"Phase 2"| BrandB["bioscancheck.com"]

HTTPS — who provides it

IONOS "SSL included" on the domain panel covers IONOS hosting, not platform or app subdomains pointing at the VPS.

Surface HTTPS provider Notes
Platform (git, ci, pm, …) Let's Encrypt via Traefik on infra VPS Free, auto-renew ~90 days
Apps (wearlab, bioscan, …) Let's Encrypt via Traefik on apps VPS Free, auto-renew
Portfolio apex / www IONOS SSL on Apache Or Cloudflare edge TLS if proxied — see TLS and HTTP versions

Let's Encrypt is a free certificate authority. Traefik requests and renews certs automatically; no manual uploads or yearly SSL purchases for VPS-hosted services.

Phased approach

Do not register four SLs on day one. Cost and overhead per SL in Spain is roughly €300–800 setup plus ongoing gestoría/accounting per entity.

Phase When Action
0 — Now Building MVPs Subdomains only; no new SLs. Clarify WearLab co-founder terms with Alex before major commits (equity, IP, roles).
1 — First revenue First paying customer or B2B contract One autónomo (solo, simple) or one SL (co-founders, limited liability). Multiple products can live under one SL initially.
2 — Traction / investors Product needs funding or clean separation Dedicated SL per product; assign IP (code), domain, privacy policy, and bank account to that SL.
3 — Optional holding Two or more product SLs are real businesses HoldCo SL owns stakes in product SLs; shared infra billed via internal license between entities.

Bootstrap vs investor signals

Signal Bootstrap-friendly Likely needs investors / dedicated SL
MVP buildable in under 6 months Yes No
Hardware, inventory, or large marketing spend No Yes
Revenue plausible in year 1 without funding Yes No
Co-founder with equity split Simple agreement OK Cap table + vesting before SL
Regulated claims (food, drones, health) Lower risk at MVP Legal/compliance budget before public launch
Product Bootstrap vs investors Notes
BioScanCheck TBD — consumer app can scale with marketing Review EU food/labelling claims before public "certification" messaging
WearLab TBD Co-founder project — sort equity and IP before SL
DroneColonies TBD — often capital-heavy if hardware/IoT Product model not documented yet
Cat tree Likely bootstrap / side project Product model not documented yet
Asset Typical legal owner
Infra VPS, Forgejo, Woodpecker, Plane You personally → later HoldCo or tech SL
Each product app + subdomain Product SL when it exists
Portfolio / personal site You personally (not a product company)
Branded domain (brand.com) Same SL that operates that product

Same servers can serve all products; separation is contracts, domains, and legal entities, not separate VPSes per company.

Technical mapping

Topic Doc
Servers and DNS overview Platform architecture
Apps VPS layout Apps VPS
Onboard a new repo Onboard project
New app checklist New app
Migrate app to apps VPS Migrate app to apps VPS
Secrets and backups Secrets

Forgejo org convention:

Org / namespace Purpose
infra Platform (devops)
rafael.gonzalez.albes Portfolio
bioscan BioScanCheck and future bioscan products
alex WearLab (wearlab-main)
Future wearlab, dronecolonies, or per-product orgs as repos grow

Hosting cost notes

Current split (today):

Provider Role
IONOS Domain, DNS, portfolio web hosting (static SFTP), infra + apps VPS
Infra VPS (85.215.32.166) Platform stack + centralized observability (status, metrics, security)
Apps VPS (82.165.177.110) Product runtimes (WearLab, …) — monitored from infra, not duplicated

Future optimization (agreed direction — not started): move compute and portfolio origin off expensive IONOS renewals while keeping the same dual-VPS platform.

Decision Choice
VPS provider Hetzner Cloud (EU, predictable €)
Topology Keep infra + apps (do not merge)
Portfolio Leave IONOS web hosting → static on infra + Cloudflare
DNS Cloudflare free; domain registration may stay at IONOS short-term
Big cloud No (AWS/GCP not a fit for this stack)
Off-site backups Hetzner Storage Box (or B2) + restic

Full cutover checklist, phases, risks, and scaling table: Migrate VPS off IONOS (Hetzner plan).

Quick decisions

Question Answer for now
Buy more domains today? No — use subdomains
Register four SLs today? No — build first; one SL when first product earns
Who pays for app HTTPS? Nobody — Let's Encrypt on Traefik
When to buy brand.com? When SL exists and you go public under that brand
Can all products share one apps VPS? Yes — add DNS + Traefik host per app
Duplicate status/metrics/security per VPS? No — centralized on infra VPS; see Architecture → Observability
What goes on IONOS vs VPS today? IONOS = DNS + domain + portfolio static + both VPS. VPS = APIs, CI, observability, apps
Future hosting direction? Hetzner dual VPS + Cloudflare DNS + portfolio on infra — see Hetzner migration plan