I wanted one place to save links from YouTube, Twitter, and LinkedIn, and write notes alongside them. Nothing I found did both well, so I built Stashly.
What it does
- Save links from YouTube, Twitter, LinkedIn — with auto-embeds
- Write and edit notes with a full rich text editor (Tiptap)
- Auto-saves notes with a 2s debounce
- Share any saved item via a public slug URL
- Sign in with Google or GitHub OAuth
- Works on mobile (pill nav) and desktop (sidebar) ## Tech stack
| Layer | Tech |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS v4 |
| Editor | Tiptap 3 |
| State | Redux Toolkit |
| Backend | Express 5, TypeScript |
| Database | MongoDB + Mongoose 9 |
| Auth | Better-Auth (Google / GitHub OAuth) |
| Validation | Zod |
The editor
Tiptap handles the heavy lifting — headings, lists, code blocks, text alignment, color highlights, images, and links. Notes auto-save in the background so you never have to think about it.
Saving content
Paste a YouTube, Twitter, or LinkedIn URL and Stashly stores it with an embed. You can filter your saved content by platform and delete anything you don't need.
Auth
Better-Auth handles OAuth for both Google and GitHub. The session flow was straightforward to set up and the library keeps things out of your way.
Running it locally
# Backend
cd backend
npm install
cp .env.example .env
npm run dev
# Frontend
cd frontend
npm install
npm run dev
You'll need Node 18+ and a MongoDB instance (local or Atlas). The .env.example covers all the required variables — DB URL, Better-Auth secrets, and OAuth credentials for both providers.
What I'd improve
- Full-text search across notes and saved links
- Browser extension for one-click saving
- Folders or tags for organizing content
Source is on GitHub if you want to take a look or contribute. Feedback welcome.



Top comments (0)