A conversational AI intake tool that walks clients through articulating their business problem, then generates a structured Problem Statement Brief for the LevelUp Applied Technology team.
- Client clicks a link → branded LevelUp chat experience
- AI consultant guides them through the problem (People → Process → Technology)
- After ~10 minutes, generates a structured brief with observations
- Client can copy the brief or email it directly to
justin@lvlup.au - Your API key stays server-side (never exposed to the client)
- GitHub account (free) → github.com
- Vercel account (free, sign up with GitHub) → vercel.com
- Anthropic API key → console.anthropic.com
# If you haven't already, install Git
# Then from this folder:
cd levelup-intake
git init
git add .
git commit -m "LevelUp AI Intake v1"
git branch -M main
# Create a new repo on GitHub called "levelup-intake" (don't add README)
# Then push:
git remote add origin https://github.com/YOUR-USERNAME/levelup-intake.git
git push -u origin main- Go to vercel.com/new
- Click "Import Git Repository"
- Select your
levelup-intakerepo - Before deploying, click "Environment Variables"
- Add:
- Key:
ANTHROPIC_API_KEY - Value: Your Anthropic API key (starts with
sk-ant-...)
- Key:
- Click Deploy
- Wait ~60 seconds. Done.
Your app is now live at: https://levelup-intake.vercel.app (or similar)
Email your client the link. That's it.
- In Vercel dashboard → your project → Settings → Domains
- Add:
intake.lvlup.au(or whatever subdomain you want) - Vercel gives you DNS records to add
- Add those records in your domain registrar (where lvlup.au is managed)
- Wait for DNS propagation (~5 min to 1 hour)
- Now clients visit:
https://intake.lvlup.au
cd levelup-intake
npm install
cp .env.example .env.local
# Edit .env.local and add your Anthropic API key
npm run dev
# Open http://localhost:3000levelup-intake/
├── app/
│ ├── api/
│ │ └── chat/
│ │ └── route.js ← Server-side API (keeps your key secure)
│ ├── layout.js ← HTML wrapper, metadata, fonts
│ └── page.js ← The full chat UI
├── public/ ← Static assets (add logo here)
├── .env.example ← Template for environment variables
├── .gitignore
├── next.config.js
├── package.json
└── README.md
Edit the SYSTEM_PROMPT in app/api/chat/route.js. This controls:
- Conversation flow and question sequence
- Tone and language style
- Brief output format
- How many exchanges before offering to generate the brief
Edit the colour constants at the top of app/page.js:
const NAVY = "#242B5A"; // LevelUp primary dark
const TEAL = "#007DAD"; // LevelUp primary accent
const GREEN = "#ADCE6D"; // LevelUp secondary accentDrop your logo file into public/ and reference it in the header section of app/page.js.
Search for justin@lvlup.au in app/page.js and replace if needed.
| Item | Cost |
|---|---|
| Vercel hosting | Free (hobby tier) |
| Custom domain | Free (if you already own it) |
| Anthropic API per conversation | ~$0.08–0.15 AUD |
| 10 clients/month | ~$1–1.50 AUD |
| 50 clients/month | ~$5–7.50 AUD |
- API key is stored as a Vercel environment variable (server-side only)
- Client never sees the API key
- Conversations are not stored — they exist only in the browser session
- No cookies, no tracking, no analytics (add if you want)
- Add rate limiting if you make the URL public (Vercel has built-in options)
When you've validated the concept with a few clients:
- Auto-email the brief to you when generated (add SendGrid/Resend)
- Save briefs to Azure SQL or SharePoint (integrate with existing infra)
- Add analytics (how many started, how many completed)
- Move to Azure App Service alongside Frank infrastructure
- Create intake variants for different service lines (HR, Tech, Strategy)
Built by LevelUp Applied Technology · lvlup.au · Perth, WA