DormWay’s AI Glow-Up - From One-Shot Prompts to Persona-Powered Crews

Yesterday we completed one of the most significant technical migrations in DormWay's short history: replacing our linear, single-shot LLM approach with a multi-agent system powered by Crew.ai.

DormWay’s AI Glow-Up - From One-Shot Prompts to Persona-Powered Crews
Photo by Karine Avetisyan / Unsplash

Hey friends, big news from DormWay HQ: yesterday we ditched our old, fragile one-shot LLM setup and rolled out a full-on multi-agent system powered by Crew.ai - and honestly, it’s a total game-changer. We’re seeing relevance scores jump by 20% and waving goodbye to that brittle prompt chaining that kept tripping up our devs (aka Ethan and I).

Why our old AI was not cutting it

Our OG setup basically chained one LLM call after another inside our Temporal workflows - picture a relay race where each runner only knows that they are running - not why that is, what lane is theirs, or how many laps they have left.

// Old approach – fast to prototype, slow to adapt
async function processCampusNews(newsItems) {
  const summary = await llm.complete(`
    Summarize these news items for college students:
    ${JSON.stringify(newsItems)}
  `);
  const priorities = await llm.complete(`
    Rank these summaries by importance:
    ${summary}
  `);
  return priorities;
}

That meant:

  • zero teamwork between steps
  • context poverty (each call barely remembered what happened before)
  • prompt drift that sent our AI off on its own tangent
  • a maintenance nightmare - tweak one thing upstream and everything downstream threw a tantrum

Enter the Student Support Squad:

We realized real students don’t rely on a lone genius - they’ve got a whole group of people they listen to - and we came up with a few personas for each:

  • The Campus Insider: that upperclassman who knows which dining hall has no line
  • The Academic Weapon: the friend that is always on top of their shit - and they somehow are in every class with you
  • The Social Connector: the human LinkedIn who always knows what events are going on on campus
  • The Life Coach: the friend who reminds you that pulling all nighters isn't actually cool
  • The City Navigator: the college town local who warns you about bus detours and where to grab late-night pizza

We gave each persona the actual tools they’d use - Google, our own data vault, and any tips students have decided to share (as of now, just my two cents on best bathrooms on campus).

Translating personas into AI agents:

With Crew.ai we spun up specialized agents for each role. For example, our "Campus News Crew" now includes:

  • News Scout to categorize updates
  • Student Impact Analyst to figure out who cares (in a nice way)
  • Priority Ranker to turn long articles into bite-size, action-first summaries

And that’s just one crew - we’ve got squads for academic planning, travel logistics, daily briefings… you name it.

The “Pure AI Pattern” magic trick

Temporal still handles data fetching and orchestration, but Crew.ai agents only see clean, pre-fetched data - no surprise API changes or weird hallucinations. Now it looks like this:

async function processCampusNews(ctx) {
  const newsData       = await fetchCampusNews();
  const studentContext = await getStudentContext(ctx.userId);
  const campusEvents   = await fetchUpcomingEvents();

  const analysis = await callCrewAPI({
    crew_type:  'campus_news',
    input:       { news_items: newsData, student_context: studentContext, campus_events: campusEvents }
  });

  await storeProcessedNews(analysis.output);
  return analysis.output;
}

Why this so much better:

  • no drift or hallucinations - agents can’t make stuff up (they'll still find a way)
  • deterministic outputs - same input, same awesome result every time
  • modular & testable - pure functions for the win
  • speedy & cache-friendly - sub-3s runs with 80% cache hits

Results after just two intense days:

  • zero hallucinations thanks to persona validation
  • deterministic, reproducible analysis
  • way less brittleness - components evolve independently
  • 33× cost savings by switching to GPT-4o-mini for structured tasks
  • 95% accuracy extracting syllabus info (vs. 78% before)

Next up:

We’re already plugging agents into semester planning, event recs, career guidance, and quite a few more. The best part is our Student Impact Analyst can jump from news to events to course selection without missing a beat.

TL;DR

AI Board of Directors > AI Bored of Directives

We’ve made AI that’s specialized, collaborative, and genuinely helpful – just like the friends you wish you had on move-in day.


Riley Crimmins, Senior @ UMich & CEO/Co-Founder of DormWay
Follow our journey at dormway.app 🎓🚀