Software Products & Security Labs
Launch Studio
A private panel for managing the launch and content of several of my own projects in one place.
In short
Launch Studio is a private web application I use to organise my own projects such as SaveFold, LeseDeutsch and Lumera from one panel: notes, ideas, tasks, a media catalogue, campaigns, content drafts and a calendar, with each project in its own isolated workspace. It is not a public product but a tool behind a login. The project is in development and currently runs locally; it has not been released yet.
Starting point
With several products of my own, ideas, tasks, materials and planned posts quickly end up scattered across note apps, folders and spreadsheets. What was needed was one place that keeps everything together per project, separates data strictly and publishes nothing unless a person has approved it.
My role
Architecture, data model, API, frontend, security and tests, all implemented by me as a personal product project.
Solution
A modular monolith in TypeScript: a NestJS API serves both the REST interface and the React frontend, with shared Zod schemas for validation on both sides and Prisma/MySQL as the data layer. Workspaces ("panels") form the tenant boundary, with roles and invitations instead of open registration. AI-assisted text and speech generation runs as background jobs; content moves through draft, review and explicit approval. Architecture decisions are documented as ADRs.
Technologies
Key functionality
- Projects with their own workspace: notes, ideas, tasks and a media catalogue
- Campaigns with a status flow, platform targets and launch templates
- Content drafts with platform variants, review and explicit approval by a person
- Calendar, activity history, dashboard, search and notifications
- AI tools as background jobs: text drafts, a prompt library, voice-over and draft-only reel storyboards
- Panels with roles (owner, admin, editor, viewer) and invite-only access
- A local connector for Windows that only opens outbound connections
Security & performance
- Strict separation of data per workspace and project, enforced on the server and covered by negative tests
- Server-side sessions with an HttpOnly cookie, CSRF token and Origin check
- Credentials for external services stored encrypted (AES-256-GCM)
- Publishing disabled by default; nothing is sent without human approval
- No open registration, role checks enforced in one central place on the server
Outcome
- Runs locally with the areas listed above and automated tests (unit, API, end-to-end)
- So far verified only with test data and simulated services; not deployed yet and not connected to real external services
A private tool behind a login, not a public product. The address studio.mustafakelesoglu.de becomes active with the deployment.
Next project