LaunchPadAI / README.md
Kennedy Johnson
Add LaunchPadAI undergraduate internship advisor panel.
de852c2
|
Raw
History Blame Contribute Delete
3.33 kB
metadata
title: LaunchPadAI
emoji: 🚀
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
app_port: 7860

LaunchPadAI Panel

An AI undergraduate internship and early-career assistant built on Neon AI's Collaborative Conversational AI (CCAI) framework. Ask about Handshake/LinkedIn search, resume polish, interview prep, application cadence, and networking — and get diverse perspectives from a panel of five career AI advisors.

This repository is a complete, deployable application — the CCAI multi-advisor stack (FastAPI backend + React frontend) wired to the LaunchPadAI configuration in launchpad_config.yaml and the personas in personas/career_advisors/.

Advisors

  1. Internship Search Strategist — roles, platforms, target lists
  2. Resume Optimizer — ATS, bullets, skills match
  3. Interview Coach — prep, presence, company research
  4. Application Scheduler — cadence, deadlines, tracking
  5. Career Path Mentor — networking, pivot, full-time transition

Hugging Face Spaces deployment

This Space ships as a single Docker image built from the repository-root Dockerfile. The container:

  1. Builds the React frontend (CRA) at image-build time with REACT_APP_API_URL="" so every fetch issues a relative URL.
  2. Serves the bundled SPA from FastAPI at /, with the API on /api/..., /auth/..., etc. — all on the same :7860 origin.
  3. Persists user data (auth, profiles, chat sessions) in SQLite via aiosqlite at ${DATA_DIR}/launchpad_panel.db. Mount a Hugging Face Storage Bucket at /data to make the database survive Space rebuilds. There is no MongoDB and no third-party data plane.

Required Space secrets

Secret Purpose
JWT_SECRET_KEY Signs auth tokens. Set this to a long random string.
OPENAI_API_KEY Powers the default OpenAI provider (gpt-5.4-mini).
GEMINI_API_KEY Optional — only if you switch llm.provider back to gemini.

Set these under Settings → Variables and secrets on the Space.

Local deployment

Option A — Docker

# From the repo root, create a .env with at least:
#   JWT_SECRET_KEY=some-long-random-string
#   OPENAI_API_KEY=your-openai-key
docker compose up --build

Open http://localhost:7860. Override the host port with LAUNCHPAD_HOST_PORT if 7860 is taken.

Option B — Native (no Docker)

Backend (terminal 1):

cd multi_llm_chatbot_backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
CONFIG_PATH=../launchpad_config.yaml uvicorn app.main:app --reload --port 8000

Frontend (terminal 2):

cd phd-advisor-frontend
npm install
REACT_APP_API_URL=http://localhost:8000 npm start

Open http://localhost:3000 — you should see LaunchPadAI with five career advisors.

Configuration

App UI, login fields, chat examples, orchestrator keywords, and LLM/RAG settings live in launchpad_config.yaml. The five advisor YAMLs in personas/career_advisors/ load automatically. Point the app at a different config with CONFIG_PATH.

The workshop draft that generated this panel is saved as advisor-panel-draft.json.