AURA Svelte Themes

Aura

AURA is a censorship-resistant social messenger built on the Nostr protocol. It empowers people to communicate freely, without fear of surveillance or censorship.

โœจ AURA

Decentralized Social Messenger for the Free World


AURA Logo

AURA is a censorship-resistant social messenger built on the Nostr protocol.
It empowers people to communicate freely, without fear of surveillance or censorship.

Because freedom of speech is a human right, not a privilege.

๐Ÿš€ Live Demo ยท ๐Ÿ“– Documentation ยท ๐Ÿ› Report Bug ยท ๐Ÿ’ก Request Feature


๐ŸŒŸ Why AURA?

In a world where social platforms control what you see, who you can reach, and what you can say โ€” AURA offers an alternative. Built on the Nostr protocol, AURA is:

  • ๐Ÿ”“ Truly Decentralized โ€” No single company controls your data or can ban you
  • ๐Ÿ›ก๏ธ Censorship Resistant โ€” Your voice cannot be silenced by any authority
  • ๐Ÿ” Privacy First โ€” End-to-end encrypted direct messages (NIP-17 Gift Wraps)
  • โšก Lightning Integrated โ€” Send and receive Bitcoin payments via NWC
  • ๐Ÿ’ฐ eCash Support โ€” Anonymous payments with Cashu tokens
  • ๐Ÿ›’ Decentralized Marketplace โ€” Buy and sell with Bitcoin (NIP-15)
  • ๐Ÿค– AI Chat โ€” Decentralized AI via Data Vending Machines (NIP-90)
  • ๐ŸŒ Open Source โ€” Transparent, auditable, and community-driven
  • ๐Ÿ“ฑ Mobile Ready โ€” PWA + Capacitor for native Android/iOS builds

"They can't stop the signal."


โœจ Features

๐Ÿ  Social Feed

  • Global and personalized feeds
  • Real-time updates via WebSocket subscriptions
  • Infinite scroll with optimistic UI updates
  • Create posts, reply, repost, and react

๐Ÿ’ฌ Private Messaging

  • End-to-end encrypted DMs with NIP-17 Gift Wraps (metadata hidden)
  • Legacy NIP-04 support for backwards compatibility
  • Conversation list with unread indicators
  • Real-time message delivery with offline queue
  • Send eCash (Cashu tokens) in messages

๐Ÿ‘ค Profiles

  • View and edit your Nostr profile
  • Follow/unfollow users
  • Contact list management (NIP-02)
  • Verified user badges (NIP-05)

๐Ÿ’ฐ Lightning Wallet & eCash

  • Nostr Wallet Connect (NWC) integration
  • Cashu eCash for anonymous payments
  • Send and receive Bitcoin via Lightning
  • Swap between Lightning โ‡„ eCash
  • Transaction history
  • โšก Zap support for posts and users (NIP-57)

๐Ÿ›’ Marketplace (NIP-15)

  • Browse decentralized product listings
  • Filter by category, price, condition
  • Web of Trust integration for seller reputation
  • Direct messaging with sellers
  • Pay with Lightning or eCash

๐Ÿค– AI Chat (NIP-90)

  • Decentralized AI via Data Vending Machines
  • Pay-per-use with Lightning sats
  • Text generation, translation, summarization
  • No accounts, no tracking
  • Search notes by content
  • Find users by name or npub
  • Discover hashtags with #tag filters
  • Advanced filters (date range, author, content type)
  • Search history and saved searches
  • Trending topics

๐Ÿ‘ฅ Group Chats (NIP-28)

  • Public channels for communities
  • Real-time group messaging
  • Create and join groups
  • Member management
  • Reply threading

๐Ÿ“ž Video/Audio Calls

  • One-on-one video calls via Jitsi
  • Voice calls support
  • Call invite via DM
  • In-call controls (mute, video toggle, screen share)
  • Call history

๐Ÿ“– Stories (24h Ephemeral Posts)

  • Create image/text stories
  • Stories bar with avatars
  • Full-screen story viewer
  • Auto-delete after 24 hours
  • View tracking

๐Ÿ“Š Polls

  • Create polls with 2-4 options
  • Vote on polls
  • Real-time results
  • Optional end time

๐Ÿ”– Bookmarks (NIP-51)

  • Save posts for later
  • Private bookmark list
  • Quick access from sidebar

