Inspiration
In an era where social media platforms control our data, dictate what we see, and can ban us at any moment, we asked: what if your profile was truly yours?
Yourspace V2 was inspired by the nostalgic freedom of MySpace—where users could customize their profiles and express themselves—combined with the censorship-resistant power of Nostr. We wanted to create a social platform where:
- Your profile is your homepage, not a feed algorithm's playground
- Your identity and data are portable across any client
- Connections are based on mutual relationships, not engagement metrics
- You can express yourself through customizable widgets showcasing YOUR content
The Freedom Tech hackathon was the perfect catalyst to build a truly user-owned social experience.
What it does
Yourspace V2 is a profile-centric Nostr social platform where your profile IS your homepage. Unlike traditional social media with endless algorithmic feeds, all discovery happens through exploring profiles.
Key Features:
- Widget-based profiles: Display your notes, pictures, videos, articles, zaps received, badges, and more through customizable widgets
- True friendship model: "Friends" are mutual follows—people who follow each other—bringing back genuine social connections
- Rich media support: NIP-68 pictures with lightbox, NIP-71 videos with shorts support, NIP-23 long-form articles
- Lightning integration: See zaps received, with full BOLT11 parsing and sender attribution
- NIP-58 badges: Showcase achievements and credentials earned across the Nostr ecosystem
- Mobile-first design: Responsive layouts that work beautifully on any device
How we built it
Yourspace V2 was built entirely using Shakespeare, an AI-powered development environment, with a modern React stack:
- React 18 with TypeScript for type-safe development
- Nostrify for Nostr protocol integration
- TanStack Query for efficient data fetching and caching
- shadcn/ui components with Tailwind CSS for a polished UI
The architecture follows a modular widget system where each content type (notes, pictures, videos, etc.) is a self-contained widget with its own data hooks, making it easy to add new widget types.
Challenges we ran into
- Performance: Its really hard to load this many different kinds of Nostr events in a small space.
- Massive UI To do list :There are a LOT of components to build in a very short time
- slow wifi: equals slow AI
Accomplishments that we're proud of
- 7 fully functional widgets displaying real Nostr data: Notes, Pictures, Videos, Articles, Badges, Zaps, and Friends
- Beautiful lightbox with keyboard navigation, zoom, and download for picture galleries
- Video player with support for both horizontal videos and vertical "shorts"
- Comprehensive NIP support: NIP-01, NIP-02, NIP-19, NIP-23, NIP-57, NIP-58, NIP-68, NIP-71, NIP-78
- Real mutual friends: Actually computing bidirectional follow relationships to show true friendships
- Production-ready code: Full TypeScript types, error boundaries, loading skeletons, and empty states
What we learned
- The Nostr ecosystem has incredibly rich NIPs for different content types—there's a standard for almost everything
- Building on open protocols means your app automatically benefits from content created in other clients
- The "friends" concept (mutual follows) creates a much healthier social dynamic than one-way follower counts
- AI-assisted development with Shakespeare dramatically accelerates building complex applications
What's next for Yourspace V2
- Profile customization: Theme picker, custom colors, background images, widget drag-and-drop reordering
- More widgets: Calendar events (NIP-52), bookmarks, highlights, music/podcasts, embeds
- Cashu wallet integration: Send and receive ecash, pay for zaps with Cashu tokens
- Search & discovery: Find users by npub, NIP-05, or name
- Direct messages: Encrypted DMs using NIP-04 and NIP-17
- Content creation: Compose notes, upload media directly from your profile
Built With
- bitcoin
- cashu
- lightning
- nostr
- react
- shakespeare
Log in or sign up for Devpost to join the conversation.