⏪ Back to all projects

Pixl
Pixl

TXRX

Send and receive audio messages for special occasions

Image of TXRX

TXRX

Concept

TXRX is a service where people can create custom audio messages and SEND (TX) them to their friends who RECEIVE (RX) the message

STACK

  • Next.js for the frontend and client code. Hosted on Vercel.
  • Firebase Storage to store the audio files (up to 100mb per request, cloudflare limitation and up to 5gb total, firebase limitation)
  • Firebase Realtime Database as the main database. It's only fair to give it a try since the audio files are already stored here anyways. (up to 1GB stored; 10gb transferred/month)
  • Cloudflare for general caching aswell as testing out the geolocation header they provide instead of using ipinfo.io (beta test)
  • Ipinfo.io's api to look up the IP and determine the country. Is used as a fallback if the CF geolocation header works out.

Sender

You can Select how you want to transport your message (Ufo, Zeppelin, Hot air balloon, Submarine, Rocket, etc, customize color)

  • Record audio message (store with Firebase Storage up to 5gb free)
  • Entry gets stored in db (Firebase Realtime Database) along with link to storage
  • Sender gets unique link to share

Receiver

  • Opens the link
  • See the transport vehicle (You got a message from [name] delivered by [vehicle])
  • Listen to audio message

References & requirements

  • Record audio in a bitrate and format that's compressed enough to not exceed the 100mb request limit and to not use up the 5gb too quickly.

  • Send the recordings to Firebase Store via the api

  • Add an entry in the Firebase Realtime Database when this is done with the link to the file

  • Generate a unique page with Next.js (static or dynamic?) for each custom message

    • Will probably take the key in the link txrx.corruptedpixl.com/[HASH], look the hash up in the db and fill in all the data dynamically via api's