ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Free quizzes and learning materials for math and physics. Download instantly!
AI translation
Kostenlose Quizze und Lernmaterialien für Mathe und Physik. Sofort downloaden!
EducationTypeScript · HTMLGitHub @kleanacarciu-pixelOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗This is a Next.js project bootstrapped with create-next-app.
Aus einem Themen-Queue erzeugt die Engine automatisch ein fertiges, fachlich geprüftes Short-Paket (noch kein Video, noch kein Posten).
Ablauf: GET /api/generate → nimmt das nächste pending-Topic →
generatePaket() (lib/brain.ts) erstellt Hook/Skript/On-Screen-Texte →
checkMathe() (lib/qa.ts) prüft die Mathematik fachlich → Ergebnis landet in
content_log, das Topic wird auf done (QA ok) oder failed gesetzt.
Modell für beide Schritte: claude-sonnet-4-6. Alle Keys werden nur
serverseitig gelesen.
supabase/content_engine_schema.sql
ausführen. Das legt die Tabellen topics + content_log an und seedet die
8 Themen (Klasse 9) als pending..env füllen. .env.example nach .env kopieren und
die drei Keys eintragen:
ANTHROPIC_API_KEYSUPABASE_URLSUPABASE_SERVICE_ROLE_KEY (Service-Role-Key, nicht den anon-Key!)npm install (falls noch nicht geschehen), dann npm run dev.http://localhost:3000/api/generate öffnen. Du
solltest ein geprüftes Short-Paket sehen — und in Supabase einen neuen
Eintrag in content_log mit qa_ok = true. Jeder weitere Aufruf arbeitet
das nächste Topic ab. Sind alle Themen abgearbeitet, kommt { done: true }.Aus einem geprüften Paket (qa_ok = true) rendert die Engine ein fertiges
9:16-MP4 mit deutscher Stimme und Untertiteln über die JSON2Video-v2-API
(noch kein Posten — das kommt in Phase 3).
Ablauf (Zwei-Phasen, Hobby-Plan-tauglich): GET /api/render macht pro
Aufruf nur einen schnellen Schritt:
content_log-Zeile mit
qa_ok = true und video_status = 'none', baut via buildMovieSpec()
(lib/video.ts) das Movie-Objekt (9:16, weibliche TTS-Stimme spricht Hook +
Skript, Hook als Titel, On-Screen-Texte als Overlays, automatische Untertitel,
heller Markenhintergrund), startet den Render (submitRender()), speichert die
video_project-id und setzt video_status = 'rendering'.pollRender()). Fertig
→ video_url + video_status = 'ready'; Fehler → failed; sonst rendering.Du rufst /api/render also einfach wiederholt auf (~alle 30 s), bis
video_status: "ready" mit der video_url zurückkommt. So bleibt jeder Aufruf
unter dem 60-s-Limit des Hobby-Plans.
JSON2VIDEO_API_KEY (alle Environments) →
neu deployen. Lokal: in .env ergänzen.supabase/phase2_video_columns.sql im
SQL-Editor ausführen (fügt video_url, video_status + video_project zu
content_log hinzu).GET /api/render aufrufen — erster Aufruf startet den Render,
weitere Aufrufe (~alle 30 s) holen ihn ab, bis video_status: "ready" mit der
video_url kommt. Die URL im Browser öffnen und das Short prüfen
(deutsche Stimme, lesbare Formeln/Texte, Untertitel vorhanden?).Phase 3 (Zeitplan → automatisches Posten) folgt, sobald die Videos passen.
Statt einfacher Text-Overlays erzeugt diese Variante programmierte Mathe-Animationen
im 3Blue1Brown-Stil: Formeln bauen sich Schritt für Schritt auf, Flächen/Geometrie
werden gezeigt, und die Stimme ist synchron zur Animation (via
manim-voiceover — jede gesprochene
Aussage läuft genau so lange wie ihre Animation).
Manim braucht Python + LaTeX und läuft nicht auf Vercel. Daher rendert ein
GitHub-Actions-Workflow (.github/workflows/animate.yml):
Ablauf: Workflow starten → nimmt das nächste geprüfte Paket (qa_ok = true,
animation_status = 'none') → Claude (claude-sonnet-4-6) schreibt aus dem Paket ein
manim-voiceover-Skript (9:16, deutsche Stimme, Schritt-für-Schritt-Mathe, Marken-Ton
„Anna", witzig) → Manim rendert das MP4 (mit Selbst-Reparatur: crasht der Code, geht
Fehler + Code zurück an Claude) → Upload nach Supabase Storage → animation_url +
animation_status = 'ready' (sonst failed).
supabase/phase2b_animation_columns.sql
(fügt animation_url, animation_status, manim_code hinzu).shorts
→ Public aktivieren (dorthin lädt der Renderer die MP4s).ANTHROPIC_API_KEYSUPABASE_URLSUPABASE_SERVICE_ROLE_KEYELEVENLABS_API_KEYcontent_log-id eintragen). Der Lauf dauert
einige Minuten (LaTeX-Installation + Render). Ergebnis: animation_url in content_log.Hinweis: Von Claude generierter Animationscode kann beim ersten Mal fehlschlagen — der Workflow repariert bis zu 4×. Der Look/Stil lässt sich über den Prompt in
scripts/render_animation.py(SYSTEM_PROMPT) weiter justieren.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.