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 ↗Turn 3 bullet points into a beautiful, EYLF-aligned learning story in under 30 seconds. Built for educators across Australia and New Zealand.
A division of Aria Care. Built by Leo Bons in Christchurch, New Zealand 🇳🇿
Educators spend 30+ minutes writing each learning story. StoryLoop does it in 30 seconds. Voice-record or type a few observations, and the AI writes a warm, EYLF-aligned story with learning outcomes and extension suggestions. Educators review, edit, and publish. Hours saved every week.
| Plan | AUD | NZD | Limit |
|---|---|---|---|
| Free | $0 | $0 | 3 stories/month |
| Educator | $19/mo | $21/mo | Unlimited stories |
| Educator Pro | $29/mo | $33/mo | Unlimited, plus child profiles and family translation |
| Centre Starter | $99/mo | $109/mo | 10 educator seats, unlimited children |
| Centre Growth | $199/mo | $219/mo | 25 educator seats, unlimited children |
Individual plans start with a 7-day free trial, centre plans with a 30-day free trial. Live prices: https://storyloop.space/pricing
supabase/schema.sql → RunNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY (keep secret!)https://storyloop.spaceOPENAI_API_KEY| Nickname | Currency | Amount | Billing |
|---|---|---|---|
| Educator AUD | AUD | $19.00 | Monthly |
| Educator NZD | NZD | $21.00 | Monthly |
| Centre AUD | AUD | $49.00 | Monthly |
| Centre NZD | NZD | $55.00 | Monthly |
price_) into env varshttps://storyloop.space/api/stripe/webhookcheckout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failedSTRIPE_WEBHOOK_SECRETSTRIPE_FIRST_MONTH_COUPON_IDSTRIPE_FIRST_MONTH_COUPON_LABELRESEND_API_KEY.EMAIL_FROM to StoryLoop by Aria Care <[email protected]>.EMAIL_REPLY_TO to the founder/support inbox.EMAIL_UNSUBSCRIBE_SECRET to a random 32+ character secret.Copy .env.example to .env.local and fill in every value:
cp .env.example .env.local
Generate a JWT secret:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
Paste it as ADMIN_JWT_SECRET.
Required production env vars now include:
RESEND_API_KEYEMAIL_FROMEMAIL_REPLY_TOEMAIL_UNSUBSCRIBE_SECRETSTRIPE_FIRST_MONTH_COUPON_ID if activation offers should auto-applySTRIPE_FIRST_MONTH_COUPON_LABEL for email/UI copyCRON_SECRET for monthly reset and lifecycle email automationnpm install
npm run dev
# → http://localhost:3000
git init
git add .
git commit -m "StoryLoop v1.0"
git remote add origin https://github.com/YOUR-USERNAME/storyloop.git
git push -u origin main
Then at vercel.com:
.env.localUpdate your Stripe webhook URL to match your Vercel URL after first deploy.
ADMIN_EMAIL to the authorised administrator account.ADMIN_PASSWORD_HASH.ADMIN_JWT_SECRET of at least 32 characters.https://storyloop.space/admin-login.StoryLoop is built to rank on Google. Key pages target:
Submit sitemap to Google Search Console after deploy.
Post once in 2-3 early childhood educator groups:
"Built a free tool that writes learning stories from your observations — made it because my friend who works in childcare was spending 2 hours every night on these. Free to try, would love honest feedback from people who do this job."
That's it. No spam, no repeated posts. If it's good, it spreads.
Target: 200 paid users × $19 = $3,800/month with zero human sales.
storyloop/
├── app/
│ ├── (auth)/login, signup
│ ├── (app)/dashboard, generate, history, billing
│ ├── (admin)/admin, admin-login
│ ├── api/
│ │ ├── generate (main AI route)
│ │ ├── me (current profile)
│ │ ├── stripe/checkout, webhook, portal
│ │ └── admin/login, logout, users
│ ├── auth/callback
│ ├── about, privacy, terms
│ └── page.tsx (landing)
├── components/landing/ (9 sections)
├── components/app/ (DashboardNav)
├── lib/
│ ├── ai/ (generate.ts, prompts.ts)
│ ├── supabase/ (client, server, admin)
│ └── admin-auth.ts (JWT session verification)
├── supabase/schema.sql
├── middleware.ts
└── public/logo.svg, favicon.svg
Scheduled jobs — add these Vercel crons (already in vercel.json):
{
"crons": [
{ "path": "/api/cron/reset-usage", "schedule": "0 0 1 * *" },
{ "path": "/api/cron/email-automation", "schedule": "0 */6 * * *" }
]
}
Or manually run this in Supabase SQL editor on the 1st of each month:
SELECT public.reset_monthly_usage();
Built with care, for the people who care for the next generation. 🌱
— Leo Bons, Founder · [email protected]