ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Drop a doc. Unspool it. — unspool.cc
Drag in any document (class notes, a textbook chapter, a work PDF, a contract) and Unspool turns it into 10 short, swipeable, Instagram-style reels with hooks, voiceover, animated visuals and a quick quiz.
Stack: Next.js 16 (App Router) + TypeScript + Tailwind v4 + Motion, Supabase (Auth, Postgres, Storage), Vercel (hosting, background functions, cron), Stripe (Checkout, Portal, webhooks), Claude (plan + scripts + OCR), OpenAI TTS or ElevenLabs (voiceover).
Try the viewer with no backend at all: npm run dev → http://localhost:3000/s/demo.
upload (browser → Supabase Storage via signed URL)
└─ POST /api/documents/:id/start
└─ job: process (own function invocation)
extract text (unpdf / mammoth / pptx XML; Claude vision OCR for scans & photos)
plan 10 reels with Claude → reels rows (titles + hooks = free preview)
└─ job: reel 1 (script with Claude → TTS per segment → Storage)
└─ jobs: reels 2–10 in parallel (reuse the warm prompt cache)
browser polls GET /api/documents/:id every 2s and plays reels as they become ready
src/lib/schema.ts) via structured outputs, validated with zod, retried once.healIfStuck).Key files: src/lib/pipeline.ts, src/lib/claude.ts, src/lib/tts.ts, src/components/reel/* (player),
src/components/reel/use-playback.ts (timing engine), supabase/migrations/* (schema + RLS + buckets).
supabase/migrations/20261015000000_init.sql
(SQL editor, or supabase db push). It creates the tables, RLS policies, and the private documents and audio buckets.
https://unspool.cc; add redirect URL https://unspool.cc/auth/callback
(and http://localhost:3000/auth/callback for dev).https://<project>.supabase.co/auth/v1/callback).STRIPE_SECRET_KEY. Create a webhook endpoint at https://unspool.cc/api/stripe/webhook for
checkout.session.completed, checkout.session.async_payment_succeeded, customer.subscription.created|updated|deleted
and set STRIPE_WEBHOOK_SECRET. Enable the Customer Portal. Prices are inline by default ($2.49 per doc, $7.99/mo);
override with PRICE_*_CENTS or STRIPE_PRICE_SUBSCRIPTION.ANTHROPIC_API_KEY, plus OPENAI_API_KEY (or ELEVENLABS_API_KEY) for voiceover..env.example, set CRON_SECRET (daily cleanup of anonymous
uploads older than 7 days) and JOB_SECRET. If Deployment Protection is on for previews, enable
"Protection Bypass for Automation" so internal job calls work (VERCEL_AUTOMATION_BYPASS_SECRET is picked up automatically).unspool.cc in Vercel → Domains, then at Namecheap set an A record @ → 76.76.21.21 and a
CNAME www → cname.vercel-dns.com (or switch nameservers to Vercel).cp .env.example .env.local # fill in
npm install
npm run dev
FREE_UPLOADS_PER_DAY (default 3) per IP / device / account; subscribers get SUBSCRIBER_UPLOADS_PER_DAY.GENERATE_LOCKED_REELS_EAGERLY=false defers reels 2–10 until unlock to cut AI cost.