๐ŸŽค Voice Messages

  • Hold-to-record in DMs
  • Waveform visualization
  • Play/pause controls
  • Upload via Blossom

๐Ÿ”” Push Notifications

  • Web Push API support
  • Notification settings (mentions, DMs, zaps)
  • Service Worker integration

๐Ÿ“ฑ QR Code Profile

  • Generate profile QR code
  • Share nostr:npub URI
  • Downloadable image

โš™๏ธ Settings

  • Relay management
  • Theme customization (light/dark)
  • Language selection (EN, ES, RU, ZH)
  • Data export and cache management

๐Ÿ› ๏ธ Tech Stack

Category Technology
Framework SvelteKit 2 + Svelte 5
Language TypeScript (strict mode)
Styling Tailwind CSS 4
Nostr NDK (Nostr Dev Kit)
Database Dexie.js (IndexedDB wrapper)
Crypto @noble libraries
Testing Vitest + Playwright
Mobile Capacitor
eCash Cashu-TS
Icons Lucide
Validation Zod

๐Ÿš€ Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • Bun (recommended) or npm/yarn/pnpm

Installation

# Clone the repository
git clone https://github.com/FrankFMY/AURA.git
cd AURA

# Install dependencies
bun install

# Start development server
bun run dev

Open http://localhost:5173 in your browser.

Build for Production

# Create production build
bun run build

# Preview production build
bun run preview

๐Ÿ“– Documentation

Project Structure

AURA/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ components/     # Reusable UI components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ bookmarks/  # Bookmark button
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ calls/      # Video/audio calls UI
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ cashu/      # eCash components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ feed/       # Feed-related components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ groups/     # Group chat components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ media/      # Media upload (Blossom)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ messages/   # Voice messages
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ notifications/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ polls/      # Poll creation & voting
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ profile/    # Profile QR code
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ stories/    # Stories bar & viewer
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ verified/   # NIP-05 verification
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ wot/        # Web of Trust components
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ui/         # Base UI components
โ”‚   โ”‚   โ”œโ”€โ”€ core/           # Core utilities (errors, resilience)
โ”‚   โ”‚   โ”œโ”€โ”€ db/             # Dexie.js database
โ”‚   โ”‚   โ”œโ”€โ”€ i18n/           # Internationalization
โ”‚   โ”‚   โ”œโ”€โ”€ services/       # Business logic services
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ blossom/    # Decentralized file storage
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ calls/      # Jitsi video calls
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ crypto/     # Encryption (NIP-44, Gift Wrap)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ dvm/        # Data Vending Machines (AI)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ndk/        # NDK service modules
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ nip05/      # NIP-05 verification
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ wallet/     # NWC + Cashu eCash
โ”‚   โ”‚   โ”œโ”€โ”€ stores/         # Svelte 5 runes stores
โ”‚   โ”‚   โ”œโ”€โ”€ utils/          # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ validators/     # Zod schemas & sanitization
โ”‚   โ”œโ”€โ”€ routes/             # SvelteKit routes
โ”‚   โ”‚   โ”œโ”€โ”€ ai/             # AI Chat page
โ”‚   โ”‚   โ”œโ”€โ”€ bookmarks/      # Saved posts
โ”‚   โ”‚   โ”œโ”€โ”€ call/           # Video/audio call page
โ”‚   โ”‚   โ”œโ”€โ”€ groups/         # Group chats
โ”‚   โ”‚   โ”œโ”€โ”€ marketplace/    # NIP-15 Marketplace
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ””โ”€โ”€ app.css             # Global styles
โ”œโ”€โ”€ static/                 # Static assets
โ”œโ”€โ”€ tests/                  # Test files (646+ tests)
โ”‚   โ”œโ”€โ”€ e2e/                # Playwright E2E tests
โ”‚   โ””โ”€โ”€ unit/               # Vitest unit tests
โ”œโ”€โ”€ android/                # Capacitor Android (generated)
โ””โ”€โ”€ ...config files

Nostr NIPs Implemented

