ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Free Virginia SOL practice using real VDOE released test questions, grades 3–8. Adaptive Math & Reading with IEP/504 accommodations built in — text-to-speech, dyslexia font, extended time, and more.
EducationTypeScript · HTMLGitHub @svarukalaOnlineOwner 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
VA SOL Practice portal for special need kids
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A home-based Standards of Learning practice app for children grades 3–5 with special needs and learning disabilities. Parents manage profiles and accommodations; children practice reading and math with full accessibility support.
npm install -g supabasenpm install
npx supabase start
Copy the printed API URL, anon key, and service_role key for the next step.
Create .env.local in the project root:
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon key from supabase start>
SUPABASE_SERVICE_ROLE_KEY=<service_role key from supabase start>
ENCRYPTION_SECRET=<64 hex characters — run: openssl rand -hex 32>
npx supabase db push
npm run db:seed
npm run dev
Open http://localhost:3000, sign up as a parent, add a child, and start practicing.
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | ✅ | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | ✅ | Supabase anon (public) key |
SUPABASE_SERVICE_ROLE_KEY | ✅ | Supabase service role key (server-only, for seeding) |
ENCRYPTION_SECRET | ✅ | 64 hex chars used to encrypt API keys at rest |
Generate ENCRYPTION_SECRET:
openssl rand -hex 32
npx supabase db push --db-url <your-supabase-db-url>SUPABASE_SERVICE_ROLE_KEY=<key> npm run db:seedEdit supabase/seed/questions.json and run npm run db:seed (idempotent — safe to re-run).
Each question follows this shape:
{
"grade": 3,
"subject": "math",
"topic": "Place Value",
"sol_standard": "3.1",
"difficulty": "medium",
"question_text": "What is the value of the digit 7 in 472?",
"simplified_text": "In the number 472, what does the 7 mean?",
"question_type": "multiple_choice",
"choices": ["7", "70", "700", "7000"],
"correct_answer": "70",
"hints": ["Look at which place the 7 is in.", "The 7 is in the tens place."],
"calculator_allowed": false
}
calculator_allowed rules (Virginia SOL):
falsetrue on calculator-active questions, false on non-calculator questionsfalsequestions.json with the new grade/subject valuesnpm run db:seednpm test
All tests use Vitest + React Testing Library. No external services required.
If you have an OpenAI API key, you can auto-generate simplified_text for questions missing it:
OPENAI_API_KEY=sk-... npm run generate:simplified
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Database | Supabase (Postgres + RLS + Storage) |
| Auth | Supabase Auth (parents only — children have no accounts) |
| UI | shadcn/ui + Tailwind CSS |
| TTS | Web Speech API (free) / OpenAI TTS / ElevenLabs (BYOK) |
| Encryption | AES-256-GCM via Web Crypto API |
| Testing | Vitest + React Testing Library |
| Fonts | Geist (UI) + OpenDyslexic (accessibility) |