# What is this? Coracle is a web client for the Nostr protocol. While Nostr is useful for many things, Coracle focuses on providing a high-quality social media experience. Check it out at [coracle.social](https://coracle.social). [Dufflepud](https://github.com/staab/dufflepud) is a companion server which you can self-host. It helps Coracle with things like link previews and image uploads. If you like Coracle and want to support its development, you can donate sats via [Geyser](https://geyser.fund/project/coracle). # Features - [x] Threads/social - [x] Profile search - [x] Login via extension - [x] Profile sharing via QR codes - [x] NIP 05 verification - [x] Bech32 entity search - [x] Notifications - [x] Chat and direct messages - [x] Note composition with mentions and topics - [x] Follow and follower lists - [x] Profile pages, follow/unfollow, mute - [x] Persistent color-coded relay list - [x] Smart relay selection and display - [x] Connection quality information - [x] Invoice, bech32 entity, mention, link, image, and video rendering - [x] Installable as a progressive web app - [x] Media uploads - [x] Lightning zaps - [ ] Feeds customizable by person, relay, and topic - [ ] Keyword mutes - [ ] Exportable copy of all user events - [ ] Reporting and basic distributed moderation - [ ] Content and person recommendations - [ ] Profile and content search You can find a more complete changelog [here](./ROADMAP.md). # Run Coracle locally: - Clone the project repository: `git clone https://github.com/staab/coracle.git` - Navitage to the project directory: `cd coracle` - Install dependencies: `npm install` - Add an env file from the template: `cp env.template env.local` - Start the development server: `npm run dev`