Self-hosted social feed. Anyone can read posts. Sign in to publish. Ads are placed by age, country, and platform.
Go API, Next.js, Expo, Postgres. The app is called Stream.
- apps/backend — Go API
- apps/web — Next.js
- apps/mobile — Expo
pnpm installRun the stack (Postgres, API with hot reload, web with hot reload):
docker compose up --build
docker compose exec backend go run ./cmd/seedOpen http://localhost:3000 signed out to read the mock feed. Sign in as jane@stream.local, kai@stream.local, nova@stream.local, or miles@stream.local (password password123) to publish a real post.
Wipe the database and start over:
docker compose down -vOr Postgres only, then every app on the host:
docker compose up -d postgres
pnpm dev
pnpm --filter backend db:seedApp-specific setup, APIs, and commands live in each app README.