ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
אב טיפוס פנימי — לא לשימוש חיצוני
Translation pending
EducationTypeScript · PLpgSQLGitHub @yanivasaf-uiOnlineOwner 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.
Hebrew-language, curriculum-aligned AI tutor for elementary school kids (grades א'-ג' to start — Math + Hebrew language), sold direct-to-parent. Full project context: the-system-v8/P-projects/ai-tutor-il/ in the main workspace repo (brief, decisions, CONTEXT.md). This app is the build artifact; that repo is the knowledge base.Read the full README ↗
Hebrew-language, curriculum-aligned AI tutor for elementary school kids (grades א'-ג' to start — Math + Hebrew language), sold direct-to-parent.
Full project context: the-system-v8/P-projects/ai-tutor-il/ in the main workspace repo (brief, decisions, CONTEXT.md). This app is the build artifact; that repo is the knowledge base.
dna-kit-app@anthropic-ai/sdk — tutor conversation generation (Claude)@huggingface/transformers — local, on-device multilingual embeddings (no API key, no per-query cost). Model: Xenova/paraphrase-multilingual-MiniLM-L12-v2. Swappable for OpenAI/Voyage later by editing only lib/rag/embed.ts if quality needs to improve — nothing else in the pipeline needs to change.data/curriculum-index.json), cosine similarity search — no external vector DB yet. Fine at this scale (single digits of subjects/grades); swap lib/rag/store.ts for a real vector store (Cloudflare Vectorize, pgvector) if/when content volume grows past what a brute-force scan handles comfortably.lib/rag/curriculum-seed.ts -- REAL Ministry-sourced content (grades א'-ג', math + Hebrew)
|
scripts/build-index.ts -- chunk -> embed -> save (npm run build-index)
|
data/curriculum-index.json -- the "vector store"
|
lib/rag/store.ts -- cosine similarity search at request time
|
app/api/chat/route.ts -- retrieve + build system prompt + call Claude
curriculum-seed.ts now holds real content sourced from ecat.education.gov.il / pop.education.gov.il, not placeholder text. See the-system-v8/P-projects/ai-tutor-il/brain/curriculum-research-math-hebrew-a-g.md in the workspace repo for the sourcing notes.
lib/prompts/tutor-system-prompt.ts encodes the decisions locked in M-memory/decisions.md ("AI Tutor IL: Build-Direction Decisions", 2026-08-22):
looksOffCurriculumOrEmotional() for a future parent-dashboard log (currently just console.log, no dashboard built yet)Per the locked placement/calibration decision — no quiz, no parent onboarding, level derived entirely from real exercise performance, adjusted session-by-session, with the tutor LLM (not a hardcoded rule) judging pacing:
lib/memory/types.ts — SubjectProfile shape: estimatedLevel, topicsCovered, errorPatterns, emotionalSignals, recentSummary, all free-text/LLM-written, not scored fieldslib/memory/store.ts — JSON-file-backed store (data/kid-profiles.json), same simple pattern as the RAG index. Known limitation, stated plainly: on Vercel's serverless runtime this filesystem is ephemeral across deploys/cold starts — writes are not guaranteed to persist in production. Fine for local dev/prototype testing; swap for a real DB (Vercel KV/Postgres) before this needs to reliably hold real users' data.lib/memory/update.ts — after each tutor reply, a second lightweight Claude call reads the current profile + the latest exchange and returns an updated profile as JSON. Failures here never break the reply the kid actually sees (falls back to leaving the profile untouched).app/api/kids/ — create/fetch kid profiles, set avatarapp/api/chat/route.ts (optional kidId in the request) and buildTutorSystemPrompt() in tutor-system-prompt.tsPer the locked decision (superhero/anime/fantasy/animal styles, never photorealistic/human-like):
lib/avatars.ts — the character pack. Emoji + CSS gradient placeholders only — final production art is an explicit human/Asaf decision, not made here.components/AvatarPicker.tsx — picker grid UI + AvatarBadge shown in the chat header and next to tutor repliesKidSetup screen in app/page.tsx (name + avatar), persisted via /api/kids, stored client-side in localStorage to skip setup on return visitslib/llm/anthropic.ts). A Hebrew tone/cost/latency comparison against GPT-4o-class and Gemini is still owed — needs OPENAI_API_KEY / a Gemini text-API key added to .env.local (not committed, not pasted into chat — add directly to the file).npm install
npm run build-index # only needed once, or after curriculum-seed.ts changes
npm run dev # runs on :3001 (dna-kit-app already uses :3000)
Requires ANTHROPIC_API_KEY in .env.local (already set locally, copied from dna-kit-app).