A modern web application for spiritual growth, Christian fellowship, and AI-powered biblical guidance. Built with love, faith, and cutting-edge technology.
Live at: www.spiritualjourney.app

⨠Overview
Spiritual Journey is a comprehensive platform that combines personal journaling, community fellowship, real-time chat, and AI-powered scripture guidance to support your walk with faith. The app features a beautiful "Illuminated Sanctuary" theme inspired by cathedral architecture with golden accents and divine lighting effects.
š Key Features
š Personal Journaling
- Mood Tracking: Track your emotional and spiritual state (grateful, peaceful, joyful, hopeful, reflective, troubled, anxious, seeking)
- Gratitude Lists: Daily gratitude practice with 3 items
- Prayer Journal: Private space for prayers with optional saving
- Voice-to-Text: Speak your thoughts and prayers (desktop - uses OpenAI Whisper)
- Collapsible Timeline: Journal entries organized by date
- Streak Tracking: Monitor your consistency in journaling
- Share Your Journey: Optionally share journal entries with the community
- Post Types:
- General posts
- Prayer requests (with urgent flag)
- Testimonies
- Praise reports
- Anonymous Sharing: Share while maintaining privacy
- Real-time Interactions:
- Reactions: Amen š, Praying š¤², Love ā¤ļø, Hallelujah š, Strength šŖ
- Comments and encouragements with real-time updates
- Prayer warrior commitments for prayer requests
- Smart Feed: Compact, social media-style layout with "Read more" expansion
- Fellowship System: Connect with other believers to see their posts in your feed
- Filters: View by post type or "My Posts" only
š¬ The Way - Live Chat Rooms
Five themed chat rooms for different types of fellowship:
- Fellowship Hall āŖ: General Christian community chat
- Prayer Chamber š: Dedicated prayer requests and intercession
- Scripture Study š: Bible discussion and verse sharing
- Testimony āØ: Share what God has done in your life
- Debate Room āļø: Respectful theological discussions with rules of engagement
Features:
- Real-time messaging with newest messages at top
- Live presence indicators showing who's in each room
- User status options: Walking in faith, In prayer, Reading Word, Away
- Message reactions with toggle functionality
- Voice-to-text input (desktop only)
- Per-room presence tracking
- Mobile responsive full-screen experience with user sidebar
- Private Messaging (Fellowship members only):
- Pop-out chat windows with drag and resize functionality
- Mobile-optimized chat interface with touch support
- Chat request system with 5-minute expiry
- Real-time message delivery with chronological ordering
- Online presence indicators using user_presence table
- Message history properly displayed (oldest to newest)
- Automatic scrolling to latest messages
- Global chat management across entire app
⨠AI-Powered Scripture Guidance
- Two Modes:
- AI-Powered (Claude 3.5 Haiku) for personalized guidance
- Keyword matching for quick scripture lookup
- Context-Aware: Considers recent journal entries and current mood
- Beautiful Modal Display:
- 2-3 relevant Bible verses
- Personal application for each verse
- Encouraging message
- Voice Input: Speak your situation for guidance
- Living Scrolls Library: 43 pre-compiled scripture collections for life situations
šļø Fellowship Groups (Small Group Communities)
Create and join small group communities for focused fellowship and Bible study:
Group Features:
- Group Types: Bible Study (š), Prayer Groups (š), General Fellowship (šļø)
- Privacy Options: Public (discoverable) or Private (invite-only)
- Roles: Admin, Moderator, and Member permissions
- Group Management: Create, invite members, manage roles
Integrated Feed System:
- Smart Group Selector: Tabs below Fellowship navigation (wraps to multiple rows)
- Unified Feed: Switch between "All Fellowship" and specific groups seamlessly
- Group Tags: Posts show source group in "All Fellowship" view
- Click Navigation: Click group tags to jump to that group instantly
Real-time Notifications:
- Unread Badges: Pulsing red badges show new message counts per group
- Smart Tracking: Per-group last read timestamps
- Browser Notifications: Desktop notifications for new group messages
- Live Updates: Feed refreshes automatically when new posts arrive
- Presence Aware: Only notifies for groups you're not currently viewing
Member Experience:
- See all your groups at a glance
- Admin crown badges (š) for groups you manage
- Member counts visible on group cards
- Discover public groups to join
- Accept/decline group invitations
š¤ Voice Features (Desktop Only)
- Powered by OpenAI Whisper API
- Available in:
- Journal content and prayer sections
- Chat messages in The Way
- Scripture guidance input
- Mobile users use native keyboard voice input
- 60-second maximum recording duration
š± Mobile Experience
- Optimized Touch Interface: Properly sized touch targets
- The Way Chat Mobile Features:
- Side-by-side Users/Exit buttons in header
- Slide-in sidebar with online users list
- Fellowship status icons for quick recognition
- Icon System:
- ā = In fellowship (green background)
- ā³ = Fellowship request pending
- š = Incoming fellowship request
- š¤ = Send fellowship request
- š¬ = Private message (fellowship only)
- Full-Screen Experience: Maximizes screen space on mobile devices
šØ Illuminated Sanctuary Theme
- Cathedral-inspired design with golden accents
- Divine light rays animation effects
- Stained glass color palette
- CSS variables for consistent theming
- Smooth animations and transitions
- Fully responsive for mobile and desktop
- Dark background with luminous elements
š Quick Start
Prerequisites
- Node.js 18+
- npm or yarn
- Supabase account (free tier works)
- Vercel account (for deployment)
- OpenAI API key (for voice features)
- Anthropic API key (for AI guidance)
Installation
Clone the repository:
git clone https://github.com/Clark-Wallace/Spiritual-Journey-Journal.git
cd svelte-app
Install dependencies:
npm install
Set up environment variables:
Create a .env
file with:
```env
Supabase Configuration
VITE_SUPABASE_URL=your-supabase-url
VITE_SUPABASE_ANON_KEY=your-supabase-anon-key
For AI Features (Vercel Functions)
OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key
4. Run the development server:
```bash
npm run dev
Visit http://localhost:5173
š¦ Database Setup
Run these SQL scripts in your Supabase SQL editor in order:
- Core Tables:
supabase/schema.sql
- journal_entries, user_profiles, daily_verses
- Social Features:
supabase/social-schema.sql
- community_posts, encouragements, reactions, prayer_wall, prayer_warriors
- Chat System:
supabase/chat-schema.sql
- chat_messages, user_presence, chat_reactions
- Fellowship System:
database/CREATE_FELLOWSHIPS_TABLE.sql
- fellowships table for user connections
- Real-time:
supabase/enable-realtime.sql
- Enables real-time subscriptions for all tables
- Required Updates: Run these critical SQL files:
database/ADD_ROOM_COLUMN_TO_CHAT_MESSAGES.sql
database/ADD_ROOM_COLUMN_TO_USER_PRESENCE.sql
database/ADD_PRAYER_COLUMN_TO_JOURNAL.sql
database/CREATE_FELLOWSHIP_FEED_FUNCTION.sql
or database/FELLOWSHIP_FEED_EMPTY_SAFE.sql
- Private Messaging (Recommended for full functionality):
database/SIMPLE_PRIVATE_MESSAGES.sql
- Direct messaging table
database/CREATE_CHAT_REQUESTS_SAFE.sql
- Chat request system
database/FIX_RPC_FUNCTIONS.sql
- Fix column ambiguity and message ordering
š¢ Deployment
Vercel Deployment
- Push to GitHub
- Import repository in Vercel
- Add environment variables in Vercel dashboard:
OPENAI_API_KEY
(for voice transcription)
ANTHROPIC_API_KEY
(for scripture guidance)
- Deploy! Vercel will auto-deploy on push to main
Custom Domain Setup
- Add domain in Vercel project settings
- Update DNS records with your provider:
- A record pointing to Vercel
- CNAME for www subdomain
- SSL certificates are automatic
š ļø Tech Stack
- Frontend:
- Svelte 5.35.5 (latest version)
- TypeScript 5.8.3 for type safety
- Vite 7.0.4 for fast builds
- Backend:
- Supabase (PostgreSQL database)
- Supabase Auth (authentication)
- Supabase Realtime (WebSocket subscriptions)
- Custom RPC functions for fellowship system
- AI/ML:
- OpenAI Whisper API (voice transcription)
- Anthropic Claude 3.5 Haiku (scripture guidance)
- Hosting:
- Vercel (automatic CI/CD from GitHub)
- Vercel Functions (serverless API endpoints)
- Styling:
- Custom CSS with CSS Variables
- Illuminated Sanctuary theme
- Mobile-first responsive design
š Project Structure
svelte-app/
āāā api/ # Vercel serverless functions
ā āāā guidance.js # Claude AI scripture guidance
ā āāā transcribe.js # Whisper voice transcription
āāā src/
ā āāā lib/
ā ā āāā components/ # Svelte components
ā ā ā āāā *Illuminated.svelte # Themed components
ā ā ā āāā VoiceRecorder.svelte # Voice input
ā ā ā āāā ScriptureGuide.svelte # AI guidance
ā ā āāā stores/ # State management
ā ā āāā supabase.ts # Database client
ā ā āāā types.ts # TypeScript types
ā āāā App.svelte # Main app component
ā āāā main.ts # App entry point
āāā supabase/ # Database schemas
āāā public/ # Static assets
āāā package.json # Dependencies
š± Browser Support
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Mobile browsers (iOS Safari, Chrome Mobile)
š Security Features
- Row Level Security (RLS) on all tables
- Anonymous posting options
- Secure authentication via Supabase Auth
- API keys stored in environment variables
- HTTPS enforced on production
š¤ Contributing
We welcome contributions that align with the app's faith-based mission!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
)
- Commit your changes (
git commit -m 'Add AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
š Support Development
If this app has blessed you, consider supporting development:

š License
MIT License - see LICENSE file for details
š Acknowledgments
- Built with faith and love for the Christian community
- Inspired by the need for a modern, safe space for spiritual growth
- Scripture quotations from public domain translations
- Living Scrolls compilation for biblical guidance
- Special thanks to all beta testers and prayer warriors
ā ļø Known Issues & Solutions
Fellowship Feed Error (404/400)
If you see get_fellowship_feed
errors:
- Run
database/FELLOWSHIP_FEED_EMPTY_SAFE.sql
to create the RPC function
- This handles both users with and without fellowships
Chat Messages Not Sending
- Ensure
room
column exists: Run database/ADD_ROOM_COLUMN_TO_CHAT_MESSAGES.sql
- Check user authentication status
Presence Not Showing
- Run
database/ADD_ROOM_COLUMN_TO_USER_PRESENCE.sql
- Verify realtime is enabled for user_presence table
Journal Not Saving Prayer
- Run
database/ADD_PRAYER_COLUMN_TO_JOURNAL.sql
- Refresh the page after running the SQL
š Future Roadmap
"For I know the plans I have for you," declares the Lord, "plans to prosper you and not to harm you, plans to give you hope and a future." - Jeremiah 29:11
Made with ā¤ļø and š for the glory of God