Building a Farcaster AI Agent (part 2)
Welcome to the 44th entry of my public journal, where I share *some of the things* I've been exploring across work, tech, wellness, and life.
Dear Friends,
In my last post, I wrote about starting a project to build a Farcaster AI Agent—a bot trained on hundreds of hours of gmfarcaster video content, designed to help new users onboard to Farcaster.
I have since gotten an end-to-end prototype working (!!!!) and in the interest of documenting the journey, I’ll share a few updates today: the current state of the bot, the tech stack I used, the roadmap for what’s next, and some reflections.
Current State
Anyone on Farcaster can tag my bot account, gmfc101, and ask it a question about Farcaster. The bot is trained on the first eight videos of our Farcaster 101 series and responds based on this content, combined with its prior knowledge about Farcaster. If the answer is found in one of our videos, it recommends the video and provides a link.
Let’s see it in action: a farcaster user asked, “What’s a FID, and why doesn’t it matter?” As you can see in this screenshot, the bot explained what a FID is (your Farcaster ID) and linked to the second module, where we covered it in more detail. Pretty cool, huh?
Tech Stack for Building a Farcaster AI Agent
I’ve been sharing progress updates on Farcaster, and several people have expressed interest in following the project or asking questions about the tools I’ve used. While I plan to write a formal blog post once the project is complete, here’s a preview of the tech stack I’ve used for the initial MVP:
Cursor: IDE with an integrated AI copilot.
Deepgram: For generating high-quality transcripts from my videos.
OpenAI APIs: Used to create embeddings from the transcripts with the “text-embedding-ada-002” model.
Pinecone: For storing the embeddings in a vector database. I selected Azure as the cloud provider since it’s the only available option in the free tier.
Postman: For local API testing.
Neynar: Provides the webhook that calls my API based on specific Farcaster events, like when my bot is tagged or replied to.
OpenAI LLM: Generates responses to users’ queries.
Render: Hosts my API, which is called by the Neynar webhook.
ChatGPT: Project copilot throughout the project.
Roadmap: What’s Next
Here’s what I’m planning for the next phase of the Farcaster AI Agent:
Train the bot on the remaining four videos from the Farcaster 101 series.
Add memory to enable back-and-forth conversations with users.
Implement context tracking across conversations, allowing the bot to surface relevant past discussions or threads.
Expand its Farcaster-specific abilities, like tagging people and channels, so it can direct new users to recommended accounts and communities.
Train the bot on all GM Farcaster videos and interviews, and get it to recognize the difference between me and NounishProf.
Reflections
AI copilots are INSANE. Yes, I know I said this exact same thing in my last post, but I’m still blown away that I was able to get a working MVP done with about five days of effort. There’s no way this would have been possible without ChatGPT guiding me and writing most of the code.
Thin Vertical Slice is a great approach to development. There were so many tempting rabbit holes along the way, but I stayed disciplined and focused on creating a simple end-to-end MVP.
There’s so much more to do! All I’ve built so far is a small prototype, and the bot isn’t all that smart yet. I’ve only tested the “happy path” and haven’t hardened the code. There’s still a ton of functionality to add before the bot can truly provide value. But for now, I’m satisfied with “good enough,” knowing I’ll revisit and improve as I go.
This project has been ridiculously fun, and I’m excited to keep building it out.
Some of the (other) things
My oldest kid is a freshman in college, and we had her back home for a few short days last week for Thanksgiving. What a baller she is.
I joined a newly formed social media committee at my kids’ high school. The committee’s purpose is to educate ourselves on the effects of social media and smartphone use in children and to make recommendations to the Superintendent. These may include updates to policies, procedures, student education, teacher education, parent/family education, and advocacy. Here are a few interesting perspectives on this topic:
The positive aspects of social media: “Social media use is associated with increased well-being when young people engage actively, directly interacting with followers with whom they have relationships, actively creating or sharing content, or using it to maintain or be entertained.”
Using social media with intention: Quality over quantity, mute or unfollow accounts that trigger envy or self-comparison, prioritize close friendships, and engage directly by sending DMs or commenting on posts instead of endless scrolling.
The Anxious Generation (podcast): Dr. Becky and Jonathan Haidt in conversation with Stephanie Ruhle at 92NY.
A reader from my last post where I talked about my AI bot replied and shared a link to this blog post about how to match various LLM problems to various LLM patterns. Excellent source of information if you want to get deeper into LLMs and AI development. And I love hearing from people who read my writing!
I loved this article that was in a recent
all about public speaking, especially this comment: "The art of good public speaking is often to say less, giving each idea time to breathe, and time to be absorbed by the audience. But the anxiety of the speaker pushes in the other direction, more facts, more notes, more words, all in the service of ensuring they don’t dry up on stage." When I think of some of the best speakers I've heard, they all do this really well, and it’s a good reminder for me to slow down when I’m talking.I’ve written about a children’s book I’ve been working on with my sister as early as May 2023. She’s the one with the artistic talent and she’s starting to work on the illustrations. When I saw her last week she shared some concept drawings of the animals in the story - yak, fox, horse, shrew, bear, and of course the main character bat. I’m hopeful we’ll have it self-published and available in the next 3-6 months.


A Note to My Readers
I started this substack in December 2022 as an experiment to see if developing a writing habit would help clarify my thinking and/or provide other benefits. You can read about my original intentions in my first post or my more recent reflections after sticking with it for a year.
I write about twice a month and share musings, meditations, and links to things I’m finding interesting as I build out a farcaster-native media company, a modern technology consulting company, raise my kids, and have fun creating and learning in the worlds of crypto, tech, finance, science and wellness.
Thank you for supporting my writing and journey. If you’d like to get in touch you can reply to me here or find me on X and farcaster.
Until next time, keep putting good into the world. —adrienne🌏❤️