ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Personalised study plans, adaptive practice exams, and spaced repetition for CompTIA certifications.
EducationTypeScript · PLpgSQLGitHub @davidhamilton99OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Adaptive exam prep for CompTIA certifications — live at certbench.dev.
CertBench builds a personalised daily study plan from your actual performance: a
confidence-penalised readiness score, adaptive practice exams, SM-2 spaced
repetition, hands-on PBQ simulations, and AI-generated study sets from your own
notes.Read the full README ↗Adaptive exam prep for CompTIA certifications — live at certbench.dev.
CertBench builds a personalised daily study plan from your actual performance: a confidence-penalised readiness score, adaptive practice exams, SM-2 spaced repetition, hands-on PBQ simulations, and AI-generated study sets from your own notes.
Certifications: Security+ SY0-701 · Network+ N10-009 · A+ Core 1 220-1101 · A+ Core 2 220-1102
See docs/ARCHITECTURE.md for the layering rules and docs/DATABASE.md for the schema contract.
npm install
cp .env.example .env.local # fill in the values (see below)
npm run dev # http://localhost:3000
Required in .env.local for a working app:
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase project (RLS-scoped access) |
SUPABASE_SERVICE_ROLE_KEY | Admin client (webhook, rate limiter, account deletion) |
ANTHROPIC_API_KEY | AI question generation (503s cleanly if absent) |
STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET / STRIPE_PRO_PRICE_ID | Billing (use TEST keys locally) |
src/env.ts is the authority: public vars are validated at boot, secrets at
point of use — a missing Stripe key never breaks non-Stripe features.
Note: the Supabase free tier pauses the project after inactivity, which drops its DNS records. If the DB is unreachable, resume it from the Supabase dashboard.
npm run dev # dev server
npm run build # production build
npm test # vitest (core behavioural locks + contract tests)
npm run lint # eslint (includes architecture-boundary rules)
npm run typecheck # tsc --noEmit
npm run db:types # regenerate src/types/database.gen.ts (needs SUPABASE_ACCESS_TOKEN)
npm run db:types:check # CI drift check against the live schema
Pushes to main deploy to production via Vercel. Preview deployments run
against the same production database (RLS confines writes to the acting
user) — use dedicated +test accounts on previews and TEST-mode Stripe keys in
the Preview environment. New migrations in supabase/migrations/ must be
additive and are applied manually via the Supabase SQL editor.