v1.11.0March 18, 2026Latest
New Logo & Merge Tags
brandingfeatureprofile
- New DreamKeg dreamcatcher logo across the entire site — favicon, PWA icon, Open Graph, and app logo
- Merge people tags: combine duplicate people (e.g., 'James' + 'james' into 'James Carson') from your profile's People section
- Searchable merge modal with two-step flow: pick the primary person, then select tags to fold in
- Merge is reversible — delete the definition from the Definitions page to un-merge
v1.10.0March 16, 2026
AI-Generated Dream Banners
featureai
- AI-generated banner images for dream posts — powered by DALL-E 3 (1792x1024 wide format)
- Haiku-crafted image prompts from dream title + tags for vivid, surreal dream artwork
- Banner auto-generates on new dream submission (non-blocking, appears when ready)
- 'AI Banner' button on existing dreams to generate banners on demand
- Dream cards expand taller when displaying AI banners vs gradient backgrounds
- Images stored in Supabase Storage with public CDN access
- Stability AI SDXL support wired up as a cheaper alternative provider
v1.9.0March 12, 2026
Content Security & Moderation
securityai
- AI content moderation: dreams are screened for spam, hate speech, and non-dream content before tagging (powered by Claude Haiku)
- 10,000 character limit on dream posts — prevents spam walls while accommodating even the longest real dreams
- Input sanitization: HTML tags, scripts, and control characters are stripped from dream text
- Character counter on dream submit and edit forms showing live count against limit
- Moderation and sanitization applied to dream submit, edit, import, and pre-analysis endpoints
v1.8.1March 11, 2026
Appeared In Dreams Stat
featuresocialprofile
- New 'Appeared In' stat on your profile showing how many other users' dreams you're tagged in
v1.8.0March 11, 2026
Social, Search & Onboarding
featuresocialsearchuxonboarding
- Public user profiles: click any username/avatar to view their dreams, tag patterns, and stats
- New GET /api/users/[id] endpoint returning profile, public dreams, and tag stats
- Follow/unfollow directly from public profiles with real-time state updates
- Dream search with debounced text search across titles and dream bodies
- Filter dreams by tag name, tag category, and 'my dreams only' toggle
- Shareable dream links: each dream has a unique URL at /dream/[id] with OG meta tags
- Server-rendered dream pages for rich social media previews (Twitter, Facebook, etc.)
- Share button on dream cards copies link to clipboard with visual confirmation
- Following feed tab: toggle between 'All Dreams' and dreams from people you follow
- Dream streaks card on profile: current streak, longest streak, this month, avg/week
- Encouraging streak messages for active journalers
- Tag trends over time chart: visualize how dream themes change month by month
- Selectable tag pills to focus on individual tag trends with direction indicators
- Manual tag editing: add or remove tags after AI tagging on your own dreams
- New POST/DELETE /api/dreams/tags endpoints for granular tag management
- Real-time tag highlighting updates when tags are added or removed
- First-time user onboarding flow: set avatar, username, bio after signup
- Two-step onboarding with profile setup then CTA to submit first dream
v1.7.0March 10, 2026
Person Tag Popup — View, Follow & Invite
featuresocialux
- Clicking @person tags in dreams now opens an interactive popup modal instead of a brief toast
- Popup shows linked DreamKeg profile with avatar, name, bio, follower count, and Follow/Following button
- On your own dreams: Link unlinked person tags to DreamKeg users via search or invite via email
- On others' dreams: Shows profile if linked, or 'Not on DreamKeg yet' status
- Debounced user search (300ms) within the popup for quick linking
- Email invites sent directly from the popup with success/error states
- New GET /api/definitions/lookup endpoint for fetching definitions with linked profiles
- Click-outside-to-close and glass morphism styling matching the app design
- Fixed Resend email client lazy initialization to prevent build-time crashes
v1.6.0March 10, 2026
Smart Definition Prompts, Notifications & Invites
featuresocialemailnotifications
- Post-submission modal prompts users to define new people and places tags
- Per-tag definition inputs with category badges and context-aware prompts
- User search dropdown to link people tags to real DreamKeg accounts
- Email invite system via Resend for non-DreamKeg users ('Someone dreamed about you!')
- Notification system with bell icon, unread count badge, and 60-second polling
- Notification types: dream_link, invite_accepted, follow, comment, like
- Notifications page with glass cards, from-user avatars, and mark-all-as-read
- Invite acceptance flow: signup preserves invite param, auto-links definition, notifies inviter
- Deferred prompts with 7-day cooldown ('Ask Me Later' button)
- Batch definition save endpoint with notification creation for linked users
- Rate-limited invites (10 per user per 24 hours) with duplicate detection
- Branded dark purple HTML email template matching DreamKeg design
- Three new database tables: notifications, invites, deferred_prompts
v1.5.0March 9, 2026
Mobile Responsiveness
mobileresponsiveux
- Sidebar converts to slide-out hamburger menu on screens < 768px
- Dream Feed switches to single-column layout on mobile, trending sidebar hidden
- DreamCard responsive padding, banner height, and font sizes for small screens
- Submit page influencer fields stack vertically on mobile
- Profile page header stacks vertically, stats row wraps, avatar resizes
- Globe page reduced height (320px), touch pinch-zoom support, touch-action CSS for iOS
- Dream Matches side-by-side comparison stacks vertically on mobile
- All page titles, card padding, and spacing adapt to mobile viewport
- Definitions form stacks vertically, list items wrap on small screens
- Settings emoji grid and input fields resize for touch targets
- Landing page feature grid stacks to single column, CTA buttons stack on small screens
- Added viewport meta tag (device-width, initial-scale 1)
- Added overflow-x: hidden on mobile to prevent horizontal scroll
- Hamburger button with glass morphism style, animated sidebar backdrop overlay
v1.4.0March 9, 2026
Context Document & Project Organization
docstooling
- Created CLAUDE_CODE_CONTEXT.md with full project documentation
- Documented complete tech stack, repo structure, database schema, and design system
- Cataloged all existing features and prioritized next features roadmap
- Added TypeScript build rules and key patterns reference
v1.3.0March 8, 2026
Import Tool & Profile Stats Engine
featureimportapi
- Built Import Dreams page with drag-and-drop file upload (JSON, CSV, TXT)
- Batch processing with progress bar and error tracking
- Pre-tagged data detection preserves existing tags on import
- Server-side profile stats computation via /api/profile/stats endpoint
- Full tag frequency analysis across all 2,241+ dreams efficiently
- Dream list pagination (20 dreams per page) with scroll-to-top
- People In Your Dreams pagination (15 per page)
v1.2.0March 7, 2026
Globe, Matches & Trending
featured3visualization
- Built Explore Globe with D3.js orthographic projection
- Three globe modes: World Trending, Dream Locations, Sleep Locations
- Drag-to-rotate and scroll-to-zoom with smooth transitions
- Interactive tooltips on data dots with city, theme, and count
- Dream Matches page with Jaccard similarity scoring
- Side-by-side dream comparison with shared tag pills
- Cross-user matching + self-pattern detection fallback
- Trending page with real theme data computed from feed dreams
- Celebrity demo accounts for aspirational content
- Top Dreams section sorted by engagement
v1.1.0March 5, 2026
Definitions, Settings & Voice Input
featurevoicecrud
- Definitions page with full CRUD operations via /api/definitions
- Category filtering (People, Places, Things) with stats bar
- Rainbow @People links in definitions with click-to-view
- Settings page with username, display name, bio, location editing
- Avatar emoji picker with 16 options and visual selection
- Voice-to-text dream input using Web Speech API
- Recording indicator with pulsing animation and append mode
- AI auto-title toggle on dream submission form
- Privacy toggle (public/private) with visual feedback
- Dream influencer fields (location, time, food, substances, stress, sleep quality)
v1.0.0March 4, 2026
Core Platform Launch
launchfeatureai
- DreamKegApp single-file architecture with client-side page routing
- Google OAuth authentication via Supabase Auth
- Auth middleware protecting all app routes with redirect to /login
- Dream submission with Claude AI exhaustive tagging (8 categories)
- Live dream feed from Supabase with real-time data
- DreamCard component with gradient banners, expandable text, tag legend
- Inline color-coded tag highlighting in dream text
- Profile page with avatar, stats (dreams, tags, followers, following)
- Dream Patterns by category with tag frequency pills
- AI Insight dynamically computed from tag statistics
- Dream edit and delete functionality on profile page
- Landing page with star particle animation and CTA buttons
- Glass morphism design system with rainbow animated text
- 8 gradient presets for dream card banners
- 8 tag category colors (people, places, emotions, actions, themes, objects, animals, activities)
v0.1.0February 25, 2026
Initial Commit
setup
- Next.js 14 App Router project scaffold
- Supabase client and server configuration
- Tailwind CSS setup with custom theme
- Database schema: profiles, dreams, dream_tags, definitions, follows, likes, comments
- Row Level Security (RLS) enabled on all tables
- Counter triggers for dream_count, like_count, follower_count, following_count
- PostgreSQL enum for tag categories
dreamkeg.com · Built by Joe Carson