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="[email protected]" \
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)
π§ [email protected]
π 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