A fast, beautiful, offline-first link manager for your home screen. Save, organize, and retrieve links instantly with a native app experience.
- 📱 Install like a native app — Add to your home screen from Safari
- 🌙 Dark & light themes — Beautiful UI with system-aware theme switching
- 🔗 Lightning-fast saving — One-tap link capture from Safari share sheet
- 🚫 Works offline — All your links available without internet
- ☁️ Cloud sync optional — Keep links in sync across devices via Google Drive
- 🔍 Smart browsing — Search and filter your links instantly
- 💾 Zero sign-up — No account required
linkstash/
├── .github/
│ ├── agent.md ← AI agent project guide
│ └── LLMmodel-instruction.md ← LLM coding instructions
├── css/
│ └── styles.css ← All styles (variables, layout, light/dark theme)
├── js/
│ ├── app.js ← Entry point, action handlers
│ ├── store.js ← IndexedDB abstraction
│ ├── state.js ← Global state
│ ├── types.js ← URL type detection
│ └── ui/
│ ├── render.js ← DOM rendering & cards
│ ├── toast.js ← Notifications
│ ├── navigation.js ← Page switching
│ └── theme.js ← Light/dark theme
├── assets/icons/
│ ├── icon-192.png ← App icon (home screen)
│ └── icon-512.png ← App icon (splash screen)
├── scripts/
│ └── gen_icons.py ← Icon generation script
├── tests/
│ ├── test.js ← JSDOM smoke test
│ └── test_puppeteer.js ← Puppeteer browser test
├── index.html ← HTML structure
├── manifest.json ← PWA configuration
├── sw.js ← Service worker (offline support)
└── README.md
- Go to https://github.com/new
- Name it:
linkstash - Set to Public (required for free GitHub Pages)
- Click Create repository
Push or upload the entire project directory to the repository.
- Go to Settings → Pages (left sidebar)
- Under "Branch" select
mainand folder/root - Click Save
- Wait ~60 seconds for deployment
- Your app is now live at:
https://YOUR-USERNAME.github.io/linkstash/
- Open the app URL in Safari
- Tap Share (⬆️ in bottom bar)
- Scroll down → tap "Add to Home Screen"
- Name it
LinkStash→ tap Add
Done! LinkStash is now on your home screen like a native app.
- Open any webpage in Safari
- Tap Share → find LinkStash in the list
- The URL appears in LinkStash instantly
- Optionally add tags/notes
- Tap Save
- Search — Find links by title, domain, or tags
- Filter — Sort by type, date, or tags
- Tap a link — Opens in new tab
- Cloud sync — Optional Google Drive integration
- Theme toggle — Switch between dark and light mode
- Data export — Download your links as JSON, CSV, or plain text
- Import/Clear — Manage your data
Keep your links in sync across devices via your own Google Drive:
- Go to Settings in LinkStash
- Tap Sign in with Google
- Grant the minimal required permissions
- Your data is now backed up to a private app-specific folder in your Drive
All data stays under your control — only this app can access it.
- No backend required — Everything runs in your browser
- No dependencies — Zero npm packages, pure vanilla JS
- ES modules architecture — Clean separation of concerns without a bundler
- IndexedDB storage — Fast, reliable local data
- Service Worker — Works completely offline
- Responsive design — Optimized for phones, tablets, and landscape
- Safe area support — Proper notch/Dynamic Island handling (iOS 13+)
- Light/dark themes — Automatic system preference detection + manual toggle
This is an open-source project. Feel free to fork, modify, and deploy!