ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free resource library and study planner for IB Diploma students. Next.js, Supabase, live at diplomahub.org.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Everything you need for the IB Diploma, in one place.
DiplomaHub is a free platform for International Baccalaureate (IB) Diploma students. It combines a library of student-shared resources with a personal planner built around the IB's deadlines and workload.
🔗 Live: www.diplomahub.org
IB students spend a lot of time hunting for good exemplars and guides scattered across Discord servers, Google Drives and old forum threads, and then juggling IAs, the Extended Essay, TOK and university deadlines across six subjects at once. DiplomaHub puts both halves in one place: find what you need, then plan when you'll use it.
.ics feed you can subscribe to from Google/Apple Calendar.ics file (timezones and recurring events handled), with a preview step and one-click undo| Layer | Tools |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack), React 19, TypeScript |
| Styling | Tailwind CSS 4 with a custom design-token system |
| Backend | Supabase (Postgres, Auth, Storage) with row-level security |
| Editor | Tiptap v3, server-side sanitize-html |
| Calendar | ical-generator (export), ical.js (import) |
| Infra | Vercel, Upstash Redis (rate limiting), Sentry (error tracking), Resend (email) |
| CI | GitHub Actions: type-check + lint on every push |
Some of the more interesting problems I ran into and how I solved them:
Cutting serverless CPU on Vercel's free tier. As the user base roughly doubled, the site kept hitting its monthly CPU limit. Instead of guessing, I used Vercel's per-route data to find the real causes:
A trust score that went the wrong way. Resource trust uses Bayesian shrinkage: a new resource starts at its author's reputation and moves toward its own engagement score as likes and downloads add confidence. I found that this made the score visibly drop as downloads came in whenever engagement was below the author's prior. I fixed it so engagement can only raise a resource above its author's baseline.
Guest mode that migrates cleanly. The whole planner works with zero database calls for logged-out users. Guest data uses the exact same row shape as the database, so on sign-in it's moved over with idempotent upserts. This means a refresh or a second tab can never duplicate items.
Calendar import edge cases. Two real bugs here:
Uploads larger than the platform limit. File uploads were failing because Vercel caps serverless request bodies at ~4.5 MB. Files now go straight from the browser to storage, with validation shared between the client and the server.
Security.
git clone https://github.com/nathancoolusername/DiplomaHub.git
cd DiplomaHub
npm install
Create a .env.local file in the project root:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
# Optional: each feature is disabled when its variable is unset
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
NEXT_PUBLIC_SENTRY_DSN=
RESEND_API_KEY=
Then run:
npm run dev # start the dev server on http://localhost:3000
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run build # production build
Note: the database schema is currently managed directly in Supabase, and migration files aren't in the repo yet.
app/
(routes) resources, articles, hub, dashboard, profile, leaderboard, roadmap, admin, ...
api/calendar/ private .ics calendar feed
lib/
actions/ server actions (all return a typed ActionResult)
supabase/ session, public (cacheable) and service-role clients
ics.ts calendar export
ics-import.ts calendar import (pure module, no framework imports)
validation.ts shared server-side input validation
ratelimit.ts Upstash rate limiting
components/
hub/ planner UI, onboarding tour, focus mode
home/ signed-out homepage and signed-in dashboard
admin/ admin tables and SVG charts
proxy.ts middleware: session verification, homepage rewrite, activity tracking
DiplomaHub is developed with AI pair-programming (Claude Code). I own the product and engineering decisions: what to build, the architecture, diagnosing problems from production data, and reviewing and testing every change before it ships.
Built and maintained by Nathan (founder & CTO)
Feedback and bug reports are welcome via diplomahub.org/feedback or [email protected].
© 2026 Nathan Pieume. All rights reserved. The code is public for viewing only. See LICENSE.