Kevin Schaul's Avatar

Kevin Schaul

@kevinschaul.bsky.social

makes graphics for the washington post, lives in chicago, wants to see your data visualizations and hear about your open source projects https://kschaul.com

4,102 Followers  |  219 Following  |  83 Posts  |  Joined: 05.11.2024  |  1.9093

Latest posts by kevinschaul.bsky.social on Bluesky

@storybook/core - Storybook

Released `jump-start` as a CLI. Now you can search and use your starters from the command line!

If you don't know jump-start, it's basically a shortcut to your favorite code. Put it in a structured GitHub repo, and jump-start turns it into a website. Here's mine: kschaul.com/jump-start/

24.07.2025 14:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Claude Desktop Extensions: One-click MCP server installation for Claude Desktop Claude Desktop Extensions: One-click MCP server installation for Claude Desktop

Didn't realize Anthropic had created dxt: a one-click install for MCP servers --> www.anthropic.com/engineering/...

11.07.2025 13:51 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Didn't realize Anthropic had created dxt: a one-click install for MCP servers --> https://www.anthropic.com/engineering/desktop-extensions

11.07.2025 13:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Taming agentic engineering - Prompts are code, .json/.md files are state Treating LLMs as shitty general purpose computers we program with natural language. Because throwing shit at the wall wasn't working anymore.

Fascinating blog post that rethinks how to use LLMs for programming tasks by writing a "program" in markdown and storing "state" in json files --> mariozechner.at/posts/2025-0...

03.07.2025 18:55 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

MCP server for accessing Guardian articles --> https://www.niemanlab.org/2025/07/a-new-tool-lets-your-favorite-ai-model-talk-with-1-9-million-articles-in-the-guardian/

01.07.2025 14:39 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Cheating Expert Answers Casino Cheating Questions | Tech Support | WIRED
YouTube video by WIRED Cheating Expert Answers Casino Cheating Questions | Tech Support | WIRED

This is by far the most interesting thing I've consumed all week. www.youtube.com/watch?v=0QWP... h/t @kottke.org

27.06.2025 16:26 β€” πŸ‘ 42    πŸ” 5    πŸ’¬ 2    πŸ“Œ 1
Interviewing FEC Filings with llm-fecfile – Derek Willis Academic and journalist

New post: Today I’m releasing a new Python command-line library that allows users to ask questions of federal campaign finance filings by leveraging large language models, with some built-in help.

thescoop.org/archives/202...

24.06.2025 17:16 β€” πŸ‘ 44    πŸ” 8    πŸ’¬ 3    πŸ“Œ 3
Anthropic wins a major fair use victory for AI β€” but it’s still in trouble for stealing books Major USA legal news for the AI industry today. Judge William Alsup released a "summary judgement" (a legal decision that results in some parts of a case skipping a trial) …

There are some interesting details about how Anthropic trained their models tucked away in today's summary judgement: they bought, chopped up and scanned millions of dollars worth of books! simonwillison.net/2025/Jun/24/...

24.06.2025 22:09 β€” πŸ‘ 92    πŸ” 15    πŸ’¬ 9    πŸ“Œ 8

Seems great for exploring embeddings --> https://apple.github.io/embedding-atlas/

26.06.2025 14:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Fun project --> https://monroeclinton.com/counting-all-yurts-in-mongolia/

24.06.2025 16:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Useful report on news consumption --> https://www.niemanlab.org/2025/06/for-the-first-time-social-media-overtakes-tv-as-americans-top-news-source/

17.06.2025 14:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Analysis | AI firms say they can’t respect copyright. These researchers tried. A new effort using only openly licensed data may have implications on thorny policy disputes around copyright and AI

A lot of people say generative AI shouldn't infringe on copyright. These researchers actually tried to do it. The result: an 8 terabyte dataset of text that's openly licensed or in the public domain & 7 B parameter model that performs as well as Meta's Llama 7B www.washingtonpost.com/politics/202...

05.06.2025 17:44 β€” πŸ‘ 781    πŸ” 241    πŸ’¬ 15    πŸ“Œ 37
Preview
GitHub - kevinschaul/llm-fragments-us-legislation: Load bills from Congress.gov as LLM fragments Load bills from Congress.gov as LLM fragments. Contribute to kevinschaul/llm-fragments-us-legislation development by creating an account on GitHub.

Just released a plugin for `llm` to pull in U.S. legislation as fragments, enabling you to do stuff like:

- llm -f bill:hr1-119 'Anything AI-related in here?'
- llm -f bill:hr1-119:section-110101 'Is there language in here to prevent fraud?'

github.com/kevinschaul/...

02.06.2025 17:29 β€” πŸ‘ 12    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

The best `llm` CLI program now supports tool-calling, very excited about these possibilities --> https://simonwillison.net/2025/May/27/llm-tools/

29.05.2025 14:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - kevinschaul/datawrapper-mcp-server: A model context protocol server for interacting with the Datawrapper API A model context protocol server for interacting with the Datawrapper API - kevinschaul/datawrapper-mcp-server

Working on a Datawrapper MCP server. Try it out, if you're into this kind of thing? --> github.com/kevinschaul/... cc @datawrapper.de

23.05.2025 14:28 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

We love baseball + charts

20.05.2025 14:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

I hooked Claude up to Adobe Illustrator (using MCP), pasted in a message from a copy editor and asked it to make the changes. It worked. My mind is blown.

More details and how to get set up here: kschaul.com/post/2025/05...

