← Deeksha Rungta

Parrot

Farcaster mini-app that cross-posts Twitter content with swipe-based approval, YOLO auto-post mode, and USDC microtransactions.

Visit Parrot

Overview

Parrot is a Farcaster mini‑app designed to streamline cross‑posting from Twitter to Farcaster. It features a swipe‑first interface for reviewing tweets, along with an optional YOLO Mode that automatically posts on the user’s behalf. Parrot supports text, images, quote tweets, retweets, and threads, while ensuring all mentions, and links are formatted according to Farcaster conventions.

Parrot — overview tiles & flat fee

My Contributions

I built Parrot end‑to‑end, covering UI/UX, API routes, background jobs, and platform integrations. The stack included Next.js for the frontend and APIs, React Query for client state management, Neynar Managed Signer for casting permissions, Base MiniKit for mini‑app context, Supabase + Node.js for storage and jobs, and WAGMI/Viem for wallet interactions where required.

Account Linking & Fetch: Parrot verifies whether a user’s Farcaster account has an associated Twitter handle. If not, it deep‑links to the verification flow. Once verified, it uses the Rapid Twitter API to fetch the user’s timeline and stage tweets for cross‑posting.

Parsing & Normalization: Tweets are reformatted before posting. Mentions, and links are adapted to Farcaster’s style, media is intact, quotes and retweets are mapped correctly, and thread continuity is maintained.

Swipe‑First Composer: Tweets appear as cards that users can swipe to cast, edit, or ignore. Editing is supported inline with character checks to match Farcaster’s limits.

Parrot — swipe tutorial
Parrot — Pick & Cast flow

Casting Permissions: With Neynar Managed Signer, Parrot posts directly on behalf of the user. Permissions are scoped and revocable. Retry logic ensures posts are never lost or duplicated.

Parrot — settings (YOLO, disconnect signer)

YOLO Mode (Auto‑cast): For hands‑off usage, a scheduled job runs every 10 minutes to fetch and post tweets automatically. Users can configure whether to include normal tweets, quotes, retweets, or all content types.

Parrot — YOLO settings modal

Payments & Limits: Each cast incurs a $0.1 USDC fee. Users approve a one‑time allowance, which can be topped up or revoked at any time. Charges are applied automatically per cast, and the system provides low balance and low allowance alerts. Backend routes are idempotent to prevent duplicate charges.

Parrot — configure spending / allowance

Notifications: Users receive realtime toasts and push notifications for key events such as cast published, low balance, low allowance and more.