Skip to content

Repository files navigation

Amity Sauna Circle

A responsive, invitation-only sauna booking MVP for Sherelle's private three-seat home sauna, with separate technical administrator access for Luke.

The current version is a browser-based functional demo. It can run locally or as a public GitHub Pages demo, and stores its state separately in each browser so it starts without a database or email service. The public copy uses sample accounts and must not be used for real property access or sensitive health information.

Project links and history

Related public projects

Each link below reflects an evidenced family, lineage or direct connection. This project has 11 relevant public connections.

Minjerribah sand capability programme and story world

Run it on this Windows laptop

Open PowerShell and run:

cd C:\Users\lukec\Documents\GitHubLocal\amity-sauna-circle
npm.cmd install
npm.cmd run dev

Then open http://localhost:3000.

The GitHub Pages workflow builds the same app as a static public demo. On that copy, the interface labels itself “Public demo” and every phone or browser receives its own separate sample state.

The first visit unfolds one decision at a time. Sherelle chooses how she wants to be addressed, sees a short explanation of the app, writes her own house preferences and chooses the days and times that may suit the property. Optional ideas and starter hours can be changed or turned off. Each person completes the current onboarding version once and can review it later from My plan. Updating the onboarding journey can show the new version without wiping bookings or settings. The app starts with no pretend bookings, maintenance issues, reflections or notifications.

Invited people choose their own given name or nickname and acknowledge only the preferences Sherelle has actually saved. Session history and management navigation appear only when they become relevant. Use the profile menu at the top-right to preview the owner, administrator, member and guest experiences.

Sherelle can set repeating open hours for the usual week and add one-off holds. Everyone books from a month or year calendar, then uses a rolling, zoomable day rather than fixed time blocks. Each booking shows warm-up and cool-down transitions in orange and planned time in the sauna in red. The full property time changes with the plan instead of forcing a 30- or 45-minute package.

Everyone has a Calendar area with month and year views. People can repeat a booking daily, every other day, weekly or fortnightly, then choose how many total occurrences to create. Their confirmed bookings can be downloaded as an .ics file, with short Google Calendar and Apple Calendar import instructions inside the app.

The early planning range is 10–30 minutes inside and 40–60°C. My plan keeps personal planning and private notes separate. Every person, including the owner and administrator, also has an always-available private diary for standalone entries and session reflections. A person can opt in to share only a duration, temperature, social style and short note. Shared-session matching and administration never read private diary entries, private notes or unshared reflections.

Circle connections begin with a one-person invitation link that the recipient accepts. Connected people can use direct or larger group chats; chat size is not tied to the sauna capacity. An actual sauna booking still holds no more than three people. In the local demo these links and messages work inside one browser state; real cross-device links and chat need private sign-in and server storage.

The local app includes the uploaded sauna photo and supplied Niva manual. A custom hardware-control companion is a planned investigation; the MVP does not yet send commands to the sauna.

Useful checks

npm.cmd test
npm.cmd run lint
npm.cmd run build

Project map

  • app/ — Next.js pages, global styling and the general-area weather endpoint.
  • components/views/ — the main app areas, including Calendar, My diary, My plan and Circle.
  • lib/booking.ts — capacity, overlap, buffer, access and revocation logic.
  • lib/app-context.tsx — clean browser-local demo state and actions.
  • prisma/schema.prisma — planned production PostgreSQL data model; it is not connected to the local demo yet.
  • docs/PRODUCT_SPEC.md — product promise, roles, navigation and core rules.
  • docs/MVP_SCOPE.md — what is included and deliberately left out.
  • docs/DEPLOYMENT.md — security work required before real use.

Privacy boundary

Sherelle is always the owner. Luke's administrator role supports technical setup and practical operations but cannot see private notes, private reflections or chats unless he is a participant. Usage exports contain operational booking information only.

About

Invitation-only browser demo for booking a private three-seat home sauna; data remains separate in each user's browser.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages