← Deeksha Rungta

Parrot

A Farcaster mini app that cross-posts your tweets. Swipe to pick what goes out, or let YOLO Mode do it. 300+ beta users.

Visit Parrot ↗

Overview

Parrot is a Farcaster mini app that cross-posts from Twitter to Farcaster. You swipe through your tweets to pick what goes out, or turn on YOLO Mode and it posts for you. It handles text, images, quote tweets, retweets and threads, and reformats mentions and links the way Farcaster expects them.

The Parrot overview tiles and flat fee

My Contributions

I built Parrot end to end: the UI and UX, API routes, background jobs and platform integrations. The stack was Next.js for the frontend and APIs, React Query for client state, Neynar Managed Signer for casting permissions, Base MiniKit for mini app context, Supabase and Node.js for storage and jobs, and wagmi and viem for wallet interactions.

First, Parrot checks whether the user’s Farcaster account has a verified Twitter handle. If it doesn’t, the app deep-links them to the verification flow. Once that’s done, it pulls their timeline through the Rapid Twitter API and lines the tweets up for cross-posting.

Every tweet is reformatted before it’s posted. Mentions and links are converted to Farcaster’s format, media carries over unchanged, quotes and retweets map to their Farcaster equivalents, and threads stay in order.

The Pick and Cast flow

Swipe-First Composer

Tweets show up as cards, and you swipe each one to cast it, edit it or skip it. Edits happen inline, with a character count that follows Farcaster’s limits.

The swipe tutorial

Casting Permissions

Neynar Managed Signer lets Parrot post directly on the user’s behalf. The permission is scoped and can be revoked at any time. Failed casts are retried without creating duplicates.

Settings with YOLO Mode and the option to disconnect the signer

YOLO Mode (Auto-Cast)

With YOLO Mode on, a job runs every 10 minutes to fetch new tweets and post them automatically. Users choose whether it posts regular tweets, quotes, retweets or everything.

The YOLO Mode settings

Payments and Notifications

Each cast costs $0.10 in USDC. Users approve an allowance once and can top it up or revoke it whenever they want. The fee is taken automatically with each cast, and the payment routes are idempotent, so a retry can’t charge anyone twice.

Users get real-time toasts and push notifications too, like when a cast goes out or their balance or allowance is running low.

Setting the spending allowance