Public
The Vibe Board — a public guestbook with a daily vibe.
demohttpsqlite
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.

✨ 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.