Inspiration

Sound designers and creators spend 80% of their time browsing and searching for sounds, and only 20% creating. Current audio libraries are static, keyword-heavy, and disconnected from the modern creator's workflow. We wanted to solve this "discovery fatigue" by creating an intuitive, swipe-based experience that treats audio discovery as a community-driven, AI-accelerated process. 

What it does

SoundSwipe is the first serverless, AI-driven audio playground.AI Discovery: Using a custom cosine-similarity engine, SoundSwipe analyzes audio profiles to recommend sounds that fit your specific aesthetic.Social Audio: It introduces "Shouts"—a community layer where creators can broadcast sounds, share mixes, and engage in real-time. Seamless Cloud Experience: From a buttery-smooth swipe interface to an event-driven AWS backend, it is a fully scalable B2C application built for the creator economy.

How we built it

SoundSwipe was designed as a decoupled, event-driven platform to maximize performance and scalability. Instead of a traditional monolithic server, we split the application into two distinct layers that communicate over the cloud:
  1. The "Edge" Frontend (Vercel + Next.js)We hosted our frontend on Vercel to provide a global "edge" experience. By using Next.js with Zustand for state management and Framer Motion for animations, we ensured that the audio browsing experience feels native and responsive. The frontend is entirely stateless, allowing it to scale instantly to any number of users.

  2. The Serverless Backend (AWS Lambda + FastAPI)Our backend logic lives inside an AWS Lambda container, orchestrated by FastAPI.The "Mangum" Bridge: We used Mangum to wrap our API, allowing it to run within the serverless environment seamlessly. Why Lambda? It eliminates server maintenance. The backend spins up only when a user interacts with the app, meaning we pay $0 when the app is idle. Performance: We optimized our ML libraries (scikit-learn/numpy) by pinning them to pre-compiled binary versions, allowing us to perform real-time recommendation math within the 512MB RAM constraint of Lambda.

  3. Storage & Infrastructure (S3 + DynamoDB)Pre-signed Uploads: To secure the app, we didn't route audio files through our backend. Instead, our Lambda generates "pre-signed URLs," allowing the frontend to upload audio directly to S3. This drastically reduces latency and server load.Data Layer: We used DynamoDB to store audio metadata and user interaction logs, providing high-speed, NoSQL scalability.Security: We replaced hardcoded credentials with IAM Execution Roles, adhering to the "Least Privilege" security model (a key best practice for modern cloud architecture).

Challenges we ran into

 C++ Compiler Errors in Serverless: The official AWS Lambda base images are stripped down for size, causing machine learning library builds (NumPy/Scipy) to fail due to missing C++ compilers. We solved this by strictly pinning versions to pre-compiled binaries (wheels) rather than building from source. Docker/Lambda Integration: We encountered issues with modern Docker build provenance layers not being supported by the Lambda runtime. We resolved this by explicitly disabling provenance during the build process to ensure compatibility. Security & Credential Management: We initially attempted to pass credentials as environment variables, which is a reserved/restricted pattern in Lambda. We pivoted to the industry-standard IAM Execution Role architecture, enabling secure, temporary, and policy-based access to our services.

Accomplishments that we're proud of

Successful Cloud Migration: We successfully transitioned from a local script to a production-ready, cloud-native application.

Optimized ML Performance: Achieving sub-second recommendation latency within a constrained 512MB Lambda memory limit. Security-First Design: Implementing a zero-hardcoded-credentials architecture using IAM roles and AWS best practices.

Zero-Downtime Scaling: Because both the frontend (Vercel) and backend (Lambda) are serverless, the infrastructure scales horizontally without manual intervention.

Infrastructure as Code: The entire environment was provisioned to be reproducible, ensuring that the development, staging, and production environments are identical.

Resilience: By isolating the API (Lambda), Storage (S3), and Database (DynamoDB), we ensured that a failure in one service (e.g., a slow database query) wouldn't crash the entire user experience.

What we learned

Serverless Orchestration: Mastering the nuances of AWS Lambda containerization, cold starts, and environment lifecycle management. CI/CD Discipline: The critical importance of automated deployments and infrastructure as code (Terraform) in preventing "configuration drift."System Design: Developing a deep appreciation for decoupling compute (Lambda) from storage (S3/DynamoDB) to create infinitely scalable applications.

What's next for SoundSwipe/FoleySwipe

Premium subscription (planned — $15/month idea):

⏱️ Longer uploads — go beyond the 30-second free cap for full tracks and stems. 🎼 More music & exclusive packs — a larger, premium catalog of sounds and music. ⬇️ Downloads — download sounds/music for offline use (free tier is stream-only). 💎 Uncompressed exports & commercial license tiers. Community & social features (planned):

💬 Comments — users can comment under each sound and discuss it. 👤 Creator profiles & follows — build an audience around your uploads. ❤️ Public like counts & trending — surface what's popular. 🗂️ Collections/playlists — organize saved sounds into shareable sets. Platform hardening (planned):

🔐 Authentication (current user_id is a placeholder). 🛡️ Upload moderation to enforce the copyright-free guarantee. 🌐 CloudFront CDN in front of S3 for faster global audio delivery.

Built With

Share this project:

Updates