CloudAlt Company
├── 5 Business Units (BUs) - Self-Contained (Modular) Units
│ ├── BU #1: Stays (32 apps)
│ ├── BU #2: Friendly (4 apps)
│ ├── BU #3: Services (4 apps)
│ ├── BU #4: Lingua (5 apps)
│ └── BU #5: Life (3 apps)
│
├── 10 Divisions
│ ├── D1: Stay Overnight → Stays → Network hospitality
│ ├── D2: Twinship → Stays → Double occupancy travel partner matching
│ ├── D3: Roommate → Stays → Long-term roommate matching
│ ├── D4: altFriendly, TANDUP, Tapear → Friendly → Platonic friend & activity partner discovery
│ ├── D5: Pride City → Services → Community Marketplace
│ ├── D6: Bonjour → Services → Digital privacy and concierge service marketplace
│ ├── D7: Speech Therapy → Lingua → Speech Tree: Exercise-based rehab for stroke/TBI recovery & kids
│ ├── D8: Field Linguistics → Lingua → LingKit: Kiosk-in-hand for documenting endangered languages
│ ├── D9: Language Learning → Lingua → LingKit IPA Listen & Learn: Phonetics training & language tool
│ └── D10: Life Scheduler → Life → AI-powered task management
│
├── 47 Branded Apps
│ ├── 19 Stay Overnight apps (D1)
│ ├── 7 Twinship apps (D2: pairaway, twinship, cabinmate, vegasbuddy, resortbuddy, skibuddy, travelpairing)
│ ├── 6 Roommate apps (D3)
│ ├── 3 Friending apps (D4: altFriendly, TANDUP, Tapear)
│ ├── 1 Pride City app (D5)
│ ├── 3 Bonjour apps (D6)
│ ├── 2 Speech Therapy apps (D7)
│ ├── 1 Field Linguistics app (D8)
│ ├── 2 Language Learning apps (D9)
│ └── 3 Life Scheduler apps (D10)
│
└── 5 Django Projects - Backend Infrastructure
├── stays/ (port 8001) → BU1 Stays (D1, D2, D3)
├── friendly/ (port 8002) → BU2 Friendly (D4)
├── services/ (port 8003) → BU3 Services (D5, D6)
├── lingua/ (port 8004) → BU4 Lingua (D7, D8, D9)
└── life/ (port 8005) → BU5 Life (D10)
stays/ Django project)Port: 8001
Database: Supabase (redacted)
Membership ID: STAY-XXXXXX
Divisions:
Total Apps: 32 branded applications
Shared Business Logic:
Why Together:
friendly/ Django project)Port: 8002
Database: Supabase (redacted)
Membership ID: FREN-XXXXXX
Divisions:
Total Apps: 2 branded applications
Shared Business Logic:
Strategic Note:
services/ Django project)Port: 8003
Database: Supabase (redacted)
Membership ID: SERV-XXXXXX
Divisions:
Total Apps: 4 branded applications
Shared Business Logic:
lingua/ Django project)Port: 8004
Database: Supabase (TBD)
Membership ID: LING-XXXXXX
Divisions:
Total Apps: 5 branded applications
Shared Business Logic:
life/ Django project)Port: 8005
Database: Supabase (TBD)
Membership ID: LIFE-XXXXXX
Divisions:
Total Apps: 3 branded applications
Shared Business Logic:
Click on any division name to see all apps and domains
| Division | Flagship | BU | Django Project | # Apps | Target Audience |
|---|---|---|---|---|---|
| D1: Stay Overnight | stayovernight.app |
Stays | stays/ |
19 | Short-term travel companions, LGBTQ+ travelers, economy of sharing enthusiasts |
| D2: Twinship | pairaway.app |
Stays | stays/ |
7 | Single travelers seeking double occupancy travel companions |
| D3: Roommate | roommate.works |
Stays | stays/ |
6 | Roommate seekers, long-term housing market, LGBTQ+ housing needs |
| D4: altFriendly | altfriendly.app |
Friendly | friendly/ |
2 | An alternative to dating, an activity-based friend matching platform |
| D5: Pride City | pride.city |
Services | services/ |
1 | LGBTQ+ community event goers |
| D6: Bonjour | bonjour.locker |
Services | services/ |
3 | Digital device privacy storage, service providers, marketplace consumers |
| D7: Speech Therapy | speechtree.app |
Lingua | lingua/ |
2 | Adults recovering from stroke/TBI, homeschool parents with speech-delayed kids |
| D8: Field Linguistics | lingkit.app |
Lingua | lingua/ |
1 | Field linguists cataloging endangered & minority languages worldwide |
| D9: Language Learning | ipa.lingkit.app |
Lingua | lingua/ |
2 | Linguistics students, language enthusiasts, polyglots mastering IPA & phonetics |
| D10: Life Scheduler | lifescheduler.app |
Life | life/ |
3 | Productivity seekers, time management enthusiasts |
Multiple apps per division with:
Flagship: stayovernight.app - Direct descriptor branding
stayovernight.app → Blue #3B82F6 → General market flagship
hostguest.app → Teal #14B8A6 → Official Stay Overnight brand (hostguest_app)
hostguest.com → Companion domain → Brand protection & alt TLD
pinkguest → Pink #F90772 → LGBTQ+ focused
purpleguest → Purple #8A2BE2 → Alternative branding
orangeguest → Orange #FF8C00 → Alternative branding
rainbowhost → Rainbow gradient → LGBTQ+ host focus
greenhost_app → Green #228B22 → Eco-friendly angle
guestroom_city → Urban palette → City focus
guestroom_help → Service colors → Service angle
guestroom_host → Host-centric → Host-focused
guestroom_lgbt → Pride colors → LGBTQ+ focus
guestroom_pink → Pink variant → Pink branding
guestroom_travel → Travel blue → Travel TLD
homestay_international → Global colors → International market
homestay_lgbt → Pride focus → LGBTQ+ homestay
Flagship: roommate.works - Professional/functional branding
roommate.works → Burgundy + Slate → General market flagship
roommate.guru → Burgundy + Gold → Expert positioning
roommate.help → Burgundy + Sky Blue → Service angle
rooms_gay → Pride colors → LGBTQ+ roommate focus
room_lgbt → Pride branding → LGBTQ+ rooms
Flagship: pairaway.app - Double occupancy travel companion pairing
pairaway.app → Indigo #4B0082 → Division flagship - travel companion pairing
twinship.app → Indigo #4B0082 → Alt flagship - single travelers seeking companions
cabinmate.app → Cruise Blue → Cruise cabin mate matching
vegasbuddy.app → Vegas Gold → Vegas trip companion matching
resortbuddy.app → Resort Teal → All-inclusive resort buddy matching
skibuddy.app → Alpine White → Ski trip companion matching
travelpairing.app → Indigo #4B0082 → SEO/Marketing test - generic travel pairing
Flagship: altfriendly.app - Activity-based platonic friend matching
altfriendly.app → Primary brand → General market flagship
tandup.app → TANDUP → Gay men's friend-matching app
tapear.app → Tapear → Real-time after-work social coordination
Flagship: pride.city - LGBTQ+ community hub
pride.city → Pride colors → LGBTQ+ community events & services
Flagship: bonjour.locker - Service Marketplace and Digital Privacy Solutions
bonjour.locker → Primary brand → Service marketplace flagship
bonjour.services → Service marketplace → Digital concierge
bonjour.buzz → Service discovery → Alerts and notifications
Total: 47 branded applications across 10 divisions
Market Positioning:
| Division | App Name | Domain |
|---|---|---|
| D1: Stay Overnight (19 apps) | ||
| D1 | Stay Overnight | stayovernight.app |
| D1 | HOSTGUEST | hostguest.app |
| D1 | pinkGuest | pinkguest.app |
| D1 | Pink Host | pinkhost.app |
| D1 | purpleGuest | purpleguest.app |
| D1 | Purple Host | purplehost.app |
| D1 | Orange Guest | orangeguest.app |
| D1 | Orange Host | orangehost.app |
| D1 | Rainbow Host | rainbow.host |
| D1 | GreenHost | green.host |
| D1 | GUESTROOM City | guestroom.city |
| D1 | GUESTROOM Help | guestroom.help |
| D1 | GUESTROOM Host | guestroom.host |
| D1 | GUESTROOM LGBT | guestroom.lgbt |
| D1 | GUESTROOM Pink | guestroom.pink |
| D1 | GUESTROOM Travel | guestroom.travel |
| D1 | Home Stay International | homestay.international |
| D1 | HomeStay LGBT | homestay.lgbt |
| D1 | Room LGBT | room.lgbt |
| D2: Twinship (7 apps) | ||
| D2 | PAIRAWAY | pairaway.app |
| D2 | Twinship | twinship.app |
| D2 | Cabin Mate | cabinmate.app |
| D2 | Vegas Buddy | vegasbuddy.app |
| D2 | ResortBuddy | resortbuddy.app |
| D2 | SkiBuddy | skibuddy.app |
| D2 | The Travel Pairing App | travelpairing.app |
| D3: Roommate (6 apps) | ||
| D3 | ROOMMATE Works | roommate.works |
| D3 | Roommate Guru | roommate.guru |
| D3 | Roommate Help | roommate.help |
| D3 | Roommate LGBT | roommate.lgbt |
| D3 | Roommate City | roommate.city |
| D3 | Rooms GAY | rooms.gay |
| D4: altFriendly (3 apps) | ||
| D4 | altFriendly | altfriendly.app |
| D4 | TANDUP | tandup.app |
| D4 | Tapear | tapear.app |
| D5: Pride City (1 app) | ||
| D5 | Pride City | pride.city |
| D6: Bonjour (3 apps) | ||
| D6 | Bonjour Locker | bonjour.locker |
| D6 | Bonjour Services | bonjour.services |
| D6 | Bonjour Buzz | bonjour.buzz |
| D7: Speech Therapy (2 apps) | ||
| D7 | Speech Tree | speechtree.app |
| D7 | Speech Tree Kids | junior.speechtree.app |
| D8: Field Linguistics (1 app) | ||
| D8 | LingKit | lingkit.app |
| D9: Language Learning (2 apps) | ||
| D9 | LingKit IPA | ipa.lingkit.app |
| D9 | LingKit Learn | learn.lingkit.app |
| D10: Life Scheduler (3 apps) | ||
| D10 | Life Scheduler | lifescheduler.app |
| D10 | Life Push | lifepush.app |
| D10 | Life Raise | liferaise.app |
Our backend is organized into five Django projects—one per Business Unit. This structure was selected to optimize for three organizational priorities:
Strategic Flexibility
Each Business Unit operates as a self-contained service, enabling independent scaling, licensing, or divestiture without cross-BU dependencies.
Development Efficiency
Divisions within each BU share common business logic, authentication, and data models—reducing duplication while maintaining clear boundaries.
Operational Clarity
Each project runs on its own port with dedicated configuration, simplifying deployment, monitoring, and team ownership.
cloudalt-django/
├── stays/ # BU #1: Stays (port 8001)
│ ├── manage.py
│ ├── config/
│ ├── members/ # Universal membership (BU-level)
│ ├── stay_overnight/ # D1: Division-specific logic
│ ├── twinship/ # D2: Division-specific logic
│ └── roommate/ # D3: Division-specific logic
│
├── friendly/ # BU #2: Friendly (port 8002)
│ ├── manage.py
│ ├── config/
│ ├── members/ # Universal membership (BU-level)
│ └── altfriendly/ # D4: Division-specific logic
│
├── services/ # BU #3: Services (port 8003)
│ ├── manage.py
│ ├── config/
│ ├── members/ # Universal membership (BU-level)
│ ├── pride_city/ # D5: Division-specific logic
│ └── bonjour/ # D6: Division-specific logic
│
├── lingua/ # BU #4: Lingua (port 8004)
│ ├── manage.py
│ ├── config/
│ ├── members/ # Universal membership (BU-level)
│ ├── speech_therapy/ # D7: Division-specific logic
│ ├── field_linguistics/ # D8: Division-specific logic
│ └── language_learning/ # D9: Division-specific logic
│
└── life/ # BU #5: Life (port 8005)
├── manage.py
├── config/
├── members/ # Universal membership (BU-level)
└── life_scheduler/ # D10: Division-specific logic
Problem Solved: User signs up on pinkGuest → Should auto-login to orangeGuest, roommate_guru, etc.
Solution:
joined_stay_overnight, joined_twinship, joined_roommateShared at BU Level:
Division-Specific:
cloudalt-react/apps/
├── bu1/stays/
│ ├── stay-overnight/ # D1: 19 apps
│ │ ├── pinkguest/
│ │ │ ├── web/ # React web app
│ │ │ ├── mobile/ # React Native mobile
│ │ │ └── shared/ # Shared code
│ │ ├── stayovernight/
│ │ └── ... (17 more)
│ │
│ ├── twinship/ # D2: 7 apps
│ │ ├── pairaway/
│ │ ├── twinship/
│ │ ├── cabinmate/
│ │ ├── vegasbuddy/
│ │ ├── resortbuddy/
│ │ ├── skibuddy/
│ │ └── travelpairing/
│ │
│ └── roommate/ # D3: 6 apps
│ ├── roommate_works/
│ └── ... (5 more)
│
└── bu2/friendly/ # D4: 3 apps
│ └── altfriendly/
│ ├── altfriendly_app/
│ ├── tandup/
│ └── tapear/
│
├── bu3/services/ # D5-D6: 4 apps
│ ├── pride-city/
│ └── bonjour/
│
├── bu4/lingua/ # D7-D9: 5 apps
│ ├── speech-therapy/
│ ├── field-linguistics/
│ └── language-learning/
│
└── bu5/life/ # D10: 3 apps
└── life-scheduler/
cloudalt-flutter/apps/ # Same BU structure
└── (mirrors React structure)
packages/ # Shared code
├── ui/ # Cross-division UI components
├── ui-twinship/ # Division-level UI components
├── theme/ # Brand color tokens (21 themes)
├── types/ # TypeScript types
└── services/ # API clients
Theme (T01-T22) → Colors only | UX Profile (R01-R15) → Typography, spacing, shapes, shadows, animations
// Theme Layer (colors) - 22 themes
theme['T01-pink'].colors.primary = '#F90772' // pinkGuest
theme['T02-orange'].colors.primary = '#FF8C00' // orangeGuest
theme['T03-purple'].colors.primary = '#9370DB' // purpleGuest
// UX Profile Layer (non-color properties) - 15 profiles
uxProfile['R01-warm'].typography.scale = 1.2
uxProfile['R01-warm'].spacing.base = 8
uxProfile['R01-warm'].animation.duration = 'moderate'
// Note: Division is an organizational grouping, NOT a token layer
Brand Colors:
| Brand | Hex | Used By |
|---|---|---|
| Pink | #F90772 |
pinkGuest |
| Orange | #FF8C00 |
orangeGuest |
| Purple | #8A2BE2 |
purpleGuest, roommate_guru |
| Green | #228B22 |
greenHost |
| Burgundy | #800020 |
Stay Overnight flagship, Roommate apps |
GCP Cloud Run (containerized)
├── stays-api:8001 → BU1 Stays (D1, D2, D3)
├── friendly-api:8002 → BU2 Friendly (D4)
├── services-api:8003 → BU3 Services (D5, D6)
├── lingua-api:8004 → BU4 Lingua (D7, D8, D9)
└── life-api:8005 → BU5 Life (D10)
Each with:
- Auto-scaling
- Load balancing
- Supabase managed PostgreSQL
- Cloud Storage (GCP) for media
- Firestore for real-time chat
Cloudflare Pages (static sites)
├── pinkguest.com → D1 Stay Overnight / pinkguest
├── stayovernight.app → D1 Stay Overnight / flagship
├── pairaway.app → D2 Twinship / flagship
├── twinship.app → D2 Twinship / alt flagship
├── roommate.works → D3 Roommate / flagship
├── altfriendly.app → D4 altFriendly / flagship
├── pride.city → D5 Pride City / flagship
├── bonjour.locker → D6 Bonjour / flagship
├── lingkit.app → D8 Field Linguistics / flagship
├── lifescheduler.app → D10 Life Scheduler / flagship
└── ... (48 total apps)
Each with:
- Global CDN
- Cloudflare Access (GitHub OAuth)
- GitHub Actions auto-deploy
| Layer | Purpose | Count | Example |
|---|---|---|---|
| Business Units | Strategic grouping, self-contained units | 5 | Stays, Friendly, Services, Lingua, Life |
| Django Projects | Backend infrastructure | 5 | stays/, friendly/, services/, lingua/, life/ |
| Divisions | Customer-facing brands | 10 | D1-D3 (Stays), D4 (Friendly), D5-D6 (Services), D7-D9 (Lingua), D10 (Life) |
| Branded Apps | Marketing channels, delivery | 46 | stayovernight, pinkguest, pairaway, twinship, roommate.works, etc. |