ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Video learning platform with AI search that opens the lesson video at the exact second a topic is taught. Next.js 16, Sanity, Gemini, Clerk.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Search your learning in plain English. Vertex is a video learning platform. You type a question like "where did they explain caching?" and get a ranked list of results. Each result opens the lesson video at the exact second the topic comes up.
Live demo → vertex-delta-orpin.vercel.app · try searching for "caching" or "server components"
| Home | Lesson | Mobile |
|---|---|---|
| Area | Tools |
|---|---|
| Web app | Next.js 16 (App Router, React Server Components), React 19, TypeScript, Tailwind CSS v4 |
| Content | Sanity (separate Studio, private dataset, GROQ, Portable Text, TypeGen) |
| AI search | Vercel AI SDK 7, Google Gemini, Sanity Context MCP |
| Auth | Clerk (route protection in middleware) |
| Analytics | PostHog (product events and server logs over OpenTelemetry) |
| Validation | Zod |
| Hosting | Vercel |
browser ──GET /api/search?q=──▶ Next.js route (server only)
│
├─ 1. split the query into keywords, drop stop words
├─ 2. two GROQ queries through the Sanity Context MCP
│ • lessons: title (boosted ×3), notes, key points
│ • videos: chapters first, transcript chunks only as a fallback
├─ 3. Gemini ranks the matches and returns {lessonId, second}[]
├─ 4. each result is checked against Sanity as it arrives
└─ 5. result cards stream back as NDJSON ──▶ results page
Design decisions worth calling out:
lib/search.ts rejects a result unless the lesson belongs to a course and the claimed second matches a real chapter or chunk. Labels such as "Lesson 3.2" are worked out from the module order, never stored..
├── app/ Next.js routes: home, catalog, course, lesson, search, /api/search
├── components/ UI components (cards, groove bar, header, search results)
├── lib/ Pure logic with tests: search grounding, labels, video embeds, pagination
├── sanity/ Server-only Sanity client, GROQ queries
├── proxy.ts Clerk middleware (browsing stays public)
└── studio/ Standalone Sanity Studio
├── schemaTypes/ course, module, lesson, instructor, category, video
└── scripts/
├── ingest/ Offline caption/chapter ingestion (YouTube, Vimeo, Bunny)
├── seed/ Seed dataset (10 courses, 120 lessons)
└── context/ Search config document for the Context MCP
Security rules the code follows:
[a-z0-9] keywords before it reaches any query.youtube-nocookie.com for YouTube.You need Node 24, a Sanity project, a Clerk app, a Gemini API key, and a PostHog project.
# web app
npm install
cp .env.example .env.local # fill in the keys; .env.example lists every one
npm run dev # http://localhost:3000
# studio (separate terminal)
cd studio
npm install
npx sanity dataset import scripts/seed/seed.ndjson production
npm run deploy && npm run schema:deploy # the Context MCP needs a deployed Studio
npm run ingest # build chapter/transcript docs for every lesson video
npx tsc --noEmit
npm run lint
node --test lib/*.test.ts # web unit tests
node --test studio/scripts/ingest/parse.test.ts # caption parser tests
npm run build
Done: content model, Clerk auth, catalog, course and lesson pages, video ingestion, AI search, PostHog analytics, and the "Listening Room" redesign (see DESIGN.md).
Next: instructor pages, My Learning, and progress tracking (resume position and completed lessons, written through a server route).
Every feature started as a written spec in prompts/ covering the goal, decisions, security notes, acceptance criteria and manual test steps. It then shipped as its own pull request. AGENTS.md holds the architecture rules the whole codebase follows.