You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a mobile-responsive Tinder-style project discovery and tipping app within the existing Celo Composer Farcaster MiniApp template.
App Overview
Create a single-page application where users swipe through Celo ecosystem projects, save their favorites, and tip them directly using their connected Farcaster wallet.
// Import from existing templateimport{sdk}from'@farcaster/frame-sdk';// For individual tipsawaitsdk.actions.sendToken({token: selectedToken,// 'USDC', 'cUSD', or 'CELO'amount: tipAmount.toString(),recipient: ownerAddress,// from project.members where role === 'owner'chainId: '42220'// Celo mainnet});
Token options:
USDC (default)
cUSD
CELO
Tip amounts:
Suggested: $5, $10, $25, $50
Custom amount input field
Default suggestion: $25
7. UI States & Navigation
Main view states:
Loading projects
Swiping through cards
All cards completed → auto-redirect to saved projects
Saved projects view
Navigation elements:
"View Saved Projects (X)" button always visible at top
Back to swiping button when viewing saved projects (if cards remaining)
8. Error Handling & Empty States
API failure:
Show error message with "Retry" button
Toast notification for network errors
Tip failure:
Show error toast with "Try Again" option
Don't remove project from saved list
Empty states:
No projects loaded: "Unable to load projects. Please try again."
No saved projects: "No projects saved yet. Start swiping to discover projects!"
All cards swiped, none saved: "No projects saved. Start over to discover more!"
9. Mobile Responsiveness
Breakpoints:
Mobile (≤768px): Full width cards, 90vw max-width
Desktop (>768px): Fixed 400px width, centered
Touch optimization:
44px minimum touch targets
Smooth gesture handling
Prevent scroll interference during swipes
10. Animation Details
Use Framer Motion for:
Card swipe gestures with physics
Stack reordering when card removed
Smooth transitions between views
Loading animations
Success/error feedback animations
Animation specs:
Spring transitions with natural damping
Card rotation: -15° to +15° range
Scale effect: Cards behind scaled to 0.95 and 0.9
Opacity: Background cards at 0.9 and 0.8 opacity
Technical Requirements
Data fetching:
Fetch on app load with loading state
Sort by numTransactions descending
Handle API errors gracefully
State persistence:
No local storage needed
State resets on page refresh (acceptable)
Performance:
Smooth 60fps animations
Lazy load project images
Efficient re-renders
Styling:
Use shadcn/ui components
Mobile-first responsive design
Consistent spacing and typography
High contrast for accessibility
Success Criteria
The app should:
Load projects from the API and display them in a swipeable card interface
Allow smooth swiping with visual feedback
Track saved vs passed projects
Show saved projects with tipping interface
Process tips using Farcaster wallet with token selection
Handle errors gracefully with retry mechanisms
Work smoothly on both mobile and desktop
Have a polished, professional appearance using shadcn components
Build this as a single React component that can be dropped into the existing Celo Composer Farcaster template's main page. If you are not sure about something, please ask before proceeding.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Vibe Code Prompt: Swipe to Give Farcaster MiniApp
Build a mobile-responsive Tinder-style project discovery and tipping app within the existing Celo Composer Farcaster MiniApp template.
App Overview
Create a single-page application where users swipe through Celo ecosystem projects, save their favorites, and tip them directly using their connected Farcaster wallet.
Required Dependencies
Add these to package.json:
framer-motionfor swipe animationslucide-reactfor icons (already in shadcn)Data Source & API Integration
Fetch projects from:
https://gapapi.karmahq.xyz/v2/communities/celo/projects?page=1&limit=100&programIds=944_42161Sort projects by:
numTransactions(descending - most transactions first)Key data fields to display:
details.title- Project namedetails.description- Project descriptiondetails.logoUrl- Project logopercentCompleted- Completion percentagenumTransactions- Number of supportersnumMilestones- Total milestonesendorsements.length- Number of endorsementsgrantNames- Recent grants (show first 3)membersarray - Find the member withrole: "owner"for tip recipient addressCore Features to Build
1. Main Interface - Card Stack
2. Project Card Content
Design each card to show:
3. Swipe Mechanics
4. State Management
Track these states:
5. Saved Projects View
After swiping through all cards OR when user taps "View Saved" button:
Show saved projects list with:
6. Tipping Integration
Use Farcaster MiniApp SDK for payments:
Token options:
Tip amounts:
7. UI States & Navigation
Main view states:
Navigation elements:
8. Error Handling & Empty States
API failure:
Tip failure:
Empty states:
9. Mobile Responsiveness
Breakpoints:
Touch optimization:
10. Animation Details
Use Framer Motion for:
Animation specs:
Technical Requirements
Data fetching:
State persistence:
Performance:
Styling:
Success Criteria
The app should:
Build this as a single React component that can be dropped into the existing Celo Composer Farcaster template's main page. If you are not sure about something, please ask before proceeding.
Beta Was this translation helpful? Give feedback.
All reactions