Organize your app shortcuts into dedicated launch boards and start what you need, when you need it β fast, local-first, and zero telemetry.
- What is LaunchBoards?
- Why Two Names for One App?
- Architecture & Profile Isolation
- Workspace Launch Lifecycle
- Core Features
- Getting Started & How to Run
- System Invariants & Governance
- Canonical Repository & Contributing
- Ecosystem & Sister Projects
- Security & Vulnerability Reporting
- License
LaunchBoards is a specialized second branding of SoftwareCenter β running the identical, battle-tested desktop codebase under a distinct application identity, custom app icon, and separate settings profile (PROFILE_LAUNCHBOARDS).
While traditional app launchers focus on browsing a flat directory of installed programs, LaunchBoards centers the workflow around thematic workspaces ("Boards"). You organize your everyday desktop shortcuts, utilities, IDEs, and project folders into tab-based boards (e.g. Development, Design, Daily Office, Administration), switching contexts with a single click.
Note
LaunchBoards is not a fork or detached clone. It is an officially supported product profile of the canonical SoftwareCenter codebase. Both brandings run concurrently without mutual interference.
SoftwareCenter and LaunchBoards represent two complementary conceptual framings of the exact same utility:
| Perspective | Framing | Primary Use Case | Default Profile |
|---|---|---|---|
| SoftwareCenter | Software Catalog | Organizing, categorizing, and launching installed software packages | PROFILE_SOFTWARECENTER |
| LaunchBoards | Workspace Boards | Organizing shortcuts into tabbed launch boards across active projects | PROFILE_LAUNCHBOARDS |
Both apps can run side by side on the same machine without colliding:
- Each profile uses its own independent
QSettingsnamespace (file-bricks/LaunchBoardsvsfile-bricks/SoftwareCenter). - Each profile uses an independent single-instance lock (
LaunchBoards.lockvsSoftwareCenter.lock), allowing both to run at the same time. - Both share 100% interoperability with the versioned profile format (
softwarecenter-profile-v1.json).
The diagram below illustrates how LaunchBoards leverages the shared core engine while remaining completely isolated in runtime state, configuration, and process mutex locks:
flowchart TD
User["Desktop User / Developer"] -->|"Selects Branding"| Choice{"Execution Profile"}
Choice -->|"Run LaunchBoards"| LB_Entry["LaunchBoards.exe / launchboards.py"]
Choice -->|"Run SoftwareCenter"| SC_Entry["SoftwareCenter.exe / SoftwareCenter.py"]
LB_Entry -->|"Initializes Profile"| CoreEngine["SoftwareCenter.py Core Engine"]
SC_Entry -->|"Initializes Profile"| CoreEngine
CoreEngine -->|"Dedicated Registry"| LBSettings["QSettings ('file-bricks/LaunchBoards')"]
CoreEngine -->|"Dedicated Registry"| SCSettings["QSettings ('file-bricks/SoftwareCenter')"]
CoreEngine -->|"Dedicated Mutex"| LBLock["SingleInstanceLock ('LaunchBoards.lock')"]
CoreEngine -->|"Dedicated Mutex"| SCLock["SingleInstanceLock ('SoftwareCenter.lock')"]
LBSettings -->|"Workspace Framing"| LBUi["LaunchBoards UI ('Tabbed Workspace Boards')"]
SCSettings -->|"Software Framing"| SCUi["SoftwareCenter UI ('Application Catalog')"]
LaunchBoards provides a responsive, local-first workflow from startup to process invocation:
sequenceDiagram
autonumber
actor User as "Desktop User"
participant App as "LaunchBoards (PySide6)"
participant Store as "QSettings State"
participant OS as "Operating System"
User->>App: "Launch application"
App->>Store: "Load workspace tabs and shortcuts"
Store-->>App: "Active boards ('Development', 'Design', 'Tools')"
App-->>User: "Render tabbed launch boards UI"
User->>App: "Drag & drop shortcut item (.lnk / .exe)"
App->>Store: "Persist shortcut item in active board"
Store-->>App: "State updated"
User->>App: "Click shortcut / Press hotkey"
App->>OS: "Spawn target process via QDesktopServices"
OS-->>User: "Application launched successfully"
- π Tabbed Launch Boards: Create, rename, and rearrange custom workspace boards tailored to specific workflows (e.g. Code, Audio, Comms).
- π±οΈ Drag & Drop Organization: Simply drag Windows shortcut files (
.lnk), executables (.exe), scripts, or documents directly into any board. - β‘ Instant Filter Search: Type to filter shortcuts immediately across all boards without navigating deep menu hierarchies.
- π 100% Local-First & Zero Telemetry: No user account, no cloud servers, no telemetry, and zero network traffic.
- π¦ Portable Profile Migration: Export and import boards effortlessly using the standard JSON format (
softwarecenter-profile-v1.json). - π True Side-by-Side Execution: Run LaunchBoards alongside SoftwareCenter concurrently with dedicated settings and window states.
Pre-built binaries for LaunchBoards are distributed as standalone, portable Windows executables alongside SoftwareCenter releases:
- Visit the canonical release page: SoftwareCenter Releases.
- Download
LaunchBoards.exe(orLaunchBoards-<version>-win64.exe). - Run the executable directly. No installation or administrative privileges required.
Since LaunchBoards shares the canonical codebase, clone and run it via the dedicated runner:
# Clone the canonical repository
git clone https://github.com/file-bricks/SoftwareCenter.git
cd SoftwareCenter
# Install dependencies (PySide6)
pip install -r requirements.txt
# Launch with the LaunchBoards profile
python launchboards.pyTo produce your own portable LaunchBoards.exe via PyInstaller, execute the preconfigured build script in the canonical repo:
build_exe_launchboards.batThe resulting binary will be located in dist/LaunchBoards/LaunchBoards.exe or bundled into root as LaunchBoards.exe.
LaunchBoards adheres to strict operational and architectural invariants:
| ID | Invariant | Description |
|---|---|---|
INV-LOCAL-01 |
Zero Network Egress | No telemetry, phone-home checks, cloud synchronization, or external web requests. |
INV-LOCAL-02 |
Unprivileged Run | Runs strictly in user space (RunAsInvoker). Never requests administrative (UAC) elevation. |
INV-LOCAL-03 |
Non-Destructive Ops | Removing a shortcut only detaches the UI reference; target files and executables are never deleted. |
INV-LOCAL-04 |
Safe Link Resolution | Safely extracts target metadata from .lnk files without executing shell evaluation scripts. |
INV-LOCAL-05 |
Profile Isolation | QSettings key file-bricks/LaunchBoards is strictly isolated from file-bricks/SoftwareCenter. |
INV-LOCAL-06 |
Mutex Independence | Single-instance lock LaunchBoards.lock permits simultaneous execution with SoftwareCenter. |
INV-LOCAL-07 |
Schema Parity | 100% interoperability with versioned profile schema (softwarecenter-profile-v1.json). |
INV-LOCAL-08 |
Canonical Authority | The canonical source of truth for code, tests, and CI is file-bricks/SoftwareCenter. |
INV-LOCAL-09 |
Bilingual Parity | All end-user documentation maintains complete German/English alignment (P-006). |
INV-LOCAL-10 |
Security SLA | Security disclosures receive a verified response within 48 hours and triage within 5 days. |
This repository (file-bricks/LaunchBoards) is maintained as an official branding pointer and entry point for discoverability.
All active development, issue tracking, and contributions occur in the canonical repository:
π github.com/file-bricks/SoftwareCenter
- Issues & Bug Reports: Please open issues under SoftwareCenter and tag with
[LaunchBoards]. - Pull Requests: Submit PRs against
file-bricks/SoftwareCenter. - Translations: Maintained via
manage_translations.pyandlocales/in the canonical repository.
LaunchBoards is part of the file-bricks and open-bricks desktop tool ecosystem:
| Project | Focus Area | Canonical Repository |
|---|---|---|
| SoftwareCenter | Installed software catalog & desktop launcher | file-bricks/SoftwareCenter |
| LaunchBoards | Tab-based workspace launch boards | file-bricks/LaunchBoards |
| TextCrafter | Local-first distraction-free text editor & Markdown suite | file-bricks/TextCrafter |
| TagFolder | Tag-based file navigation and organization tool | file-bricks/TagFolder |
| lock-master | Deterministic multi-agent file and directory locking | dev-bricks/lock-master |
| open-bricks | Umbrella registry for open-source desktop applications | open-bricks/.github |
Security and user privacy are foundational. LaunchBoards executes completely offline and requires no elevated privileges.
If you identify a security issue or vulnerability, please consult our SECURITY.md policy. We commit to an initial response within 48 hours and triage within 5 business days:
- π§ Security Team:
security@open-bricks.org - π§ Maintainer:
lukas@open-bricks.org
MIT License β see LICENSE for full details.
Copyright (c) 2026 Lukas Geiger.
