โœจ The Vibe Board

A tiny public guestbook that showcases a handful of Val Town basics in one little app. Anyone with the link can drop a one-liner on the board, and a fresh "vibe of the day" rolls over every morning.

๐ŸŒ Live

Try the app ยท lives at https://vibe-board.val.run/

What it demonstrates

CapabilityWhere
๐Ÿš€ HTTP endpointmain.ts โ€” Hono server, served at a custom subdomain
๐Ÿ—„๏ธ SQLitemain.ts โ€” visitor counter + guestbook notes via std/sqlite
โ˜๏ธ Blob storagedaily-vibe.ts โ€” the daily vibe persisted via std/blob
๐Ÿ• Interval crondaily-vibe.ts โ€” runs at 10 0 * * * (UTC)
๐Ÿ‘ค Viewer identitymain.ts โ€” greets logged-in visitors via X-Val-Town-User

Files

  • main.ts โ€” the HTTP app: renders the page, accepts POSTs, and exposes a JSON API at /api/notes.
  • vibes.ts โ€” a shared list of vibes + the deterministic vibeFor(date) picker.
  • daily-vibe.ts โ€” a nightly cron that stores today's vibe in blob storage.

Try it

Notes

  • Code runs on Val Town's Deno runtime โ€” no filesystem, so state lives in std/sqlite and std/blob.
  • The cron sets a blob key per date; if it hasn't run yet, the app falls back to computing the same vibe deterministically.