Inspiration
I’ve long been captivated by the elegance and immediacy of Japanese sumi-e ink painting—how a single brushstroke can capture emotion, impermanence and intention. Pair that with Algorand’s sub-five-second block times and you have a living, breathing canvas. I wanted to merge those worlds: let the blockchain’s heartbeat guide each stroke, turning live MainNet data into expressive, meditative art.
What it does
- Streams Algorand MainNet metrics (transactions, block time, stake, round) every few seconds
- Maps data points to brush parameters: intensity, size, opacity, position
- Renders organic ink strokes via p5.js and overlays interactive D3.js metrics
- Instant NFT creation: select any brush stroke (or the whole canvas), connect your wallet, and mint on Algorand with one click
- Clears or auto-paints on demand—hover strokes to inspect their on-chain data
- Saves each canvas to IPFS (via Pinata) and mints it as an Algorand NFT
- Ships as a PWA so you can paint offline and sync later
How we built it
- Starter & UI
- Bootstrapped with Vite + React + TypeScript for lightning-fast dev and type safety
- Styled controls and responsive layouts with Tailwind CSS
- Bootstrapped with Vite + React + TypeScript for lightning-fast dev and type safety
- Data Pipeline
- Polled Nodely’s Free Tier API for up-to-the-second MainNet stats
- Synced our polling interval to Algorand’s ~2.7 s block time
- Polled Nodely’s Free Tier API for up-to-the-second MainNet stats
- Generative Engine
- Used p5.js for immediate-mode canvas drawing—brush shape, flow and ink density driven by live data
- Employed D3.js SVG overlays to show transaction count, round number and stake when hovering
- Used p5.js for immediate-mode canvas drawing—brush shape, flow and ink density driven by live data
- Wallet & Instant Minting
- Integrated AlgoSigner/MyAlgo for seamless in-browser wallet connection
- Built a one-click “Mint Stroke” flow: users authorize a single transaction to mint a selected stroke as an NFT
- Stored metadata and art on IPFS via Pinata, then minted with Algorand SDK
- Integrated AlgoSigner/MyAlgo for seamless in-browser wallet connection
- Polish & Packaging
- Added PWA manifest and service worker for offline painting
- Handled local wallet persistence with encrypted browser storage and clear privacy warnings
- Added PWA manifest and service worker for offline painting
Challenges we ran into
- Data vs. Frames: Balancing p5’s 60 fps loop with block-time polling without dropped strokes
- React vs. Canvas: Preventing React re-renders from stalling the p5 canvas while updating UI smoothly
- IPFS Delays: Designing a UX that reassures users during Pinata’s pinning process
- Beginner Wallet UX: Making “connect & mint” intuitive for first-time NFT creators without sacrificing security
Accomplishments that we're proud of
- A truly beginner-friendly NFT flow: connect any Algorand wallet and mint individual strokes in seconds
- End-to-end decentralized pipeline: live data → generative art → IPFS storage → Algorand NFT
- Seamless cross-app wallet integration for both TestNet and MainNet
- Offline-first PWA design so art can be created anytime, anywhere
- Interactive hover-over metrics that tie each stroke to a specific on-chain event
What we learned
- How to translate raw blockchain metrics into meaningful generative art parameters
- Techniques for bridging React’s declarative model with p5.js’s imperative drawing
- Strategies for low-latency data ingestion and synchronized rendering loops
- Best practices for integrating decentralized storage (IPFS) and a frictionless NFT mint experience
What’s next for Algorand Ink – Live Blockchain Art
- Custom Brush Packs: Let collectors define new brush shapes & ink textures based on transaction types
- Multi-Chain Canvases: Layer live data streams from Algorand, Ethereum and Solana into one evolving piece
- Collaborative Mode: Multiple wallets contribute strokes to a shared canvas in real-time
- Web-Worker Offloading: Offload heavy data parsing & stroke computation for buttery-smooth animation
- On-Chain Parameter Control: Small NFT-gated DAOs that let token holders vote on stroke styles, color palettes or data mappings

Log in or sign up for Devpost to join the conversation.