A comprehensive wellness tracking application with AI-powered coaching, social-style feed, and personalized insights.
- Instagram-style post feed with full-width cards
- User profile avatars and AI coach avatars
- Swipeable square-format carousels for guidance and inspiration
- Today's Actions - Daily action items from AI coach
- Strategic Insights - Data-driven recommendations
- Daily Inspiration - Motivational quotes with navigation
- Like and comment on posts
- Visual stat cards and progress tracking
- Daily wellness summaries
- Tap-to-expand for detailed information
- Comprehensive analytics
- Mood tracking with visualizations
- Category performance (Mind, Body, Soul, Beauty)
- Streak tracking
- Weekly engagement charts
- Custom trackers for habits and goals
- Frequency-aware tracking (daily, weekly, monthly)
- Progress photos
- Mood and energy logging
- AI-powered suggestions
- Daily journal entries
- Mood tracking
- AI-generated prompts
- Reflection exercises
- Sentiment analysis
- Goal creation and tracking
- Milestone celebrations
- Progress visualization
- Achievement system
- Framework: Ionic 8 + Angular 20
- UI: Tailwind CSS + Ionic Components
- State Management: RxJS with caching
- Authentication: Firebase Auth
- Storage: Firebase Storage
- Gestures: Native touch/swipe support
- Functions: Firebase Functions (Node 22)
- Database: Firestore
- AI: OpenAI GPT-4, Google Vertex AI (Imagen), Google Gemini (
@google/generative-ai) - Video: Remotion on Cloud Run
- Image Processing: Sharp
- iOS: Capacitor + Xcode
- Android: Capacitor + Android Studio
- CI/CD: Ionic Appflow
regen28/
├── src/
│ ├── app/
│ │ ├── components/
│ │ │ └── feed/ # Feed components
│ │ │ ├── feed-list/
│ │ │ ├── feed-item-card/
│ │ │ ├── comments-modal/
│ │ │ └── cards/ # Specialized post cards
│ │ ├── pages/
│ │ │ └── tabs/
│ │ │ ├── dashboard/ # Feed tab (Home)
│ │ │ ├── insights/ # Analytics dashboard
│ │ │ ├── tracker/ # Activity tracking
│ │ │ ├── journal/ # Journaling
│ │ │ └── settings/ # Settings
│ │ ├── services/
│ │ │ ├── feed.service.ts
│ │ │ ├── media.service.ts
│ │ │ ├── activity.service.ts
│ │ │ ├── tracker.service.ts
│ │ │ └── statistics.service.ts
│ │ └── models/
│ │ ├── feed-item.interface.ts
│ │ ├── activity.interface.ts
│ │ └── tracker.interface.ts
│ └── assets/
├── functions/
│ ├── src/
│ │ ├── feed/
│ │ │ ├── feed-items.ts # Feed generation
│ │ │ ├── feed-jobs.ts # Media generation
│ │ │ ├── interactions.ts # Likes & comments
│ │ │ ├── wrapped-scheduler.ts
│ │ │ └── wrapped-jobs.ts
│ │ ├── openai.service.ts
│ │ ├── user-management.ts
│ │ └── statistics-functions.ts
│ └── services/
│ └── remotion-renderer/ # Video generation service
├── ios/
│ └── App/
├── android/
│ └── app/
├── docs/
│ ├── BACKEND_INFRASTRUCTURE.md
│ ├── ACTION_INSIGHT_FEED_SYSTEM.md
│ ├── FEED_IMPLEMENTATION.md
│ └── IOS_APPFLOW_TESTERS.md
├── COMMANDS.md
├── firestore.rules
├── firestore.indexes.json
├── storage.rules
└── firebase.json
- Backend Infrastructure: Cloud Functions setup, initialization, and deployment directly from the source.
- Action & Insight System: Detailed architecture of the personalized coaching feed.
- Feed Implementation: Overview of the social feed, post types, and frontend components.
- iOS Testing: Guide for iOS testers using Appflow.
- Common Commands: Quick reference for deployment and development commands.
- Node.js 22+
- npm or yarn
- Firebase CLI (
npm install -g firebase-tools) - Ionic CLI (
npm install -g @ionic/cli) - Xcode (for iOS)
- Android Studio (for Android)
- Clone and Install
git clone <repository-url>
cd regen28
npm install- Install Functions Dependencies
cd functions
npm install
cd ..- Configure Firebase
firebase login
firebase use regen28-2fe51- Set Environment Variables
Create
.envfile:
FIREBASE_API_KEY=your_key
FIREBASE_PROJECT_ID=regen28-2fe51
- Deploy Backend
cd functions
npm run build
firebase deploy --only functions
firebase deploy --only storage
firebase deploy --only firestore:rules
firebase deploy --only firestore:indexesRun Locally
ionic serveRun on iOS
ionic cap sync ios
ionic cap open iosRun on Android
ionic cap sync android
ionic cap open androidFirebase Emulators
firebase emulators:start- Visual: Full-width gradient background with icon and value
- Colors: Category-based (Mind=Indigo, Body=Emerald, Soul=Amber, Beauty=Pink)
- Data Source:
activitiescollection (type:tracker_entry) - Author: User avatar with display name
- Visual: Purple gradient with metrics
- Author: Regen28 Coach (with bot avatar)
- Data Source:
user-daily-statscollection - Frequency: Once per day
- Visual: Square carousel (1:1 aspect ratio) with emerald gradient
- Author: Regen28 Coach @ Action Center
- Data Source:
tracker-specific-suggestionscollection - Content: AI-generated daily action items
- Features: Swipe navigation, tap-to-expand for details, tracker name header
- Metadata: Icon, reason, tracker context
- Visual: Square carousel (1:1 aspect ratio) with blue gradient
- Author: Regen28 Coach @ Analytics Lab
- Data Source:
tracker-specific-suggestionscollection - Content: AI-generated insights based on tracking patterns
- Features: Swipe navigation, tap-to-expand for details, tracker name header
- Metadata: Type, data point, reason
- Visual: Square carousel (1:1 aspect ratio) with amber/orange gradient
- Author: Regen28 Coach @ Wisdom Corner
- Data Source: Motivational quotes from
tracker-specific-suggestions - Content: Inspirational quotes with author attribution
- Features: Swipe navigation, fade transitions, dot indicators
- Visual: High-fidelity AI-generated images (1:1 aspect ratio)
- Author: Nano Banana (AI Coach)
- Data Source: Generated by Gemini Pro/Standard via Cloud Functions
- Content:
- Motivational: Personalized scenes (uses user reference photos if available)
- Contextual: Visual metaphors for current streaks and activity
- Features: Dynamic likeness (Pro model), smart fallback for generic characters
- Backend:
functions/src/feed/interactions.ts→toggleLike - Storage:
feed-likescollection - UI: Optimistic updates (instant feedback)
- Icon: Heart (outline → filled red)
- Backend:
functions/src/feed/interactions.ts→addComment,getComments - Storage:
feed-commentscollection - UI: Modal with comment list and input field
- Features: Pagination, real-time updates
- Generate SVG template with data
- Convert to PNG using
sharp - Upload to
feed-media/{userId}/cards/ - Update feed item with URL
- Check user consent
- Verify rate limit (5/day)
- Call Vertex AI Imagen API
- Upload to
ai-media/{userId}/ - Add AI metadata to post
- Scheduler creates jobs (weekly)
- Worker calls Cloud Run service
- Remotion renders MP4
- Upload to
wrapped-videos/{userId}/ - Generate thumbnail
firebase functions:config:set openai.key="sk-..."
firebase functions:config:set google.gemini_key="AIza..."
firebase functions:config:set remotion.url="https://..."Location: capacitor.config.json
{
"appId": "com.regen28labs",
"appName": "Regen28",
"webDir": "www"
}- Push to
mainbranch - Appflow triggers build automatically
- Uses
Eleven_Heights_Dev.mobileprovision - Code signing: Apple Development certificate
ionic cap sync android
cd android
./gradlew assembleReleaseionic build --prod
firebase deploy --only hostingfeedService.getFeed(limit: number): Observable<FeedItem[]>feedService.toggleLike(feedItemId: string): Observable<{likesCount: number, hasLiked: boolean}>feedService.addComment(feedItemId: string, text: string): Observable<FeedComment>feedService.getComments(feedItemId: string, limit?: number): Observable<FeedComment[]>- Create feature branch
- Make changes
- Test locally
- Submit pull request
Proprietary - All rights reserved
For issues or questions, contact: support@regen28.com