Operational quick reference for live nipcode.xyz.
| Surface | URL | Provider |
|---|---|---|
| Landing + docs + account | https://nipcode.xyz | Vercel |
| Production API | https://nipcode.xyz/api/* | Vercel functions |
| Auth + DB | Supabase project ygsgmhuxqjnwzgzzjrke |
Supabase |
| Domain | nipcode.xyz | NameSilo |
Symptom: landing 5xx
- Check Vercel deployment status:
vercel inspect https://nipcode.xyz - Roll back if needed:
vercel rollback - Check DNS:
dig +short A nipcode.xyz @1.1.1.1. Should return216.150.1.1
Symptom: /api/decision returns 500 or empty best
- Check OpenAI status (gpt-4o-mini outage is the most common cause)
- Decision endpoint falls back to heuristic ranking if LLM is unavailable; verify by curl with
q=react&sources=npm&limit=1 - Check Vercel function logs
Symptom: login fails with Invalid or expired code
- Check Supabase auth.users. Was the user even created?
select * from auth.users order by created_at desc limit 5; - Check rate limit. Free tier: 4 emails/hour built-in SMTP.
- Confirm OTP length matches: Supabase Auth → Providers → Email → OTP Length should match what's in user's email.
- If
Email Confirmationis ON, signInWithOtp uses signup-confirm flow not magic-link OTP. Disable it for the OTP UX we want.
Symptom: /api/auth/verify 401 with valid code
The verify.js tries email, magiclink, recovery, signup types in order. If all fail, the token is genuinely expired or wrong. Ask user to request a fresh code.
cd ~/Projects/nipcode
vercel --prod --yesCache: Vercel edge caches /api/* for 60s public, 300s s-maxage. Force-bust by varying query params or wait.
# accounts count
curl -s "https://ygsgmhuxqjnwzgzzjrke.supabase.co/rest/v1/accounts?select=count" \
-H "apikey: $SUPABASE_SERVICE_KEY" \
-H "Prefer: count=exact" \
-H "Range: 0-0" -I | grep -i content-range
# recent signups
curl -s "https://ygsgmhuxqjnwzgzzjrke.supabase.co/rest/v1/accounts?select=email,created_at&order=created_at.desc&limit=10" \
-H "apikey: $SUPABASE_SERVICE_KEY"Migrations are in supabase/migrations/. Apply via Supabase SQL Editor.
Registrar: NameSilo. Apex A 216.150.1.1, www CNAME cname.vercel-dns.com, TTL 3600.
# verify DNS
dig +short A nipcode.xyz @1.1.1.1
dig +short CNAME www.nipcode.xyz @1.1.1.1