A real-time collaborative whiteboard and idea canvas powered by React, Node.js, and AWS. Skimble is where creativity meets connectivity—built for teams, students, and creators to sketch, share, and sync ideas instantly from anywhere.
- ⚡ Real-time multi-user sketching and note-taking
- 📝 Drawing tools, sticky notes, text elements
- 🔐 Secure authentication via AWS Cognito
- ☁️ Persistent storage using AWS DynamoDB and S3
- 🗂 Version history and rollback
- 💬 In-app commenting/chat
- 📤 Export whiteboards to image or PDF
- 📱 Fully responsive, mobile-friendly interface
| Layer | Technology |
|---|---|
| Frontend | React.js, React Router |
| Backend | Node.js, Express.js |
| Authentication | AWS Cognito |
| Real-Time Sync | WebSockets or AWS AppSync |
| Storage | AWS DynamoDB / Aurora, S3 |
| Hosting | AWS Amplify / CloudFront + S3 |
git clone https://github.com/your-username/skimble.git
cd skimblecd client
npm install
npm start
cd ../server
npm install
npm run dev- Create a Cognito User Pool and App Client for Auth
- Set up an S3 bucket with public access & CORS
- Set up DynamoDB or Aurora for board data
- Assign appropriate IAM roles for Lambda/API Gateway (if applicable)
- User signs up/logs in through Cognito Hosted UI
- Cognito returns JWT tokens (access + ID)
- Frontend stores and attaches the JWT to outgoing API requests
- Backend verifies token on each request
- Each whiteboard session has a unique board ID
- Clients connect to a WebSocket channel or AppSync subscription for that board
- Changes made by one user are broadcast to all connected users
- Periodic autosaves send changes to the cloud database
POST /api/boards → Save a new board
GET /api/boards/:id → Retrieve an existing board
PUT /api/boards/:id → Update board content
DELETE /api/boards/:id → Delete a boardskimble/
├── client/ # React frontend
│ ├── src/
│ └── public/
├── server/ # Node.js backend
│ ├── routes/
│ ├── controllers/
│ └── .env
├── .env
└── README.md- Voice notes and audio sketches
- AI-enhanced auto-layout and shape recognition
- Offline mode with sync-on-reconnect
- Theme support (dark/light/custom)
- Templates for flowcharts, diagrams, storyboarding
Created by Hari
MIT License © 2025