ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Open-source quantum computing lab: 16-qubit simulator, lessons and an AI tutor.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Learn quantum mechanics by playing with it. Forty live visualizations, a from-scratch
16-qubit statevector simulator, a fifteen-lesson course, 30 circuit challenges, two graded exams, and an
AI tutor that degrades honestly when it has nothing to run on.
Next.js 16 React 19 TypeScript 5.6 (strict) Tailwind 3.4 three.js Python 3.11
FastAPI Qiskit + Aer PennyLane LangChain Supabase Stripe MITREADME 전문 보기 ↗Learn quantum mechanics by playing with it. Forty live visualizations, a from-scratch 16-qubit statevector simulator, a fifteen-lesson course, 30 circuit challenges, two graded exams, and an AI tutor that degrades honestly when it has nothing to run on.
Next.js 16 React 19 TypeScript 5.6 (strict) Tailwind 3.4 three.js Python 3.11
FastAPI Qiskit + Aer PennyLane LangChain Supabase Stripe MIT
Nothing here is a video or a pre-rendered animation. The double-slit page computes its own
interference pattern and samples individual particle impacts from it. The tunneling page
integrates the time-dependent Schrödinger equation while you watch. The circuit editor runs a
genuine statevector simulation written from scratch in apps/web/lib/quantum.ts — about 2,300 lines
with zero dependencies, cross-checked against Qiskit and PennyLane by a test that runs both.
It is for anyone who has read the words "superposition" and "entanglement" and wanted to actually touch them.
git clone <your-repo-url> && cd quantum-lab
npm install # from the REPO ROOT — this is an npm workspace
npm run dev
Open http://localhost:3000.
No API key, no Python, no database, no account. The visualizations, the simulator, the whole course, the challenges, the exams and the tutor's offline answer set are self-contained TypeScript. Every environment variable in this repository is optional; each one switches on an extra. If a change ever makes an empty environment fail to boot, the change is wrong.
A good first five minutes: open /simulator, load the Bell State preset, press Run, and
confirm you only ever get 00 and 11 — never 01 or 10. That is entanglement, computed in
your browser.
Measured on this tree, not estimated. Re-measure before quoting.
| Suite | Command | Result |
|---|---|---|
| Types | npx tsc --noEmit -p apps/web/tsconfig.json | clean |
| Web unit | cd apps/web && npx vitest run | 860 passed, 43 files |
| API service | cd services/api && .venv/bin/python -m pytest -q | 129 passed |
| Agent service | cd services/agent && .venv/bin/python -m pytest -q | 82 passed |
| Preflight | node scripts/preflight.mjs | 20 pass, 0 warn, 0 fail |
Playwright (apps/web/tests/e2e, 12 spec files across a chromium and a mobile project) needs
a server on :3000 and, in a container, PW_CHROMIUM pointed at a Chromium binary. It was not
re-run for this README; see CONTRIBUTING.md § Running every suite.
Learn — fifteen lessons. Eight free foundations (qubits, superposition and measurement, interference, tunneling, gates and circuits, entanglement, Grover, inside a quantum computer) and six paid advanced (Shor, error correction, VQE/NISQ, quantum cryptography, quantum machine learning, QAOA/optimization). Each has an inline quiz, question-first inline checks, and a live embedded visualization.
Simulate — /simulator. Click-or-keyboard gate grid, step-through execution, shot sampling
with a noise model, state inspector with amplitudes and reduced-density-matrix entanglement
entropy, OpenQASM 3 import/export with exact π fractions, save/load, share links that carry the
circuit in the URL. All 16 qubits are free with no account. A research-tools panel computes exact
Pauli-sum expectation values (Z0 Z1, 0.5*X0X1 - Y2, ZZI) and downloads the full final
statevector as CSV or JSON.
Visualize — eleven interactive experiments. Eight are listed on /visualizations
(double-slit, superposition, Bloch sphere, entanglement, tunneling, Grover, QFT, decoherence);
three more (/visualizations/shor, /visualizations/surface-code, /visualizations/vqe) render
and have their own metadata and social cards, but they are not in the VISUALIZATIONS
catalogue in components/ui/Hero.tsx and no page, lesson or nav entry links to them — a grep of
apps/web for their paths matches only their own route files. They are reachable only by typing
the URL, and they are absent from /visualizations, the sitemap and the search palette. That is
a gap, not a design.
Practise — 22 circuit-building challenges with par scores, staged hints and a verdict that
explains what is wrong. Two timed exams (foundations-cert: 15 questions drawn from a pool of
58; advanced-cert: 20 from 61, behind the certification feature), graded and stamped by the
server, with resumable attempts and per-question review.
Tutor — /tutor. Three tiers: the LangChain agent that runs circuits to check its own
answers, a direct Anthropic call, and a built-in offline answer set. The status line above the
chat box names the tier that actually replied.
Coach — a concept graph over the course that recommends what to study next from local progress, and shows the rule behind each recommendation.
Hardware — /hardware. Device picker, cost estimate, submission and job polling against
services/api (Qiskit + Aer, PennyLane) through a server-side proxy that authenticates the
caller, checks the entitlement, reserves quota, and only then presents the operator's secret
upstream.
Operate — Stripe billing with server-enforced entitlements, org seats with per-role checks, classroom assignments with opt-in progress sharing, an admin console, a local-first insights page that sends nothing anywhere, and a PWA with an offline fallback.
This section is the honest half of the README. None of these is a bug report.
supabase/*.sql is
written and reviewed, not executed. The anon key is public by design, so RLS is the only
thing between a browser and the data — and today the load-bearing control is the
application-layer check in apps/web/lib/orgs/access.ts. Run the schema on a throwaway
project and test it as an ordinary signed-in user before you enable accounts.supabase/schema-orgs.sql deletes every unclaimed invite. Deliberately: the old
token scheme was forgeable and hashing those tokens would preserve keys an attacker can
compute. Export pending invitations first. See docs/DEPLOYMENT.md § 5.2.services/api is unauthenticated on its own port and must stay off the public internet, or
carry API_SHARED_SECRET. It executes user-supplied circuits and can spend IBM/Braket credits.
The Next proxy is the enforcement point.docs/ONBOARDING.md.docs/CLASSROOM.md.job_id keeps its usage row and is
unpollable. Logged, not handled.docs/RESPONSIVE.md § 3 lists
the phone-width defects that are known and still open..env.example is missing seven variables the code reads. BILLING_RECONCILE_SECRET,
HEALTH_DEEP_TOKEN, UPSTASH_REDIS_REST_URL/_TOKEN (and the KV_REST_API_* aliases),
BRAKET_S3_BUCKET/_PREFIX, NEXT_PUBLIC_SENTRY_RELEASE and NEXT_PUBLIC_SENTRY_ENVIRONMENT
are all read by shipped code and absent from the file that claims to be the authoritative list.| Path | What it is | Needs |
|---|---|---|
apps/web | Next.js 16 App Router: 100 pages, 61 route handlers, the simulator, the course, the visualizations, the tutor endpoint and every entitlement gate | Node 18.17+ |
services/api | FastAPI + Qiskit Aer + PennyLane. Executes OpenQASM 3, transpiles, estimates cost, submits to and polls real hardware | Python 3.11, optional |
services/agent | LangChain tool-calling agent over Gemini, Groq, Anthropic or Azure OpenAI (LiteLLM, cheapest-first), thirteen tools, TF-IDF retrieval over the course | Python 3.11, optional |
docs/ARCHITECTURE.md has the diagrams: what talks to what, the
entitlement path from a click to a server refusal, the hardware submission chain, the tutor's
three-tier degradation and the data model.
services/api (port 8000)cd services/api
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn app.main:app --reload --port 8000
Interactive docs at http://localhost:8000/docs. See
services/api/README.md.
services/agent (port 8001)cd services/agent
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn agent.server:app --reload --port 8001
./scripts/setup.sh (bash) or .\scripts\setup.ps1 (PowerShell) does the env files and both
venvs in one pass.
All of it lives in apps/web/lib/quantum.ts — zero dependencies.
Complex arithmetic, every standard gate, controlled gates, SWAP and Toffoli, Bloch vectors,
reduced-density-matrix entanglement entropy, measurement collapse, shot sampling with a seeded
mulberry32 PRNG, and OpenQASM 3 import/export.
Representation. An n-qubit state is 2ⁿ complex amplitudes in a flat Float64Array of
[re, im] pairs. Qubit 0 is the least significant bit: basis index i has qubit q set when
(i >> q) & 1 === 1. Bitstring labels print MSB-first (q_{n-1} … q_1 q_0) so histogram keys
line up with Qiskit's display convention. See
ADR-0003.
Verified, not asserted — these are assertions in vitest run:
|00⟩ and |11⟩, entanglement entropy 1.0.|11⟩ with probability 1.0.RY(π/3) state onto qubit 2, giving P(1) = 0.25.lib/quantum.crosscheck.test.ts pins this module's output against Qiskit and PennyLane
through fixtures generated by services/api/tests/test_js_crosscheck.py.services/api/tests/test_js_extended_crosscheck.py runs the real module in Node on random
circuits of 2–16 qubits — U3, √X, Fredkin, multi-controlled X, custom 2×2/4×4 matrices, X/Y/Z
and anti-controls, controlled QFT, modular arithmetic — and requires every amplitude of the
exported QASM to match Qiskit to 1e-9. CI installs Node in the API job so these run, and
test_js_bridge_available.py fails the job rather than skipping if they cannot.Engineering documentation site: https://docs.qubit16.ai/ — architecture, the simulator engine and its verification, security, testing, deployment and engineering practices, built from website/ by .github/workflows/pages.yml.
Read STATUS.md first — what runs, what just closed, what is knowingly open.
| Doc | For |
|---|---|
docs/ARCHITECTURE.md | The diagrams and the data model |
docs/adr/ | Decision records — the non-obvious calls and the failures that motivated them |
CONTRIBUTING.md | Every suite, every trap, the design rules |
docs/DEPLOYMENT.md | Vercel + Railway, or one box with Compose |
docs/OPERATIONS.md | Health endpoints, error shape, error tracking, CI |
docs/SECURITY.md | Threat model, the pre-production checklist |
docs/BILLING.md · docs/THEMING.md · docs/ACCESSIBILITY.md · docs/PERFORMANCE.md | Subsystem detail |
docs/ANALYTICS.md · · · |
See CONTRIBUTING.md.
MIT — see LICENSE.
docs/PWA.md| Surfaces |
docs/ANDROID.md | The Android app (apps/android/) — a Trusted Web Activity, why, and what is left to publish |
docs/HARDWARE.md · services/api/docs/ · services/agent/docs/RAG.md | Hardware, jobs, PennyLane, retrieval |
docs/CLASSROOM.md · docs/ONBOARDING.md · docs/ROADMAP.md | Product surfaces and what is next |