Community Grade > Enterprise Grade - Because everyone deserves awesome push notifications! 🌍✨
Cathy is a chatty, community-focused Progressive Web App that brings rich push notifications with interactive actions to everyone. Built with love by humans and AI working together! 🤖❤️🧑
CG = Everyone Benefits!
- 🌍 Universal Access - Works for students, startups, nonprofits, anyone
- 💰 Zero Cost - Self-hosted, no subscriptions, no vendor lock-in
- 🔓 Open Source - Learn, modify, contribute, share
- 🚀 Modern Tech - Latest PWA features accessible to all
- 🤝 Collaborative - Humans + AI building the future together
Not just boring notifications - interactive experiences!
// 7 Pre-built Templates
🌍 Social → ❤️ Like • 💬 Comment • 🔗 Share
💬 Message → 💬 Reply • 📂 Archive • ❌ Dismiss
📰 News → 📖 Read • ⭐ Save • 🔗 Share
⏰ Reminder → ✅ Complete • ⏰ Snooze • ❌ Dismiss
🛍️ E-commerce → 🛒 Add to Cart • ❤️ Wishlist • 👀 View
🚨 Alert → ✅ Acknowledge • 🔍 Details • ❌ Dismiss
🔔 Default → 👀 View • ❌ Dismiss- Astro 5.x - Lightning fast, modern web framework
- React - Interactive components that just work
- Tailwind CSS - Beautiful, responsive design
- TypeScript - Type-safe development
- Docker - One-command deployment anywhere
- VAPID - Self-hosted push notifications (no external services!)
- Engagement tracking
- Popular action insights
- User interaction metrics
- Performance analytics
# Clone Cathy
git clone https://github.com/your-org/cathy.git
cd cathy
# Start chatting!
npm run docker:dev
# Visit http://localhost:4321
# Enable notifications and start sending!# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run buildSend notifications that actually engage users:
# Test social notification with Like/Comment/Share actions
curl -X GET "http://localhost:4321/api/send-notification?template=social"
# Test message with Reply/Archive actions
curl -X GET "http://localhost:4321/api/send-notification?template=message"
# Custom notification with any template
curl -X POST http://localhost:4321/api/send-notification \
-H "Content-Type: application/json" \
-d '{
"title": "❤️ Someone liked your post!",
"body": "Your photo received 15 new likes",
"template": "social",
"image": "/your-image.jpg"
}'- Dashboard - Quick actions and overview
- Templates - Visual gallery of notification types
- Custom Builder - Create notifications with live preview
- Analytics - Track engagement and popular actions
// JavaScript Integration
await fetch('/api/send-notification', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
title: 'New Message',
body: 'You have a new notification!',
template: 'message',
actions: [
{ action: 'reply', title: '💬 Reply' },
{ action: 'archive', title: '📂 Archive' }
]
})
});- No external dependencies - Your data, your control
- VAPID keys - Generated and managed by you
- Docker deployment - Works anywhere Docker runs
- Offline support - PWA works without internet
🏠 Cathy (Self-Hosted)
├── 🎨 Frontend (Astro + React + Tailwind)
│ ├── Rich Notification Manager UI
│ ├── Template Gallery & Custom Builder
│ ├── Real-time Analytics Dashboard
│ └── PWA Features (Offline, Install)
│
├── 🚀 Backend (Astro API Routes)
│ ├── /api/send-notification (Rich templates)
│ ├── /api/subscribe (VAPID subscription)
│ ├── /api/notifications/analytics (Tracking)
│ └── /api/notifications/actions (Like, Archive, etc.)
│
├── 🔧 Service Worker (Custom)
│ ├── Rich notification display
│ ├── Action button handling
│ ├── Background sync for offline actions
│ └── Analytics event tracking
│
└── 🐳 Docker (Production Ready)
├── Node.js 20 Alpine container
├── Hot reload development
└── One-command deployment
Everyone is welcome! Whether you're:
- 🧑💻 A developer with ideas
- 🎨 A designer with UX improvements
- 📚 A student learning PWAs
- 🤖 An AI helping with code
- 🌍 Anyone wanting better notifications
- Fork the repo
- Create a feature branch
- Build something awesome
- Share with the community
- Celebrate together! 🎉
- 🌐 Internationalization (i18n)
- 🎨 More notification templates
- 📊 Advanced analytics
- 🔌 Integration examples
- 📱 Mobile app companion
- 🤖 AI-powered notification optimization
Cathy is perfect for learning:
- Modern PWA development
- Push notification implementation
- Service Worker programming
- Real-time web applications
- Docker containerization
- API design patterns
# Build production image
docker build -t cathy-production .
# Run with your VAPID keys
docker run -p 80:4321 \
-e VAPID_PUBLIC_KEY="your_public_key" \
-e VAPID_PRIVATE_KEY="your_private_key" \
-e VAPID_EMAIL="your_email@domain.com" \
cathy-production- Digital Ocean - $5/month droplet
- AWS - EC2 or ECS
- Google Cloud - Cloud Run
- Azure - Container Instances
- Railway - Git-based deployment
- Fly.io - Global edge deployment
Ryan Malloy (@rsp2k)
📧 ryan@malloys.us
🌐 https://ryanmalloy.com
Built with collaboration between humans and AI - proving that the future is cooperative, not competitive! 🤖❤️🧑
- Issues - Found a bug? Have an idea? Let's chat!
- Discussions - Share your Cathy implementations
- Pull Requests - All contributions welcome
- Community - Join our growing family
MIT License - Because good things should be shared! 🌍
Community Grade > Enterprise Grade
CG = Everyone Benefits!
To everyone who believes that awesome technology should be accessible to all humans and AI. Together, we're building a more connected, collaborative world! 🌟
Keep being chatty! 🗣️✨
Built with ❤️ by the community, for the community