NIP Description Status
NIP-01 Basic protocol โœ…
NIP-02 Contact List โœ…
NIP-04 Encrypted DMs (legacy) โœ…
NIP-05 DNS Verification โœ…
NIP-07 Browser Extension โœ…
NIP-10 Replies & Threading โœ…
NIP-15 Marketplace Listings โœ…
NIP-17 Gift Wraps (Private DMs) โœ…
NIP-18 Reposts โœ…
NIP-25 Reactions โœ…
NIP-44 Versioned Encryption โœ…
NIP-47 Nostr Wallet Connect โœ…
NIP-57 Lightning Zaps โœ…
NIP-59 Gift Wrap Protocol โœ…
NIP-90 Data Vending Machines (AI) โœ…
NIP-98 HTTP Auth (Blossom) โœ…
NIP-28 Public Channels (Groups) โœ…
NIP-51 Lists (Bookmarks) โœ…

Available Scripts

bun run dev          # Start development server
bun run build        # Build for production
bun run preview      # Preview production build
bun run check        # Type-check with svelte-check
bun run test         # Run unit tests
bun run test:e2e     # Run E2E tests
bun run test:coverage # Run tests with coverage

๐ŸŒ Deployment

AURA is optimized for deployment on Vercel:

GitHub Pages

AURA can also be deployed to GitHub Pages using the included workflow.

IPFS (Censorship Resistant)

For maximum censorship resistance, deploy AURA to IPFS:

# Using Pinata (set PINATA_API_KEY and PINATA_API_SECRET first)
bun run deploy:ipfs --provider pinata

# Using local IPFS node
bun run deploy:ipfs --provider local

Once deployed, access AURA via any IPFS gateway:

  • https://ipfs.io/ipfs/<CID>
  • https://dweb.link/ipfs/<CID>
  • https://cloudflare-ipfs.com/ipfs/<CID>

๐Ÿ“ฑ Mobile Build (Android/iOS)

AURA uses Capacitor for native mobile builds:

# Build web assets
bun run build

# Add Android platform (first time only)
bunx cap add android

# Sync web assets to native
bunx cap sync android

# Open in Android Studio
bunx cap open android

Build APK in Android Studio:

  1. Open Android Studio
  2. Build > Build Bundle(s) / APK(s) > Build APK(s)
  3. APK location: android/app/build/outputs/apk/

Requirements:

  • Android Studio with Android SDK
  • For release builds: signing key

๐Ÿค Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


๐Ÿ”’ Security

AURA takes security seriously. If you discover a security vulnerability, please report it responsibly:

Please do not create public issues for security vulnerabilities.

See SECURITY.md for our security policy.


๐Ÿ“œ License

This project is licensed under the Apache License 2.0 โ€” see the LICENSE file for details.

This means you can:

  • โœ… Use it commercially
  • โœ… Modify it freely
  • โœ… Distribute it
  • โœ… Use it privately
  • โœ… Patent protection included

AURA is a client-side interface for the Nostr protocol. We do not host, store, or control any user content. All cryptographic keys are stored locally on the user's device. Content displayed in AURA is fetched from decentralized relays operated by independent third parties.

The developers of AURA:

  • Do not have access to user private keys or messages
  • Cannot modify or delete content published by users
  • Are not responsible for content published on the Nostr network
  • Cannot comply with takedown requests as we do not host content

For concerns about specific content, please contact the relay operators directly.


๐Ÿ’œ Support the Project

If AURA has helped you, consider supporting its development:

โšก Bitcoin (Lightning Network)

[email protected]

๐ŸŸฃ Solana

DANryD6MxNr3BQcYZN3rao9qM4VzS2sx7sHy944emPH2

๐Ÿ”ท Ethereum / EVM

0xC2335f06ab8Ef2512375bB8Cd2c07A7Bd1589A6e

๐ŸŒŸ Other Ways to Help

  • โญ Star this repository
  • ๐Ÿ› Report bugs and suggest features
  • ๐Ÿ“ Improve documentation
  • ๐ŸŒ Help with translations
  • ๐Ÿ“ข Spread the word about Nostr and AURA

๐Ÿ‘จโ€๐Ÿ’ป Author

Artem Pryanishnikov

Creator & Lead Developer


๐Ÿ™ Acknowledgments

  • Nostr Protocol โ€” For creating a truly decentralized protocol
  • NDK โ€” For the excellent Nostr development kit
  • Svelte โ€” For the amazing framework
  • All Contributors โ€” Who help make this project better

"Information wants to be free"


Built with ๐Ÿ’œ for a free and open internet


If you believe in freedom of speech and decentralization,
please consider starring โญ this repository and sharing AURA with others.


Together, we can build a better, freer world.

Top categories

Loading Svelte Themes