Skip to content

ForeignX Drops — Executive summary

Planning doc. Not a pitch with invented traction.
Plain twin: ../business-plain/business-overview.md

What it is

ForeignX Drops coordinates mutual engagement “drops” on X (Twitter) for many influencer groups on one multi-tenant platform.

  • Members join a timed list, post in a window, then engage (like/repost) with each other’s posts.
  • Storage: Google Sheets (membership + lists + tweets) + KeePass (OAuth bearer tokens only).
  • Runtime: .NET 8 on Google Cloud Run, Angular UI, Quartz schedules, Flurl + Polly for X API.

Why multi-tenant

The original Claude design was one group. Product direction is one layer up: numerous groups manage themselves (members, messenger, timezone, default engagement mode) without sharing data.

Engagement modes (set per drop)

Mode Behavior
Automatic Server likes/reposts using stored tokens
Manual Members use in-app cards (like / repost / skip / open in X)
Both Auto runs; cards always available if automation fails

Stack (USPTO-shaped)

Layer Layout
Backend src/ForeignXDrops — Controllers, Services/Interfaces, Models, Jobs, Configuration
Tests tests/ForeignXDrops.Tests
Frontend frontend/src/app/{components,services,models} (Angular, USPTO-UI style)
Deploy Dockerfile → Cloud Run; KeePass via Mono; GCS for .kdbx

Status

Restructure in progress on branch wt/fx-uspto-restructure. Core API builds; multi-tenant org registry is in-memory pending Sheets; Angular components ported as design files pending full ng workspace.

Money

Groups pay per org subscription (planned). See monetization-strategy.md.