The philip.pm portfolio assistant (this site's chatbot)
A Next.js edge chatbot on Cloudflare Pages with a five-provider cascade, signed-cookie rate limiting with staged daily budgets and a curated preset answer bank streamed instantly. Live, inspectable proof of hands-on work.

1 / 6
Recruiters and hiring managers ask the same thirty questions about my background and want an answer in seconds, at any hour, without a booking. I owned the whole thing: product, code, deployment and the API bill. It doubles as the one deployment anyone can inspect directly by using it.
2 / 6
Runs on free or near-free LLM tiers, so any single provider can be slow, rate-limited or down at any moment. Must answer honestly about my work using the responsibility tags, never publish phone or email, stay within a daily budget that cannot be abused, and render fast on a phone.
3 / 6
A Next.js 15 route on the Cloudflare edge runtime that cascades across five providers (Groq, Cerebras, Gemini, DeepSeek, OpenRouter) with per-provider timeouts and fallback, a signed-cookie rate limiter with staged daily budgets and a capacity bar in the UI, a curated preset answer bank served as suggestion chips and streamed instantly without a model call, and a hardened system prompt built from the canonical profile facts. I wrote and debugged this by hand; it is the reference for how I want the AI-assisted deployments to behave.
4 / 6
- Next.js 15 App Router on Cloudflare Pages (next-on-pages)
- Edge runtime API route
- Groq, Cerebras, Gemini, DeepSeek and OpenRouter
- HMAC signed-cookie rate limiting
- Curated preset answer bank (JSON) with streaming
5 / 6
Provider timeouts and fallback order are configuration, not code. The system prompt is generated from the same canonical facts as the CV, with blocked claims checked before deploy. Rate limits are enforced server-side with a signed cookie so the budget cannot be reset from the browser. Fallback and provider errors are logged so the cascade can be tuned.
6 / 6
Measured by fallback rate (share of requests that leave the first provider) and p95 response time to first token, both visible in the edge logs. The best evidence is the chatbot itself: ask it whether I am hands-on and it will give you the three-part answer.
Want the numbers behind this one?
Adoption and precision figures are shared on a call, not published. Book 30 minutes or send a message.