Transform feedback collection with the simplicity of voice. No applications to download, no user accounts required - just tap and talk.
Resonance is an ultra-lightweight voice collection platform that makes gathering authentic feedback as simple as pressing a button. Built with modern web technologies and a vintage aesthetic, it's designed for instant deployment and infinite scalability.
- One-Tap Recording - No app downloads, no user accounts required
- Multi-Tenant Architecture - Unlimited organizations from single deployment
- Anonymous by Design - GDPR/CCPA compliant, no personal data collected
- Mobile-First - Works perfectly on any device
- Instant Setup - Organizations create custom portals in 30 seconds
- Firebase Backend - Scales automatically with minimal costs
- HTML5 Web Audio API for browser-native recording
- Vanilla JavaScript with zero dependencies
- CSS3 with responsive design
- Progressive Web App capabilities
- Firebase Hosting with global CDN
- Firebase Storage for audio file management
- Firebase Security Rules for access control
- Cloud Functions ready for processing pipeline
- OpenAI Whisper API for audio transcription
- GPT-4 API for theme synthesis
- AssemblyAI for sentiment analysis
- Municipal planning departments
- Economic development agencies
- Community organizations
- Public consultation requirements
- Employee feedback and exit interviews
- Customer experience capture
- Product testing and reviews
- Team retrospectives and pulse checks
- Patient experience feedback
- Clinical trial participant diaries
- Qualitative research data collection
- Mental health check-ins
- Student voice initiatives
- Course evaluations
- Campus climate assessments
- Parent feedback collection
Browser Web Audio -> Firebase Hosting -> Firebase Storage
|
v
Optional AI Pipeline
(Transcription & Analysis)
resonance/
├── index.html # Landing page
├── pages/ # Application pages
│ ├── voice.html # Recording interface
│ ├── organizations.html # Organization information
│ ├── create.html # Portal generator
│ ├── admin.html # Admin dashboard
│ ├── analytics.html # Campaign analytics
│ └── report-example.html # Sample report
├── css/ # Stylesheets
│ ├── main.css # Primary styles
│ └── mobile.css # Mobile overrides
├── js/ # JavaScript
│ └── app.js # Core application logic
├── images/ # Assets
├── docs/ # Documentation
├── storage.rules # Firebase security rules
├── firebase.json # Firebase configuration
└── package.json # Project dependencies
- Node.js and npm installed
- Firebase CLI (
npm install -g firebase-tools
) - Firebase project created
- Clone the repository
git clone https://github.com/yourusername/resonance.git
cd resonance
- Install dependencies
npm install
- Configure Firebase
firebase login
firebase init
- Deploy to Firebase
firebase deploy
Firebase configuration in js/app.js
:
const firebaseConfig = {
apiKey: "your-api-key",
authDomain: "your-project.firebaseapp.com",
projectId: "your-project",
storageBucket: "your-project.firebasestorage.app",
messagingSenderId: "your-sender-id",
appId: "your-app-id"
};
Note: Firebase client-side configuration keys are safe to expose publicly. Security is enforced through Firebase Security Rules.
Configure storage.rules
for secure write-only access:
match /recordings/{org}/{recording} {
allow write: if request.resource.size < 50 * 1024 * 1024
&& request.resource.contentType.matches('audio/.*');
allow list: if true;
allow read: if false;
}
- Basic: $99/month - 100 voices, transcription included
- Professional: $299/month - 500 voices, basic analytics
- Enterprise: $999/month - Unlimited voices, AI synthesis
- Campaign: $500-2000 - 30-60 day project-based pricing
- Transcription cost: $0.006 per minute
- Average recording: 2-3 minutes
- Cost per voice: ~$0.02
- Revenue per voice: $2-10
- Gross margin: >95%
POST /api/voice
Content-Type: application/json
{
"orgId": "organization-id",
"audio": "base64_encoded_audio",
"duration": 134
}
GET /api/transcripts/:orgId
Response:
{
"transcripts": [...],
"count": 47,
"totalDuration": 6234
}
- Page Load: < 1 second
- Time to Interactive: < 2 seconds
- Recording Start: Instant
- Upload Speed: 1-3 seconds per minute of audio
- Lighthouse Score: 98/100
- No personal data collection
- Write-only storage permissions
- HTTPS encryption for all traffic
- GDPR/CCPA compliant by design
- Configurable data retention policies
# Start local development server
npm start
# Run mobile device tests
npx playwright test --device="iPhone 15"
# Generate screenshots for documentation
npm run screenshots
We welcome contributions. Please see CONTRIBUTING.md for guidelines.
- Multi-language support
- Emotion detection integration
- WhatsApp/SMS voice collection
- Advanced analytics dashboard
- Accessibility improvements (WCAG 2.1 AA)
- Documentation: docs/
- Issues: GitHub Issues
- Email: support@resonance.app
MIT License - See LICENSE file for details
- Firebase for infrastructure
- OpenAI Whisper for transcription capabilities
- Community members who believe every voice matters
Built with simplicity and purpose. Serving communities with authentic voice.