ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
거친 메모나 음성 메모를 편집 가능한 학습 스토리 초안으로 변환하고, 아동 목소리와 다음 단계까지 연결합니다
Turn a rough note or voice memo into an editable learning story draft, with Te Whāriki or EYLF links, child voice and next steps. You edit and sign off.
교육TypeScript · PLpgSQLGitHub @ArohaBookings온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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]