
CastCompass
Intentional messaging. Smarter relationships.
About
The problem it solves Core Purpose CastCompass is a smart, Farcaster-connected messaging app that helps users communicate more intentionally. It integrates AI to generate suggested responses based on relationship goals and past conversations. 🔧 Key Features We’ve Built 1. Wallet-Based Messaging Connects via RainbowKit + Wagmi + XMTP. Users can send and receive messages between wallets. Each chat is scoped per wallet/contact, not global. 2. AI-Powered Suggestions Real-time AI reply suggestions based on: Recent messages Relationship notes (stored per contact) Custom tone settings (warmth, formality, humor, empathy) Adjustable number of replies (3–12) Min/max word count per reply 3. Customizable AI Instructions Users can refine AI behavior by: Editing instructions Choosing how much chat history to include Resetting to default behavior 4. Contact-Specific Relationship Metadata Each contact has: Notes about them Intentions (e.g., collaboration, friendship) AI observations (auto-populated) Message scope settings AI refinement settings 5. UI Components ChatWindow.tsx: chat bubble UI with avatars, scrollable, styled Suggestions.tsx: blue box with AI replies + “Send this via XMTP” buttons Refine.tsx: purple box for tone sliders, response count, word length, and instructions Notes.tsx: structured input for relationship context + AI auto-summarization Responsive, clean layout using CSS (no Tailwind) 🤖 AI Tech Stack Uses AgentKit (nightly version) AI replies generated by calling /api/suggest-agent with: Relationship notes Chat context Tone settings Response limits and constraints 🧬 Long-Term Vision Register an onchain agent identity using .eth basenames Make the agent callable from Farcaster, XMTP, and web Expand tools: summarizer, empathizer, etc. Help users reflect, communicate intentionally, and grow relationships with AI assistance
How it's made
Challenges we ran into Started relatively late than got the deadline expanded into a pre planned holiday so i was limited on the time i could use to develop. Constant struggle with Agentkit npm version clashes with other packages and methods. Most notable identity calls and agent calls were painful to make. Even with following documentation i run into several problems over and over again.