pinmyblogs is an open-source blog bookmarking, read-later, and content organization application built with Go (Golang).
Save blog links, extract metadata, organize reading lists, and revisit content distraction-free β fast, secure, and self-hosted.
Ideal for developers, writers, and knowledge workers who want a simple, privacy-friendly alternative to hosted bookmark tools.
pinmyblogs is a lightweight self-hosted bookmark manager focused on:
- Saving blog URLs
- Extracting page metadata (title, favicon, etc.)
- Organizing blogs for later reading
- Running reliably in local or production environments
It is built with performance, simplicity, and security in mind.
- π Save blog & article URLs
- ποΈ Organize reading lists
- π·οΈ Automatic metadata scraping
- β‘ High-performance Go backend
- π§© Clean, extensible architecture
- π Self-hosted & privacy-friendly
- Language: Go (Golang)
- Web Framework: Gin
- Database: PostgreSQL or SQLite
- Frontend: HTML templates + Tailwind CSS
- Build Tooling: + Air (hot reload)
pinmyblogs supports multiple SQL databases:
- High concurrency
- Strong data integrity
- Crash-safe & scalable
- Zero-config
- File-based
- Best for local usage
Production β PostgreSQL
Development β SQLite
- Go (latest stable version)
- PostgreSQL (optional, for production)
- SQLite (optional, for development)
- Make (recommended)
git clone https://github.com/puni9869/pinmyblogs.git
cd pinmyblogsmake serverUses Air for automatic reload on code changes.
Run tests:
make testLint & static analysis:
make lint
make vet
make govulncheck.
βββ cmd/ # Application entrypoints
βββ handlers/ # HTTP handlers
βββ middleware/ # CSP & security headers
βββ models/ # Database models
βββ pkg/ # Shared packages (scraping, utils)
βββ templates/ # HTML templates
βββ frontend/ # Static assets
βββ types/ # Forms & shared types
βββ Makefile # Dev & build commands
pinmyblogs includes production-grade security defaults:
- Strict Content Security Policy (CSP)
- Secure HTTP headers
- Clickjacking protection
- MIME-type sniffing prevention
Designed to be safe by default.
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Add tests where applicable
- Submit a pull request
See issues for ideas and improvements.
Found a bug or have a feature idea?
π https://github.com/puni9869/pinmyblogs/issues
This project is licensed under the MIT License. See the LICENSE file for details.
- Open-source
- Self-hosted
- Developer-friendly
- Privacy-focused
- Written in Go
If you find this project useful, please β star the repository β it helps others discover it!