← Software

Project / Software

Lunar Sails Management Software

A private Windows desktop workspace for invite-only ticket and team operations.

Year
2026
Role
Design and development
Tools
Next.js · TypeScript · React · Tailwind CSS · Electron · Supabase · PostgreSQL · Row Level Security

Overview

I built Lunar Sails Management Software as a private workspace for coordinating shared business and ticket work. The application is delivered as a Windows desktop app, with a web application running inside an Electron shell.

The project focuses on making everyday operations visible to the team while keeping access and data boundaries explicit. It is designed for an invite-only workspace rather than a public service.

What it does

The workspace supports ticket creation, editing, assignment, status and priority tracking, due dates, team visibility, and archiving. The My Work board gives each person a focused view of assigned and relevant tickets.

Administration views cover members, roles, permissions, and audit history, so ordinary team work and administrative work can remain distinct within the same workspace.

How it works

The application uses the Next.js App Router, strict TypeScript, React, and Tailwind CSS, packaged for Windows with Electron. Supabase Auth handles sessions and MFA, while PostgreSQL stores the workspace data.

Permission checks are represented in the application and enforced with Row Level Security and transactional database functions. Append-only operational and administration audit records preserve the history of important changes, and Supabase Realtime supports current workspace data where it is useful.

The desktop package contains only designated public runtime configuration. Secrets and service-role credentials remain outside the client, while private authenticated updates are checked against the signed-in session and current workspace access.

Lunar Sails workspace dashboard showing ticket totals, active work, recent activity, and the signed-in administrator account
The dashboard gives a team member a quick view of ticket counts, assigned work, and recent workspace activity.

Features

Ticket and team workspace

The workspace brings ticket creation, editing, assignment, status and priority tracking, due dates, team visibility, and archiving into one place. The My Work board gives each person a focused view of assigned and relevant tickets, while the wider workspace keeps shared work visible to the team.

Lunar Sails All Tickets view showing search and filter controls with one ticket listed by status, priority, team, assignee, and due date
All Tickets keeps the shared queue searchable and makes the current ownership and status of each ticket visible at a glance.
Lunar Sails ticket editor showing title, description, team, assignee, status, priority, due date, archive, and save controls
The editor brings the fields that shape a ticket’s workflow into one focused form.

Personal work planning

The My Work board groups assigned tickets by status and keeps priority, team, due date, and status controls close to each item. This gives an individual contributor a focused operating view without hiding the shared workspace behind it.

Lunar Sails My Work board showing backlog, todo, in progress, blocked, and done columns with ticket priority and status controls
The My Work board turns assigned tickets into a status-oriented view for planning and moving work forward.

Administration and audit history

Administration views provide a separate place to manage members, roles, and permissions and to review audit history. Append-only operational and administration audit records preserve the history of important changes without mixing that work into the day-to-day ticket view.

Invite-only access and MFA

Access is invite-only. Workspace membership and role determine which parts of the application a person can use, and authenticator-app MFA is required for the protected workspace. Ticket and team actions are exposed through the authenticated application and its server-side boundaries, so interface visibility is not treated as the security control by itself.

Enforced permission and data boundaries

Roles and explicit permissions separate ordinary team work from administration. Permission checks are represented in the application and enforced with PostgreSQL Row Level Security and transactional database functions, which protects rows even when a request does not come through the intended UI.

Lunar Sails administration role editor showing the Administrator role, description, ticket permissions, and team permissions
The role editor makes permission groups explicit while keeping member, role, and audit views together in administration.
Lunar Sails My Account page showing profile details, authenticator security, a desktop authenticator, and Windows update information
Account settings keep profile details, authenticator enrollment, and desktop update status in one protected view.

Windows desktop delivery

The application is packaged for Windows with Electron, with the web application running inside the desktop shell. The project includes local checks for the permission model, MFA flows, audit behavior, and desktop packaging and update paths. Authenticated private update delivery is implemented as part of that release design.