Your Digital Sticky Note Board — Reimagined for Teams
A full-featured, enterprise-grade collaborative workspace that brings sticky notes, project management, real-time collaboration, AI assistance, and video calling into one unified platform.
Website • Features • Tech Stack • Getting Started • Architecture
Stick My Note started as a simple idea — a digital sticky note board — and evolved into a comprehensive collaboration platform. It combines the simplicity of sticky notes with the power of modern project management, real-time editing, AI-powered intelligence, and enterprise security.
Whether you're a solo thinker jotting down ideas or an enterprise team managing complex projects with Kanban boards and Gantt charts, Stick My Note scales to fit your workflow.
- Create, organize, and color-code sticky notes across customizable boards
- Full rich text editor powered by Tiptap with markdown support, code blocks, tables, images, and links
- Drag-and-drop organization with tab-based collections
- 12+ color palette options for visual categorization
- Fullscreen editing mode for focused writing
- Shared workspaces where teams create, discuss, and manage content together
- Role-based access control: Owner, Editor, Viewer, Commenter
- Invite members via email, link, or CSV bulk import
- Public and private visibility settings
- Pad-level analytics and activity tracking
- Automated cleanup policies for workspace hygiene
- Create tasks with descriptions, priorities, due dates, tags, and subtasks
- Status tracking across customizable workflows
- Threaded discussions and reply chains on every task
- Promote and demote sticks through workflow stages
- Time tracking with timesheet views
- Kanban Boards — Customizable swimlanes, WIP limits, and card aging visualization
- Gantt Charts — Interactive scheduling with drag-and-drop and critical path analysis
- Budget Tracking — Allocation and spend tracking per project
- Portfolio View — Multi-project overview for leadership
- Workload Management — Resource allocation and capacity planning
- Intake Forms — Custom form builders for project intake workflows
- Timesheets — Time entry logging and reporting
- Concurrent editing with Yjs CRDT-based conflict resolution
- Live presence indicators — see who's viewing and editing
- Automatic merge with no conflicts, ever
- Threaded replies and discussion chains on notes and tasks
- Auto-Tag Generation — AI suggests relevant tags from your content
- Content Summarization — Summarize long notes and threads instantly
- Duplicate Detection — AI identifies similar content to reduce redundancy
- Smart Reply Suggestions — Context-aware reply recommendations
- Subtask Generation — Automatically break tasks into actionable steps
- Session Queries — Ask questions about your workspace knowledge base
- Supports Ollama (local/private), Anthropic Claude, Azure OpenAI, and OpenAI-compatible providers
- Community-style content sharing across your organization
- Activity feeds, notifications, and follow/unfollow
- Hubs for topic-based organization
- Draft management for work-in-progress content
- Moderation dashboard with admin controls and cleanup policies
- Built-in video rooms powered by Daily.co
- Create, join, and manage video calls without leaving the platform
- Screen sharing and meeting management
- Full-text search with fuzzy matching for typo tolerance
- Advanced filters and saved search presets
- Search analytics and statistics dashboard
- Multi-index search across notes, sticks, and pads
- Multi-tenant architecture with isolated organization data
- Member management with role-based permissions
- Self-service access request workflows
- Custom domain configuration per organization
- Organization-level branding and white-labeling
- Contact directory with member profiles
- LDAP / Active Directory integration for enterprise single sign-on
- Two-Factor Authentication (2FA) with TOTP, QR codes, and backup codes
- Organization-wide 2FA enforcement with compliance tracking dashboard
- Brute-force protection with configurable account lockout
- Row-Level Security (RLS) in PostgreSQL for data isolation
- Content sanitization with DOMPurify to prevent XSS
- Secure password hashing with bcrypt
- Cookie-based session management
- Export to DOCX, PDF, and CSV
- Print-friendly layouts for any note or task
- Outbound Webhooks with delivery logging and debugging
- Escalation rules for automated alert workflows
- Email notifications via Resend and Nodemailer
| Technology | Purpose |
|---|---|
| Next.js 14 | React framework with App Router |
| React 19 | UI library |
| TypeScript | Type-safe development |
| Tailwind CSS | Utility-first styling |
| Radix UI | Accessible, unstyled component primitives (20+ modules) |
| shadcn/ui | Beautiful component library built on Radix |
| Tiptap | Rich text editor with collaborative editing extensions |
| Yjs | CRDT for real-time conflict-free collaboration |
| Jotai | Lightweight atomic state management |
| Lucide React | Icon library |
| React Hook Form + Zod | Form handling and schema validation |
| Recharts | Data visualization and charts |
| @dnd-kit | Drag-and-drop interactions |
| cmdk | Command palette (Cmd+K) |
| date-fns | Date formatting and manipulation |
| next-themes | Dark/light theme switching |
| react-markdown | Markdown rendering |
| react-resizable-panels | Resizable panel layouts |
| gantt-task-react | Gantt chart visualization |
| Sonner | Toast notifications |
| Embla Carousel | Carousel components |
| Technology | Purpose |
|---|---|
| Node.js | Server runtime |
| PostgreSQL | Primary database with Row-Level Security |
| ldapjs | Enterprise LDAP/Active Directory authentication |
| bcryptjs | Secure password hashing |
| jose | JWT token management |
| otpauth | TOTP-based two-factor authentication |
| Sharp | High-performance image processing |
| Nodemailer + Resend | Transactional email delivery |
| Daily.co | Video calling infrastructure |
| Anthropic / Azure / Ollama SDKs | Multi-provider AI integration |
| @mozilla/readability | Article content extraction from URLs |
| qrcode | QR code generation for 2FA setup |
| html2canvas | HTML-to-image capture for exports |
| docx / jspdf | Document generation (DOCX & PDF) |
| SearXNG | Privacy-respecting web search for link generation |
| Technology | Purpose |
|---|---|
| Jest | Unit and component testing |
| ESLint | Code linting with Next.js preset |
| pnpm | Fast, disk-efficient package manager |
| Bundle Analyzer | Build optimization |
| T3 Env | Type-safe environment variable validation |
- Node.js 20.x or later
- pnpm 8.x or later
- PostgreSQL 14+ database server
# Clone the repository
git clone https://github.com/your-username/stick-my-note.git
cd stick-my-note
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Run the development server
pnpm devThe application will be available at http://localhost:3000.
Create a .env.local file with the following required variables:
# Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DATABASE=stickmynote
POSTGRES_USER=your_user
POSTGRES_PASSWORD=your_password
# Authentication
AUTH_SECRET=your_random_secret_key
# Site URL
NEXT_PUBLIC_SITE_URL=http://localhost:3000Optional integrations:
# AI Providers (configure one or more)
ANTHROPIC_API_KEY=your_key
AZURE_OPENAI_KEY=your_key
OPENAI_API_KEY=your_key
OLLAMA_BASE_URL=http://localhost:11434
# LDAP / Active Directory
LDAP_URL=ldap://your-dc:389
LDAP_BASE_DN=dc=example,dc=com
LDAP_BIND_DN=cn=admin,dc=example,dc=com
LDAP_BIND_PASSWORD=your_password
# Email
RESEND_API_KEY=your_key
# SearXNG (web search for link generation)
SEARXNG_URL=https://searx.be
# Video Calling
DAILY_API_KEY=your_key| Command | Description |
|---|---|
pnpm dev |
Start the development server |
pnpm build |
Build for production |
pnpm start |
Start the production server |
pnpm lint |
Run ESLint |
pnpm test |
Run Jest test suite |
pnpm test:db |
Test database connectivity |
pnpm test:security |
Run Row-Level Security tests |
pnpm health-check |
Verify the application is running |
app/
├── auth/ # Authentication pages (login, register, 2FA, password reset)
├── personal/ # Personal workspace
├── mysticks/ # Personal task board
├── mypads/ # Personal pad collection
├── quicksticks/ # Quick note creation
├── calsticks/ # Advanced project management (Kanban, Gantt, Budget, etc.)
├── social/ # Community hub, shared pads, activity feeds
├── chats/ # Chat threads
├── video/ # Video calling
├── search/ # Search interface
├── settings/ # Organization & security settings
├── dashboard/ # Analytics dashboard
├── control-panel/ # Admin control panel
├── api/ # 500+ API routes
│ ├── auth/ # Authentication & 2FA endpoints
│ ├── ai/ # AI-powered features
│ ├── notes/ # Note CRUD operations
│ ├── sticks/ # Task management
│ ├── social-pads/ # Collaborative workspace APIs
│ ├── organizations/ # Organization management
│ ├── search/ # Search endpoints
│ ├── webhooks/ # Webhook configuration & delivery
│ ├── video/ # Video room management
│ └── health/ # Health check
components/ # 70+ React components
hooks/ # 70+ custom React hooks
lib/ # Server-side utilities, database, auth, AI
types/ # TypeScript type definitions
public/ # Static assets and branding
Stick My Note is designed for self-hosted enterprise deployments:
| Server | Role |
|---|---|
| Application Server | Next.js application with HTTPS |
| Database Server | PostgreSQL with Row-Level Security |
| Cache Server | In-memory caching for sessions and sync |
| AI Server | Ollama for private, local LLM inference |
| DNS / Domain Controller | Active Directory & DNS resolution |
- No internal fetch() for API-to-API calls — Direct function imports prevent TLS issues in production with Node.js 22+
- CRDT-based collaboration — Yjs ensures conflict-free concurrent editing without a central authority
- Row-Level Security — PostgreSQL RLS enforces data isolation at the database level, not just the application layer
- Multi-provider AI — Swap between Ollama (private), Anthropic, Azure, or OpenAI without code changes
- Selective deployment — Production updates use targeted
git checkoutto protect server configuration files
# Build the application
pnpm build
# Start with the custom HTTPS server
pnpm start- The production server uses a custom
server.jswith HTTPS and SSL certificates - Environment variables are managed through
.envand.env.production(never.env.localin production) - The application runs as a Windows Service for high availability
- Health checks are available at
/api/health
See CLAUDE.md for the complete production deployment workflow.
Stick My Note exposes 500+ REST API routes organized across these domains:
| Domain | Routes | Description |
|---|---|---|
| Authentication | 15+ | Sign in, sign up, 2FA, password reset, lockout |
| Notes | 10+ | CRUD, tagging, export |
| Sticks | 15+ | Tasks, workflow, promotion, export |
| Pads | 10+ | Workspaces, permissions, cleanup, analytics |
| Organizations | 20+ | Members, invites, domains, branding, 2FA policy |
| AI | 7 | Tags, summarize, duplicates, subtasks, replies |
| Search | 5+ | Full-text, filters, analytics |
| CalSticks | 10+ | Kanban, Gantt, budget, workload, timesheets |
| Video | 2+ | Room creation and management |
| Webhooks | 4+ | Configuration, delivery, logging |
| Admin | 5+ | AD sync, user management, moderation |
| System | 3 | Health check, sitemap, robots |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is private and proprietary. All rights reserved.
Built with care by the Stick My Note team
Powered by Claude by Anthropic
stickmynote.com