Justin King
Back to index

Project

Meetingplan

Pick a meeting time without making everyone sign up for yet another thing.

Built with TypeScript, Node.js, Express, SQLite, esbuild.

What it is

Meetingplan is a stripped-down group availability scheduler. Make a meeting, share the link, your group fills in when they’re free, and the best overlap is obvious. That’s it. No accounts, no notifications you didn’t ask for, no upsell to a paid tier.

The whole thing is self-hostable. One Node process, a SQLite file, and you’re running.

Why it matters

There are plenty of polished scheduling tools out there. Most of them want an email, a calendar connection, and a recurring subscription before they’ll show you a grid of checkboxes. Meetingplan does the checkboxes and nothing else, on purpose.

If you run a club, a small team, a friend group, or anything else where logging people in is overkill, this is the version of the tool you’ve been looking for.

Tech notes

  • Backend: Node + Express 4 in TypeScript, with better-sqlite3 for fast synchronous database access. SQLite means the whole app is one file on disk plus the binary, easy to back up and easy to host.
  • Frontend: vanilla TypeScript, bundled with esbuild. No framework, no hydration, no client-side state library. The page is small, fast, and works with JavaScript disabled for read-only access.
  • License: MIT.
  • Hosted demo: meet.justink.ing.