Joey LLM's web app, built by Southern Cross AI. Want to give Joey a new personality? Keep reading.
A Joey Mode swaps Joey's personality — prompt, name, colours, icon, mascot. No core app editing required. Little Joey (default), Evil Joey, and Sydney Joey exist so far — switch between them from the sidebar to see it in action, and hover a mode's name for a one-line description of what it does.
git clone git@github.com:joeyllm/ChatJoey.git
cd ChatJoey
npm install
npm run devOpen http://localhost:3000.
No setup needed — with no .env.local, Joey runs in demo mode automatically.
Good enough to build and test a mode.
Build and test your Joey Mode locally first using demo mode.
When you're ready, open a pull request. If the mode looks good, a Southern Cross AI maintainer can deploy it to beta.joeyllm.ai so you can test it against the real Joey LLM model.
You do not need a local API key for that workflow.
- Copy the mode template, rename it
- Edit the prompt, colours, icon (mascot is optional — most modes reuse the default)
- Register it, done — no app code touched
Run locally and pick your mode from the "Joey Modes" list in the sidebar — no environment variables needed once it's registered.
Once your pull request is ready, we can deploy it to beta so you can see how it behaves with the real Joey model.
Create a branch or fork → build your Joey Mode → open a pull request.
We review it, test it on beta, and if everything looks good, merge it.
Fun and weird is great. Hate, harassment, or unsafe content isn't — those modes get rejected or removed.
Branch: integration/s5-mobile-responsive-qa
This local integration branch combines S5-A01 through S5-A05 and validates them with the S5-A07 and S5-A08 Playwright suites. It includes the mobile navigation drawer, compact header and status, dynamic viewport composer, overflow containment, and tablet/desktop regression rules.
Run locally in demo/mock mode:
npm install
npx playwright install chromium
npm run lint
npm run build
npm run test:mobileThe Playwright production server uses local port 3005. Run only one test
command at a time and open the latest report with npm run test:report.
S5-A07 covers 667x375, 844x390, 768x1024, and 1024x768. S5-A08
verifies that the mobile drawer is reachable by Tab, opens with Enter and
Space, closes with Escape, restores trigger focus, traps focus while open,
and keeps hidden drawer controls out of the focus order.
No API key, real backend request, deployment, or protected-branch merge is required. Codex integrated the isolated mobile branches, completed the missing drawer behaviour, aligned the QA suites with the client minutes, and performed the local verification documented here.