Inspiration

Streaming platforms take 30–70% of what artists earn. We wanted to see what a platform looked like if you flipped that, where the artist keeps everything and the infrastructure is decentralized. Sui's object model and Walrus's blob storage made that actually buildable in a weekend.

What it does

Suisic is a music streaming platform where artists upload tracks and fans subscribe directly via on-chain SUI payments. Audio and video files live on Walrus decentralized storage. Every upload gets an immutable on-chain receipt. Subscriptions are time-locked smart contracts, funds go directly to the artist, no middleman.

How we built it

React 19 + Tailwind frontend, Express 5 + TypeScript + SQLite backend, and two Move smart contracts on Sui Testnet, one for subscriptions, one for media registration. Files are stored via the Walrus CLI, which returns blob IDs we store alongside track metadata. Every user gets an auto-generated Sui wallet on registration.

Challenges we ran into

Their was certainly a learning curve when processing things we received from the change including decoding as well as robust handling for slightly different return types, but we perservered and got it all working.

Accomplishments that we're proud of

New users get a Sui wallet generated for them on signup with no setup required, one click and you're in. Artists never touch WAL tokens manually either; the backend detects when the balance is low and swaps SUI to WAL automatically before any upload. And when a track is published, the blob ID and proof of ownership get written on-chain so the media receipt lives on Walrus alongside the file itself.

What we learned

Move's unique ownership model allowed our project to thrive. Thinking in terms of objects passed into functions rather than mutated contract state took adjustment. We also learned that separating proof of existence (on-chain) from actual data (Walrus blob) is a cleaner pattern than trying to store everything on-chain.

Antigravity

Antigravity was used extensively throughout development for its agent manager feature, as well as its extensive model selection. It allowed concurrent development of frontend and backend code together in separate agent manager tabs.

Built With

Share this project:

Updates