Technical docs
Everything you need to clone, configure and deploy your own instance of Sessionly. If you're deciding whether Sessionly is right for you rather than setting it up, the overview page is a better place to start.
Tech stack
Ordinary, well-documented tools — nothing exotic to maintain.
- Vite
- React
- TypeScript
- Tailwind CSS
- Hono
- Cloudflare Workers
- D1 (SQLite)
- Drizzle ORM
- Stripe Checkout
- Resend
Get started
Clone it, point it at your own Stripe and Resend accounts, and deploy.
git clone https://bitbucket.org/jfdconsultants/sessionly.git
cd sessionly
npm install
cd apps/site
cp .dev.vars.example .dev.vars # add your Stripe test keys
npm run db:migrate:local
npm run db:seed:local
npm run dev # http://localhost:5173
When you're ready to go live, apps/site/site.config.ts holds all the practitioner-specific
content (name, subjects, brand colour, cancellation policy), and the README walks through deploying to
Cloudflare Workers with your own Stripe, Resend and D1 database.
Technical FAQ
Do I need to know how to code?
You need enough comfort with the command line to run npm install, edit a config file, and follow a deploy guide. No app-building required — the practitioner-specific setup is a handful of edits to site.config.ts and wrangler.jsonc.
What do I need before I deploy?
A free Cloudflare account, a Stripe account, and a Resend account (for email). Google Calendar sync and the AI assistant are optional extras you can switch on later.
Is this multi-tenant — can I run it for several clients from one install?
No — by design, one deployment serves one practitioner. To set it up for a second person, you copy the repo and give them their own database, Stripe account and Resend domain. This keeps every practitioner's data completely isolated.