• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
pmillspaugh

pmillspaugh

email-course-creator

Public
Inspired by Just JavaScript
Remix of pmillspaugh/garden
Like
1
email-course-creator
Home
Code
7
lessons
11
README.md
C
cron.tsx
db.ts
email-helpers.ts
html.tsx
H
main.tsx
Connections
Environment variables
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
…
Viewing readonly version of main branch: v49
View latest version
README.md

Email-based (spaced repetition) course creation tool

🏗️ Work-in-progress (not actively maintained) 🏗️

An email course generator designed with effective, research-backed learning techniques in mind: spaced repetition (via an interval between email lessons), retrieval practice (quizzing and fill-in-the-blank), elaboration and reflection (writing exercises).

The first (and only) course is about Make It Stick. Signup is closed. I wrote about the implementation on my digital garden.

Architecture

Rendering mermaid diagram...

Project structure

  • main.tsx — HTTP handler (signup, verification, lesson completion, unsubscribe)
  • cron.tsx — Interval that sends daily lessons to students who completed their current one
  • db.ts — All SQLite operations (students table lives in account-scoped DB)
  • email-helpers.ts — Email sending (verification, lessons, responses)
  • html.tsx — HTML templates (signup form, confirmation email, lesson wrapper)
  • lessons/ — 10 lesson content files + index

Notes

  • The students table lives in the account-scoped SQLite database (not val-scoped)
  • The cron should be kept inactive since the course is not actively maintained
  • Previously this was spread across ~25 separate single-file vals; consolidated April 2026
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
AboutAlternativesPricingBlogNewsletterCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.