Matt Waite
  • Portfolio
  • Archive
  • About
  • Teaching
Professor of Practice & Technologist

Matt Waite

A career spent at the intersection of storytelling and code. From Pulitzer Prize-winning data projects to pioneering the use of drones in the newsroom.

Explore About Matt
Matt Waite

Featured Projects

Institutional Research

The Drone Journalism Lab

Establishing the ethical and practical frameworks for small unmanned aircraft systems in the pursuit of public interest journalism. One of the first drone journalism programs in the world.

View the book
✈
Education & Data

Sports Data Tutorials

Mastering the R language through the lens of sports analytics. A comprehensive guide for journalists to find the story in the box score.

Start Learning
Data journalism in practice
Visual Storytelling

The Art of Data Journalism

Beyond the spreadsheet. Teaching the next generation how to transform raw datasets into compelling, interactive visual narratives that drive impact.

Explore the Book

Recent Posts

Archive Index

A rant about teaching journalism in 2026

journalism
education
AI

I need to get this out of my head. Trying to figure out what to teach in a journalism class in 2026 feels like being torn apart from the insides. And I can already feel the people thinking It’s Not That Hard, Just Teach The Basics blah blah blah sure. Easy for you to say. You’re either not teaching journalism in 2026 or you’re willfully blind as to what is going on right now. Faculty are under enormous pressure from university leadership and voices in industry that students must have AI skills when they leave. When asked what those are…

Jun 16, 2026

Teaching a one-hour throwaway news apps class

code
webdev
AI

What you will need: A Github Account (if you don’t already have one) Google Antigravity Some data in csv format. Step 1: Setup On the first page you see, you should see a big blue Open Folder button. Click that. For most of you, you’re going to need to create a new folder and that new folder must be named [githubusername].github.io where githubusername is your github username that you just created. It must match it exactly. So, for example, my github user name is mattwaite, so my folder is called mattwaite.github.io. It has to match your username and watch the…

Apr 30, 2026

Parsing PDFs with Antigravity

code
analysis
AI

Among the wisest things I’ve ever seen written about AI is “I want AI to do my laundry and dishes so that I can do art and writing, not for AI to do my art and writing so that I can do my laundry and dishes.” The same can be said for journalism. I want AI to do the chores so I can do the journalism. Time I’m not manually pulling apart PDFs is time I can spend talking to people. Last week, Google launched their much anticipated Gemini 3 model, and much is being said and written about it.…

Nov 24, 2025

An R + LLM starter kit

code
analysis
AI

I’ve written before, I am at best an enthusiastic amateur when it comes to AI, LLMs and R. But I’m braver/dumber than most, so for a talk I’m giving to NE-RUG – the Nebraska R Users Group – and to the NICAR data journalism conference, I’ve got some resources and some code to share. R libraries : From the folks who brought you the comes , a library that supports talking to a large number of LLMs. To talk to the big commercial LLMs, you’ll need API keys, and that usually means having an API budget. But what I like…

Mar 7, 2025

An academic integrity-friendly code pal for R Studio

AI
code
r
education

One of the struggles on campus these days is all about where to draw the lines when it comes to AI in the classroom. There’s no end of discussion about students using ChatGPT to cheat, particularly on writing assignments. How do you stop it? How do you adapt to it? How do you convince students to do the work? Teaching students to write code is no different. I add a layer of difficulty in that I teach journalism and sports media students how to code. These are students who didn’t ask to learn how to write code, but we as…

Nov 26, 2024
No matching items
View Full Archive