Hackathon Project: Transform images into Ghibli NFTs while pioneering the AfterMint SDK for Flow ecosystem rewards
Mintari is our showcase application, but the real innovation is AfterMint SDK - a public reward system that any Flow project can integrate to unlock post-mint experiences and monetization.
- Mintari: Beautiful Ghibli NFT creator (fully functional)
- AfterMint SDK: Reward system architecture and logic (prototype stage)
While building Mintari's reward system, I realized: "Why not make this available to the entire Flow ecosystem?" Thus, AfterMint SDK was born.
- π¨ AI-Powered Transformation - Convert any image to Studio Ghibli style
- βοΈ Flow Blockchain Integration - Real NFT minting on Flow testnet
- π Decentralized Storage - IPFS upload via multiple providers (Walrus, Pinata, Web3.Storage)
- π° AfterMint Integration - Prototype reward system showcasing SDK capabilities
- π Flow Ecosystem Partners - POAP, NBA Top Shot, Pinnacle, Flowty integrations
- π± Production-Ready UI - Beautiful design with Framer Motion animations
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- Radix UI - Accessible components
- Flow Blockchain - Fast, developer-friendly blockchain
- FCL (Flow Client Library) - Wallet connection and transactions
- Cadence - Smart contract language
- IPFS - Decentralized file storage
- Walrus - Sui ecosystem storage solution
- Pinata - IPFS pinning service
- Replicate/Hugging Face - AI image transformation
- Node.js 18+
- Flow wallet (Blocto, Lilico, or Flow Wallet)
# Clone the repository
git clone https://github.com/yourusername/mintari.git
cd mintari
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your API keys (see Configuration section)
# Run development server
npm run dev
Open http://localhost:3000 to see the app.
Create a .env.local
file with the following variables:
# Flow Blockchain
NEXT_PUBLIC_FLOW_NETWORK=testnet
NEXT_PUBLIC_FLOW_ACCESS_NODE=https://rest-testnet.onflow.org
# IPFS Providers (at least one required)
NEXT_PUBLIC_PINATA_API_KEY=your_pinata_key
NEXT_PUBLIC_PINATA_SECRET_KEY=your_pinata_secret
NEXT_PUBLIC_WEB3_STORAGE_TOKEN=your_web3_storage_token
NEXT_PUBLIC_WALRUS_API_URL=https://publisher-devnet.walrus.space
# AI Services (optional)
REPLICATE_API_TOKEN=your_replicate_token
HUGGING_FACE_API_TOKEN=your_huggingface_token
- Connect Wallet - Link your Flow wallet (Blocto, Lilico, etc.)
- Upload Image - Choose any image to transform
- AI Magic - Watch as AI converts it to Ghibli style
- IPFS Upload - Image stored on decentralized IPFS network
- Mint NFT - Create real NFT on Flow blockchain
- Exclusive Rewards - Unlock Flow ecosystem benefits
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β AI Services β β Blockchain β
β (Next.js) βββββΆβ (Replicate) β β (Flow) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Walrus Storage β β AfterMint β β Wallet β
β (IPFS Upload) β β SDK Logic β β Integration β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AfterMint SDK Core β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Reward Engine β Partner API β Analytics Engine β
β - Trigger β - POAP β - Event Tracking β
β - Display β - NBA Top Shotβ - Conversion Metrics β
β - Analytics β - Pinnacle β - Revenue Attribution β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Any Flow β β Shared β β Developer β
β Project β β Partnerships β β Dashboard β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
# Deploy to Vercel
npm run build
vercel --prod
Every Flow project builds reward systems from scratch:
- β Duplicated effort across projects
- β Inconsistent user experiences
- β Limited monetization options
- β No ecosystem-wide partnerships
A plug-and-play reward system for any Flow NFT project:
import { AfterMint } from '@aftermint/sdk'
// One line integration
const rewards = new AfterMint({
projectId: 'your-project',
nftContract: '0xYourContract',
partners: ['poap', 'nba-topshot', 'pinnacle']
})
// Trigger rewards after minting
await rewards.showRewards(nftData, userAddress)
- Mintari: Complete NFT creation platform
- Reward Logic: Full implementation in Mintari
- SDK Architecture: Designed and prototyped
- Partner Integration: Flow ecosystem connections
- Analytics System: Sponsor engagement tracking
- SDK Deployment: Publish AfterMint as public npm package
- Documentation: Complete developer guides
- Partner Onboarding: Formal Flow ecosystem partnerships
- Multi-project Integration: SDK adoption across Flow projects
- Mintari Platform - Showcase application
- Reward System Logic - Core functionality
- SDK Architecture - Technical foundation
- Flow Integration - Real blockchain minting
- AfterMint SDK - Public npm package
- Developer Documentation - Integration guides
- Partner API - Ecosystem connections
- Analytics Dashboard - Project insights
- 10+ Flow Projects - SDK adoption
- Zircuit extension - Extend support to Zircuit and other EVM chains
- Advanced Rewards - Gamification features
- Mobile SDK - React Native support
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.