State of the School deck generator

An n8n and Google Slides pipeline that turns school data into the board briefing Chicago Public Schools leaders used to build by hand, with every claim traced to a source field.

Context
Kellogg independent study with Innovare
When
2026
Built with
n8n, Google Slides API

The problem

Innovare works with school districts on improvement planning, and their State of the School deck goes to Chicago Public Schools board and parent meetings. It was being built by hand in Google Slides: a full day of the district’s most senior people per deck, which is the wrong labor for the work.

The scope call

I came in on an independent study to build AI tooling for this. My faculty advisor wanted a multi-modal storytelling engine across slides, audio, and video. Innovare wanted slides as a phase one, and I was there for one term, so the bigger version wouldn’t survive my handoff.

I cut the scope. Instead of an open-ended storytelling system, I built a template-driven board briefing generator with two constraints:

  • The narrative stays pinned to the plan. It follows the three to five School Improvement Plan priorities the superintendent has already committed to, rather than whatever the model finds interesting in the data.
  • Every claim traces to a source field. A superintendent should never be blindsided in a board meeting by a number they can’t source.

I couldn’t win the scope argument on reasoning alone, so I got the client to write down what they wanted for phase one, which turned ambition into requirements.

Result

A full day of superintendent and principal time per deck dropped to about an hour of branding review. Innovare took the MVP, completed full integration in the spring, and still uses it.

What I took from it

Deciding what not to build was the actual product work. The harder half was making that case to the person grading me rather than to the client.

All builds