The open-source pitch deck workspace for founders and investors.
Share investor-ready decks, protect sensitive documents, and understand engagement—all from one focused workspace.
Deckly gives founders a polished, secure way to share fundraising materials and gives investors the context they need to evaluate them. Keep a stable link while decks evolve, organize related documents into data rooms, and turn viewer activity into actionable signals.
| Feature | What it does | |
|---|---|---|
| 📤 | Share without resend cycles | Update a deck behind the same link, so the latest version is always available. |
| 🗂️ | Purpose-built data rooms | Group decks and supporting materials for structured fundraising or review workflows. |
| 🔐 | Access controls | Protect material with password gates, expiry dates, download controls, and optional email capture. |
| 📈 | Engagement analytics | See views, time spent, slide-level drop-offs, saves, and revisit signals. |
| ✨ | Investor-focused AI summaries | Generate concise summaries to help reviewers understand a deck faster. |
| 📝 | Private investor workspace | Save decks, add notes, tag startups, and return to opportunities with full context. |
| 📱 | Fast everywhere | Browse responsive, app-like slide viewing experiences on desktop and mobile. |
| 🛡️ | Privacy-first foundation | Use client-side PDF rendering, minimal data collection, and row-level security controls. |
- Upload and organize your pitch decks and supporting material.
- Share a protected link or assemble a data room for a fundraising process.
- Track engagement to understand which viewers and slides are attracting attention.
- Iterate confidently by updating the document without changing its share URL.
- Frontend: React 19, Vite, and TypeScript
- UI: Tailwind CSS, shadcn/ui, and Radix UI
- Backend: Supabase Auth, PostgreSQL, Row Level Security, Storage, and Edge Functions
- Data fetching: TanStack Query
- Document processing: pdf.js in the browser and CloudConvert for supported office documents
- Storage and delivery: Cloudflare R2
- Observability: PostHog and Sentry
- Node.js 24 or newer
- Docker, for local Supabase development
- Supabase CLI, available through
npx supabaseor a global installation
git clone https://github.com/ManishBlueprints/Deckly.git
cd Deckly
npm install
cp .env.example .env.localAt minimum, add your Supabase project details to .env.local:
VITE_SUPABASE_URL=http://127.0.0.1:54321
VITE_SUPABASE_PUBLISHABLE_KEY=your_local_publishable_keySee .env.example for optional analytics, storage, document-processing, email, and billing configuration. Never commit real secrets.
For a local stack:
npm run supabase:bootstrap -- localFor a fresh linked Supabase project:
npx supabase login
npm run supabase:bootstrap -- remote --project-ref YOUR_PROJECT_REFThe bootstrap command links the target project, applies migrations, loads the minimal seed data, and verifies the installation. Provide SUPABASE_DB_PASSWORD and optionally SUPABASE_ADMIN_EMAIL when bootstrapping a remote project.
npm run devOpen the Vite URL printed in your terminal, normally http://localhost:5173.
Deckly is designed to run in your own Supabase project. The executable database history lives in supabase/migrations/; supabase/schema.sql is a readable reference, not a provisioning script.
For a production deployment:
- Create and bootstrap a Supabase project with the remote command above.
- Configure the browser-safe variables and required Edge Function secrets from
.env.example. - Configure Cloudflare R2 and CloudConvert if you need private asset delivery or office-document conversion.
- Build and deploy the Vite app through your preferred static host.
Run the same checks used by continuous integration before opening a pull request:
npm run type-check
npm run lint
npm test
npm run builddocker-compose upThe application will be available at http://localhost:5173.
Contributions are welcome. Please open an issue to discuss substantial changes, fork the repository, create a focused branch, and submit a pull request using the included template. Before submitting, run the quality checks and describe how you tested the change.
Deckly is available under the GNU Affero General Public License v3.0.
Under AGPL-3.0 Section 13, if you modify Deckly and make that modified version available for users to interact with over a network, you must offer those users access to the corresponding source code of your version. A visible source link in your deployed application is a practical way to meet this obligation.
Built for founders and investors who want a better way to share the story behind a company.
