Skip to content

Repository files navigation

StackFlow

StackFlow is an AI-powered project manager for solo developers. The app now includes core project execution, AI chat, GitHub publishing, public project pages, and a full community layer for discovery, feeds, galleries, idea sharing, and builder profiles.

Monorepo Layout

  • backend/ FastAPI API, AI orchestration, Supabase persistence, GitHub integration helpers
  • frontend/ React + Tailwind web app with landing, onboarding, dashboard, task board, code panel, chat, demo mode, public pages, and community screens
  • mobile/ Expo app starter aligned to the same API and Supabase config
  • supabase/ SQL schema and extension setup

Prerequisites

  • Node.js 20+
  • npm 10+
  • Python 3.9+
  • A Supabase project
  • Anthropic API key
  • OpenAI API key with Codex-capable model access
  • GitHub token for repository actions

Setup

  1. Copy .env.example to .env at the repo root.
  2. Fill in real values for Supabase, Anthropic, OpenAI, and GitHub.
  3. Create a Python virtual environment and install backend dependencies:
    • cd backend
    • python3 -m venv .venv
    • source .venv/bin/activate
    • pip install -r requirements.txt
  4. Install frontend dependencies:
    • cd ../frontend
    • npm install
  5. Install mobile dependencies when you are ready to run Expo:
    • cd ../mobile
    • npm install
  6. Apply the schema in supabase/schema.sql to your Supabase database.
  7. For local community/profile actions, the frontend currently uses a lightweight X-User-Id bridge header in development. Production auth can be layered in later without changing the community UI.

Running Locally

Backend

cd backend
source .venv/bin/activate
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Frontend

cd frontend
npm run dev

Docker Compose

docker compose up

Mobile

cd mobile
npm run start

Notes

  • The backend starts without live API keys, but AI-powered endpoints require valid Anthropic and OpenAI credentials to work.
  • The boilerplate route uses the OpenAI client and expects a Codex-capable model configured in OPENAI_CODEX_MODEL.
  • GitHub push/repo flows require a valid GITHUB_TOKEN.
  • Chat retrieval relies on pgvector plus the SQL function in supabase/schema.sql.
  • Demo mode and demo community pages are fixture-backed and safe to present without any backend keys.

Deployment

Frontend on Vercel

  1. Import the GitHub repo into Vercel.
  2. Set the project root to frontend/.
  3. Confirm the framework preset is Vite.
  4. Add:
    • VITE_API_BASE_URL=https://<your-render-service>.onrender.com
    • VITE_SUPABASE_URL=https://<your-supabase-project>.supabase.co
    • VITE_SUPABASE_ANON_KEY=<your-supabase-anon-key>
  5. Deploy and use /demo for the judge-safe walkthrough.
  6. Recommended public links:
    • Main submission: https://<your-vercel-domain>/demo
    • Community showcase: https://<your-vercel-domain>/demo/discover
    • Public project page: https://<your-vercel-domain>/p/demo-dungeon-crawler

The SPA rewrite for deep links like /demo is defined in frontend/vercel.json. Vercel rewrites are configured in vercel.json per the official docs: Vercel rewrites.

Backend on Render

  1. Create a new Render Blueprint or Web Service from this repository.
  2. Use render.yaml from the repo root.
  3. Fill in the unsynced environment variables in the Render dashboard:
    • CORS_ORIGINS=https://<your-vercel-domain>
    • SUPABASE_URL
    • SUPABASE_ANON_KEY
    • SUPABASE_SERVICE_ROLE_KEY
    • ANTHROPIC_API_KEY
    • OPENAI_API_KEY
    • GITHUB_TOKEN
  4. Apply supabase/schema.sql in the Supabase SQL editor before using project, chat, embedding, or community routes.

Render blueprints use a root-level render.yaml file and support service rootDir, buildCommand, and startCommand as documented in the official Render blueprint reference: Render blueprint spec.

Submission Recommendation

  • Submit the public Vercel URL
  • Demo judges on /demo
  • Use /demo/discover if you want to show the community layer without relying on live data
  • Use /p/demo-dungeon-crawler to show the shareable public-project experience
  • Mention that the live app also supports full real mode through Render + Supabase + Anthropic + OpenAI + GitHub once production secrets are configured

About

AI-powered project manager for solo developers — task execution, AI chat, GitHub publishing, and community discovery. FastAPI + React + Expo monorepo.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages