Inspiration

We love projects that turn everyday noises into blockchain collectibles (tracks, voice notes… so why not farts ?). Recording the sound itself makes the joke tangible and showcases Algorand’s fast, cheap media-NFT capabilities in a single click.


What it does

  1. Connect – User links their Pera Wallet and sees the ALGO balance.
  2. Record – A big round “💨 Record Fart” button triggers the browser MediaRecorder API to capture ~3 s of audio (PCM → WebM).
  3. Add details – User types a Title (e.g. “Elevator Explosion”) and drags in / chooses a cover image (PNG/JPEG).
  4. Mint for 1 ALGO – The app:
    • uploads the audio file and cover art to IPFS,
    • creates an ARC-3 asset whose media_url points to the sound and whose image points to the cover,
    • groups the 1 ALGO fee to the treasury wallet with the ASA-creation tx.
  5. Celebrate – Success modal shows the cover art, a play button for the fart, and the TxID link.

How we built it

Layer Stack & notes
Frontend React + Vite • Tailwind for styling • Framer-Motion for transitions
Audio capture Native MediaRecorder (Web Audio) → ArrayBuffer → WebM blob → IPFS via nft.storage
Wallet / Chain @perawallet/connect + algosdk for a stateless, single-unit ARC-3 NFT
Metadata json { "name": title, "description": userDescription, "media_url": ipfsAudio, "image": ipfsCover } hashed & stored on-chain
Hosting Static deploy on Vercel – still zero back-end, zero database

Challenges we ran into

  • Browser audio permissions – Safari iOS requires a user gesture before MediaRecorder will start → we added a tap-to-arm step.
  • File sizes – Raw WAVs were huge; we switched to WebM/Opus and verified playback inside Pera’s NFT viewer.
  • Metadata consistency – Keeping the ARC-3 JSON (sound + image) under 3 kB while embedding meaningful fields.
  • Token hygiene – We had to juggle Stripe, OpenAI, Pinata and Supabase env-vars across Netlify & local dev while ensuring only the smallest-scope tokens ever reach the browser.

Accomplishments we’re proud of

  • First-ever on-chain “fart sound” collection on Algorand.
  • < 45 s from pressing Record to owning the NFT on mobile 4G.
  • Bundle size < 230 kB gzipped even with audio-recording logic.
  • Budget mastered: thanks to free tiers & credits, the entire build + IPFS uploads cost ~ 10 million eTokens (test credits) — practically zero real spend.
  • Domain secured: we already reserved fartnftmaker.entry so the project can go live the minute the hackathon ends.

What we learned

  • MediaRecorder is more reliable than expected—just polyfill MIME types on older Android.
  • ARC-3 comfortably handles multi-asset metadata (sound + image) without resorting to ARC-69/ARC-19.
  • Humor lowers friction: users gladly grant mic permission when there’s a fart leaderboard waiting.
  • Early discipline on scoping API keys (Pinata write-only JWTs, OpenAI server-side only) avoids expensive mistakes later.

What’s next for Fart NFT Maker

  • Auto-EQ & normalisation so every fart plays back at the same volume.
  • “Mega-Fart” fusion – burn 5 regular farts to mint a remixed audio collage.
  • Friday Stink-Off leaderboard (pure Indexer reads) ranking total decibels.
  • Charity toggle donating 10 % of fees to gastrointestinal-research foundations.
  • Production launch at fartnftmaker.entry right after the hackathon, using the remaining eToken credits for the first 5 000 free mints.

Built With

Share this project:

Updates