A mobile-first Progressive Web App providing professional parenting guidance, milestone tracking, vaccine schedules, and complementary food guides for new parents
LittleSteps is a comprehensive digital parenting companion designed to support new parents through the first year of their baby's life. Built with modern web technologies, it provides a seamless experience across all devices while maintaining professional medical accuracy.
- Welcoming Introduction - Warm, supportive messaging for new parents
- Feature Highlights - Visual overview of all available tools
- Google Sign-In - Prominent login button for cloud sync
- Modern Design - Gradient backgrounds, smooth animations, and intuitive navigation
- Google Sign-In - Secure authentication via Firebase
- Multi-Device Sync - Access your data across all devices in real-time
- Dual-Mode Support - Works offline (guest mode) or with cloud sync (logged in)
- Automatic Migration - LocalStorage data automatically syncs when you sign in
- Growth Overview - Visual summary of baby's development progress
- Milestone Summary - Achievement rate with recent milestones
- Vaccine Summary - Vaccination progress and next dose due
- Daily Log Summary - Today's feeding, sleep, and diaper statistics (coming soon)
- Quick Navigation - Fast access to all features from one place
- Multiple Profiles - Track up to 2 babies (free tier)
- Individual Records - Each child has their own milestone progress and data
- Easy Switching - Quick toggle between different children's profiles
- CRUD Operations - Add, edit, and delete child profiles with ease
- Cloud Backup - All data automatically backed up to Firebase when logged in
- Comprehensive Database - 30+ developmental milestones from 0-12 months
- Four Categories - Physical, Motor, Cognitive, and Feeding development
- Month-by-Month - Organized by age range (0-2, 3-4, 5-6, 7-9, 10-12, 12+ months)
- Progress Recording - Track achievement status and dates for each milestone
- Detailed Information - Full descriptions, tips, and guidance for each milestone
- General Safety - 6 essential safety guidelines for all ages
- Monthly Care - Detailed care instructions for each month (0-12 months)
- Category Filtering - Filter by physiological, feeding, or safety concerns
- Visual Hierarchy - Easy-to-scan format with icons and color coding
- Complete Schedule - 30+ vaccines from birth to 6 years
- Public & Private - Clear distinction between funded and self-paid vaccines
- Month Grouping - Vaccines organized by age in months
- Dual Filters - Filter by funding type and age
- Side Effects Guide - Comprehensive information on potential reactions
- Emergency Guidelines - Clear instructions for concerning symptoms
- Contraindications - Important safety information and precautions
- Three-Stage System - Level 1-3 progression (4-12 months)
- Food Progression - Texture and frequency guidelines by age
- 4x3 Allergy Testing - Modern approach to introducing allergens
- Monthly Menus - Sample food suggestions for each month
- Finger Food Guide - BLW (Baby-Led Weaning) guidelines
- Safety Warnings - Critical information about forbidden foods (honey, choking hazards)
- Multiple Views - Overview, stages, menu, and safety tabs
- Framework: React 18 with TypeScript
- Build Tool: Vite 5.x
- Styling: Tailwind CSS with custom theme
- Animations: Framer Motion
- Icons: Lucide React
- State Management: React Hooks + Context API
- Authentication: Firebase Authentication (Google Sign-In)
- Database: Firebase Realtime Database (asia-southeast1)
- Analytics: Firebase Analytics
- Storage: Dual-mode (LocalStorage for guests, Firebase for authenticated users)
- TypeScript: Full type safety with strict mode
- ESLint: Code quality enforcement
- Vite PWA: Progressive Web App capabilities
- GitHub Actions: Automated deployment
- Hosting: Firebase Hosting
- CI/CD: GitHub Actions with automated deployment
- Production: Auto-deploy on push to master
- Preview: Auto-generated preview URLs for pull requests
- Environment Variables: Managed via GitHub Secrets
- Primary Pink:
#F472B6- Warm, nurturing primary color - Secondary Blue:
#60A5FA- Calm, trustworthy accent - Warm White:
#FAFAF9- Soft background color - Gradients: Subtle gradients for visual depth
- Mobile-First: Optimized for one-handed operation
- Rounded Corners: Extensive use of
rounded-2xlfor softness - Soft Shadows: Gentle shadows for subtle depth
- Touch-Friendly: All interactive elements sized for easy tapping
- Responsive: Seamless experience across all screen sizes
- β Installable on home screen
- β Offline functionality with service worker
- β Native app-like experience
- β Automatic updates
- β Optimized caching strategy
iOS (Safari):
- Open the website in Safari
- Tap the Share button (square with arrow)
- Scroll down and tap "Add to Home Screen"
- Confirm the installation
Android (Chrome):
- Open the website in Chrome
- Tap the menu (three dots)
- Select "Install app" or "Add to Home Screen"
- Confirm the installation
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/sean1093/LittleSteps.git
# Navigate to project directory
cd LittleSteps
# Install dependencies
npm installCreate a .env file in the project root with your Firebase configuration:
VITE_FIREBASE_API_KEY=your-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your-sender-id
VITE_FIREBASE_APP_ID=your-app-id
VITE_FIREBASE_MEASUREMENT_ID=G-XXXXXXXXXX
VITE_FIREBASE_DATABASE_URL=https://your-project-asia-southeast1.firebasedatabase.appNote: Never commit .env to version control. See .env.example for template.
# Start development server (http://localhost:5173)
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run linter
npm run lintThe project is configured for automatic deployment to Firebase Hosting via GitHub Actions:
Automatic Deployment:
- Push to
masterbranch β Automatically deploys to production - Create Pull Request β Automatically generates preview URL
Manual Deployment (optional):
# Install Firebase CLI (if not already installed)
npm install -g firebase-tools
# Login to Firebase
firebase login
# Deploy to Firebase Hosting
firebase deploy --only hostingProduction URLs:
- Primary: https://littlesteps-c6ab6.web.app
- Alternative: https://littlesteps-c6ab6.firebaseapp.com
LittleSteps/
βββ .claude/ # AI assistant configuration
β βββ CLAUDE.md # Project overview and skill usage guide
β βββ skills/ # Development guidelines and patterns
β βββ component-patterns.md # React component structure
β βββ firebase-integration.md # Firebase & dual-mode patterns
β βββ styling-guide.md # Tailwind & design system
β βββ typescript-conventions.md # TypeScript best practices
β βββ ux-design.md # UI/UX patterns & animations
βββ src/
β βββ components/ # React components
β β βββ AddChildModal.tsx # Child profile modal
β β βββ CategoryFilter.tsx # Milestone category filter
β β βββ DailyLogSummaryCard.tsx # Daily log summary card
β β βββ DashboardCard.tsx # Reusable dashboard card
β β βββ MilestoneCard.tsx # Milestone card component
β β βββ MilestoneModal.tsx # Milestone detail modal
β β βββ MilestoneSummaryCard.tsx # Milestone summary card
β β βββ MonthPicker.tsx # Month range selector
β β βββ Sidebar.tsx # Navigation sidebar
β β βββ VaccineSummaryCard.tsx # Vaccine summary card
β βββ contexts/ # React contexts
β β βββ AuthContext.tsx # Authentication context
β βββ data/ # Application data
β β βββ careGuides.ts # Care guide data
β β βββ complementaryFood.ts # Food guide data
β β βββ milestones.ts # Milestone data
β β βββ vaccines.ts # Vaccine schedule data
β βββ hooks/ # Custom React hooks
β β βββ useChildSummary.ts # Dashboard statistics hook
β β βββ useDailyLogs.ts # Daily logs management hook
β β βββ useFirebaseChildren.ts # Firebase children CRUD hook
β β βββ useFirebaseFamily.ts # Firebase family management hook
β β βββ useLocalStorage.ts # LocalStorage hook
β βββ lib/ # Third-party configurations
β β βββ firebase.ts # Firebase initialization & config
β βββ pages/ # Page components
β β βββ CareGuidePage.tsx # Care guide page
β β βββ ComplementaryFoodPage.tsx # Food guide page
β β βββ DashboardPage.tsx # Dashboard page
β β βββ LandingPage.tsx # Home/landing page
β β βββ MilestonesPage.tsx # Milestone tracking page
β β βββ VaccineTrackingPage.tsx # Vaccine schedule page
β βββ types/ # TypeScript definitions
β β βββ index.ts # Type definitions
β βββ utils/ # Utility functions
β β βββ logHelpers.ts # Daily log utility functions
β β βββ migration.ts # LocalStorage to Firebase migration
β β βββ share.ts # Web Share API utils
β β βββ summaryCalculator.ts # Statistics calculation utils
β βββ App.tsx # Main app component
β βββ main.tsx # Application entry
β βββ index.css # Global styles
βββ public/ # Static assets
β βββ manifest.webmanifest # PWA manifest
βββ .github/workflows/ # CI/CD configuration
β βββ firebase-hosting-merge.yml # Production deployment
β βββ firebase-hosting-pull-request.yml # PR preview deployment
βββ .env.example # Environment variables template
βββ firebase.json # Firebase Hosting config
βββ .firebaserc # Firebase project config
βββ vite.config.ts # Vite configuration
The application uses hash-based routing for shareable URLs:
- Home:
/#/(Landing Page for guests, Dashboard for logged-in users) - Dashboard:
/#/dashboard(Growth overview) - Milestones:
/#/milestones(Milestone tracking) - Care Guide:
/#/care-guide(Care guidelines) - Vaccines:
/#/vaccine-tracking(Vaccine schedule) - Food Guide:
/#/complementary-food(Complementary food guide) - Daily Log:
/#/daily-log(Coming soon)
LittleSteps uses a dual-mode architecture for maximum flexibility:
- Data stored locally in browser's LocalStorage
- Works completely offline
- No account required
- Data stays on your device only
- Data stored in Firebase Realtime Database
- Automatic multi-device synchronization
- Real-time updates across devices
- Secure cloud backup
- LocalStorage data automatically migrates on first sign-in
Privacy:
- Guest mode: No data sent to servers
- Logged-in mode: Data encrypted and secured by Firebase
- You control your data - sign out anytime to return to guest mode
- β Chrome/Edge 90+
- β Safari 14+
- β Firefox 88+
- β Mobile browsers (iOS Safari, Chrome Mobile)
- Physical Development (π): Rolling, sitting, crawling, standing, walking
- Motor Skills (β): Grasping, transferring, fine motor control
- Cognitive (π§ ): Recognition, problem-solving, communication
- Feeding (πΌ): Sucking, solid foods, self-feeding
Based on Taiwan's Ministry of Health and Welfare vaccination schedule:
- Public funded vaccines (ε ¬θ²»)
- Private self-paid vaccines (θͺθ²»)
- Detailed side effect information
- Emergency response guidelines
- Physiological: Physical development and health
- Feeding: Nutrition and feeding schedules
- Safety: Important safety precautions
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Medical information based on Taiwan's Ministry of Health and Welfare guidelines
- Designed with input from pediatric professionals
- Built with love for new parents everywhere
Made with β€οΈ for new parents
π€ Generated with Claude Code