19.05.2025 21:18 β€” πŸ‘ 23    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1

Great investigation --> https://www.washingtonpost.com/business/2025/05/19/live-facial-recognition-police-new-orleans/

19.05.2025 20:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Interesting! I get the same results for both.

16.05.2025 21:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Just haven't ever tried Mistral

16.05.2025 21:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
{
-    state_or_tribe_or_territory: "HI"
+    state_or_tribe_or_territory: "HI - Flooding"
-    requested: "2025-03-27"
+    requested: "2025-03-28"
   }
   {
-    state_or_tribe_or_territory: "IA"
+    state_or_tribe_or_territory: "IN - Severe Winter Storm"
-    PA: true
+    PA: false
-    HM: true
+    HM: false
-    requested: "2025-04-15"
+    requested: "2025-04-13"
   }
+  {
+    state_or_tribe_or_territory: "Japan - Earthquake/Tsunami"
+    incident_description: "Earthquake/Tsunami"
+    incident_type: "DR"
+    IA: false
+    PA: true
+    HM: true
+    requested: "2025-04-19"
+  }
+  {
+    state_or_tribe_or_territory: "KS - Severe Winter Storm, Straight-line Winds, Flooding, and Wildfire"
+    incident_description: "Severe Winter Storm, Straight-line Winds, Flooding, and Wildfire"
+    incident_type: "DR"
+    IA: true
+    PA: true
+    HM: true
+    requested: "2025-04-17"
+  }

{ - state_or_tribe_or_territory: "HI" + state_or_tribe_or_territory: "HI - Flooding" - requested: "2025-03-27" + requested: "2025-03-28" } { - state_or_tribe_or_territory: "IA" + state_or_tribe_or_territory: "IN - Severe Winter Storm" - PA: true + PA: false - HM: true + HM: false - requested: "2025-04-15" + requested: "2025-04-13" } + { + state_or_tribe_or_territory: "Japan - Earthquake/Tsunami" + incident_description: "Earthquake/Tsunami" + incident_type: "DR" + IA: false + PA: true + HM: true + requested: "2025-04-19" + } + { + state_or_tribe_or_territory: "KS - Severe Winter Storm, Straight-line Winds, Flooding, and Wildfire" + incident_description: "Severe Winter Storm, Straight-line Winds, Flooding, and Wildfire" + incident_type: "DR" + IA: true + PA: true + HM: true + requested: "2025-04-17" + }

The diffs are pretty interesting:

- gpt-4o invented an entry for an Earthquake/Tsunami in Japan!
- Lot of confusion over whether an X means true or false, even seemingly changing tactics midway through the document

Please be studying this kind of thing if you are using LLMs for similar tasks!

16.05.2025 19:10 β€” πŸ‘ 20    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Screenshot of the Declaration Requests in Process table

Screenshot of the Declaration Requests in Process table

How reliable are LLMs at extracting data from pdfs? Inspired by @simonwillison.net's PyCon talk, I added extracting FEMA's daily operation briefing to my LLM evals suite.

Just one model extracted the data from the pdf correctly: Gemini 2.5 Pro Preview. Full results -> kschaul.com/llm-evals/ev...

16.05.2025 19:10 β€” πŸ‘ 94    πŸ” 19    πŸ’¬ 5    πŸ“Œ 1
Video thumbnail

✨ It's new samwho visual essay o'clock! ✨

Reservoir sampling is one of my favourite algorithms. It allows you to sample from a set without knowing the size of that set.

I try to assume no prior knowledge, and use no scary math notation. Just beautiful visuals.

Let me know what you think! ❀️

08.05.2025 15:27 β€” πŸ‘ 227    πŸ” 35    πŸ’¬ 15    πŸ“Œ 8

Just click --> https://neal.fun/internet-roadtrip/

07.05.2025 16:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

hello take a break from all the everything and enjoy an explosion of fabric and fun

05.05.2025 13:59 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Made a lil plugin for `llm` that only actually calls the llm if it's a new prompt. Should save a little time and money, especially when running evals. --> https://github.com/kevinschaul/llm-cache-plugin

30.04.2025 14:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

https://interconnected.org/home/2025/03/20/diane

25.04.2025 18:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Introducing Datasette for Newsrooms We're introducing a new product suite today called **Datasette for Newsroows** - a bundled collection of Datasette Cloud features built specifically for investigative journalists and data teams. We're...

Announcing Datasette for Newsrooms - a hosted version of @datasette.io specifically targeted at newsrooms and data journalists

Think of it as a library for your data - load in CSVs and JSON, extract data with LLMs, collaborate on analysis with the rest of your team
simonwillison.net/2025/Apr/24/...

24.04.2025 21:55 β€” πŸ‘ 120    πŸ” 24    πŸ’¬ 3    πŸ“Œ 2

Mitigating prompt injections by building a custom Python interpreter. Very cool research here. --> https://simonwillison.net/2025/Apr/11/camel/

23.04.2025 14:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Screenshot of a website showing how well different LLM models performed on a task about whether an article is describing a new action/policy by the Trump administration. gemini-1.5-flash-latest leads

Screenshot of a website showing how well different LLM models performed on a task about whether an article is describing a new action/policy by the Trump administration. gemini-1.5-flash-latest leads

Got v1 of my llm evals dashboard set up. Check it out: kschaul.com/llm-evals/ev...

17.04.2025 20:00 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@kevinschaul is following 20 prominent accounts