A powerful, cross-platform presentation software designed for live events, churches, conferences, and stage productions.
β οΈ Early Development: This project is currently in early-stage development working towards an Alpha release. Features are actively being built and refined. Expect breaking changes and incomplete functionality.
OS Presenter is a desktop application that enables you to create, manage, and display professional presentations with rich multimedia content. With an intuitive interface and robust feature set, it's designed to handle the demands of live production environments.
- π¨ Rich Slide Editor: Create and edit slides with text, images, videos, and shapes
- π Media Library: Organize and manage your media assets in one place
- π Live Show Mode: Present with confidence using a dedicated show view
- π― Flexible Object Editing: Position, resize, and style objects with precision
- π¨ Advanced Typography: Access system fonts with support for font variants and styling
- πΌοΈ Multiple Object Types: Support for text, images, videos, and custom shapes
- πΎ Persistent Storage: Automatically save your work with local storage
- β‘ Native Performance: Built with Rust backend for speed and reliability
- π₯οΈ Cross-Platform: Works on macOS, Windows, and Linux
- React 19 with TypeScript
- React Router for navigation
- Zustand for state management
- Tailwind CSS for styling
- Shadcn UI for accessible components
- Motion for animations
- React Moveable for object manipulation
- Tauri 2.0 - Native desktop framework with Rust
- Custom Plugins for system integration (fonts, etc.)
Releases are not yet available. Once we reach our Alpha milestone, pre-built installers will be available for download for macOS, Windows, and Linux.
For now, you can build from source if you'd like to try the software or contribute to development. See the Building from Source section below.
Before building, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or pnpm
- Rust (latest stable version)
- Tauri CLI dependencies for your platform (see Tauri prerequisites)
- Clone the repository:
git clone git@github.com:mwritter/os-presenter.git
cd os-presenter- Install dependencies:
npm install- Run in development mode:
npm run tauri devTo create a production build:
npm run tauri buildThis will create platform-specific installers in src-tauri/target/release/bundle/.
presenter-final/
βββ src/ # React frontend source
β βββ components/ # React components
β β βββ feature/ # Feature-specific components (slides, color picker)
β β βββ presenter/ # Main presenter UI components
β β βββ ui/ # Reusable UI components
β βββ stores/ # Zustand state stores
β βββ services/ # Business logic and services
β βββ hooks/ # Custom React hooks
βββ src-tauri/ # Rust backend
β βββ src/ # Rust source code
β βββ plugins/ # Custom Tauri plugins
βββ public/ # Static assets
npm run dev- Start React development server onlynpm run tauri dev- Start full application in development mode (recommended)npm run build- Build the React app for productionnpm run tauri build- Build the complete application with installersnpm run storybook- Run Storybook for component development and testing
Component documentation and testing is available through Storybook:
npm run storybookVisit http://localhost:6006 to browse components.
Create and edit presentation slides with a powerful WYSIWYG editor. Add text, images, videos, and shapes with precise control over positioning, sizing, and styling.
Manage all your presentation assets in a centralized library. Import media files and quickly add them to your slides.
Present your slides with a dedicated show interface designed for live production. Navigate through slides smoothly and manage your presentation flow.
Each slide object (text, image, video, shape) can be individually edited with:
- Position and size controls
- Rotation and transformation
- Layer ordering (bring forward/send backward)
- Color and style customization
- Font and typography settings (for text)
Built-in shape library including:
- Rectangles
- Circles/Ellipses
- Triangles
- And more...
Presenter uses custom Tauri plugins to extend functionality:
- font-variants: System font integration with support for font families and variants
Current Stage: Pre-Alpha β Alpha
We are actively working towards our first Alpha release. Current focus areas:
- β Core slide editing functionality
- β Media library management
- β Basic object manipulation (text, images, shapes, videos)
- π§ Show/presentation mode improvements
- π§ Performance optimizations
- π§ Additional output options
- π Multi-screen support
- π Advanced transitions and effects
- π Template / Theme system
Legend: β Implemented | π§ In Progress | π Planned
Contributions are welcome! Please feel free to submit issues and pull requests.
- Follow TypeScript best practices
- Use existing UI components from
src/components/ui/ - Maintain consistent code style
- Test your changes thoroughly
Built with Tauri, React, and other amazing open-source technologies.
Note: This project is in early-stage development working towards an Alpha release. Features, APIs, and file formats may change significantly. Not recommended for production use yet.