Inspiration

The inspiration for this project was my son, Jameson, and the challenges that myself and my family have faced for the last 9 years. We continue to push forward and challenge our school districts, and I wanted to make that easier for our family and others. What we have had to pay and go through, really rocked our family. We are in such an amazing place as a family and with Jameson's journey and every moment brought us to where we are today. I was compelled to make that easier for other families. If we can use AI, I thought to myself, and our combined knowledge across families willing to join this community and use this app, there is nothing we couldn't do to get our children the support they need. This journey can be so isolating. How beautiful would it be if we never had to suffer in silence again?

What it does

Hey Ivy is a Slack agent for families navigating special education — 7.5 million U.S. students have an IEP, and most parents face their one meeting a year with no advocate and a dense legal document. Under the hood: a Bolt.js app over Socket Mode, with the Claude Agent SDK running as an MCP client connected to two MCP surfaces — an in-process MCP server exposing our IEP tools (get_iep_summary, get_flagged_concerns, get_upcoming_dates, create_canvas, search_school_communications), and Slack's hosted MCP server (mcp.slack.com) authenticated with a user token. When a parent uploads an IEP, a document pipeline (PDF text extraction → Claude structured-extraction call at temperature 0) produces typed JSON: services, goals, dates, and severity-ranked flags — unmeasurable goals, unspecified service minutes, overdue triennial re-evaluations — each precomputed with a suggested parent question. Tools serve this data on every turn, with date math (days_until) computed tool-side so the model narrates rather than calculates. The communications timeline runs on Slack's Real-Time Search API (assistant.search.context): live retrieval over the family's school-log channel, nothing stored, with Claude ordering entries chronologically and flagging unanswered requests. Meeting prep converges all three sources — document flags, RTS history, date awareness — into a shareable canvas. Single local JSON store per family; no data leaves the workspace; RTS results are never retained. No parent walks into an IEP meeting alone.

How we built it

I used what I have learned over the last several years of the Slack core platform, the Slack Developer programs and my vibe coding to make Hey Ivy come to life. I setup my project, grabbed the starter project I wanted to use and then worked through the build using Slack Dev concepts and Claude to help keep me on the right track. Once I had everything connected, and was leveraging Claude Code to help me build, I would constantly test in the UI and run unit testing in Claude to make sure that when I added a new feature or function, everything continued to work.

Challenges we ran into

It was difficult to make sure that what I was building was staying true to the challenge I set for myself, which was to leverage all 3 functions that the hackathon wanted us to base the build on. There were so many twists and turns that I had to constantly test, retest, and make sure I didnt pivot too far from what I wanted to do. I had to really keep tight to the scope and I persevered.

Accomplishments that we're proud of

I was so proud that I took this from idea at 2 AM when I couldn't sleep, to fully built concept and demo in a matter of days.

What we learned

I learned that I can do so much in a short time, and that I have a journey ahead of me as I challenge myself to be more of a developer. I learned that I can take an idea, and build it into a concept, and be free to bring that concept to life to prove it works and show its value. Instead of just talking about my idea or making a mockup, I can bring it to life. I learned that the Slack AI and MCP and RTS functions are limitless but that it still takes intention and practice to make them effective. I learned that I freakin love this platform at an even deeper level, and I learned that I can do hard things.

What's next for Hey Ivy

Hey Ivy is going to become a Community, built on Enterprise +, so that each family can have its own workspace and protect its sensitive data. Once members join, they will be taken through an onboarding workflow that allows them to opt in to community channels to network with families in their area, families with similar journey and get connected to programs in their area. Providing their State can help them provide Ivy with locale information that enables her to provide even more State and Federal specific information and help parents understand their rights even more. Shared Channels will bring people together, Hey Ivy will help parents find their voices so that they can help themselves and once they share their updates with Hey Ivy (if they want of course!), Ivy can learn and become even more powerful for the parents that need her the most. Now every one of them can just say, Hey Ivy.

Built With

  • api
  • bolt
  • claude
  • claude-sdk
  • json
  • mcp
  • rts
  • slack-ai
  • socket
Share this project:

Updates