Alex Garcia
alexgarcia.xyz
Alex Garcia
@alexgarcia.xyz
software engineer alexgarcia.xyz
I'm trying out weeknotes to blog about projects I've been working on!

This week:

- libfec: a desktop app for viewing FEC files, physical receipt
- OpenTelemetry in Datasette
- Google Sheets plugin for Datasette
- Pebble watch app for my coffee routine

Check it out!

alexgarcia.xyz/blog/2026/we...
Weeknotes: September 28th to October 4th, 2026
Various open source projects, tools, and ideas I worked on in the week of September 28th - October 4th.
alexgarcia.xyz
October 7, 2026 at 6:43 PM
Reposted by Alex Garcia
bluesky question! anyone know if there are any 2026 election news starter packs out there, or solid hashtags/feeds for election coverage?
October 2, 2026 at 6:21 PM
Reposted by Alex Garcia
Datasette 1.0a39 and 0.65.4 security releases - datasette.io/blog/2026/se...

We ran an extensive audit using Claude Fable 5.1, GPT-5.6 Sol and GPT-6 Astra, then fixed a range of different bugs. If you're running a Datasette instance on a public website you should upgrade.
Datasette 1.0a39 and 0.65.4 security releases - Datasette Blog
datasette.io
September 11, 2026 at 3:37 AM
bloop
August 10, 2026 at 5:38 PM
testtesttest
August 10, 2026 at 5:37 PM
Reposted by Alex Garcia
Four years ago, I got frustrated constantly switching between different languages and packages just to get my data analysis work done.

So, I built @nshiab/simple-data-analysis. It's an easy-to-use, high-performance library for tabular, geospatial, and vector data.

🧵 (1/3)
May 29, 2026 at 1:10 PM
The city of Garden Grove in CA has an active chemical emergency right now, and they posted an evacuation map that's obviously created with AI

And honestly, it looks great. Can't imagine being in a time crunch to get something like this out. ggcity.org/emergency
May 22, 2026 at 9:01 PM
Reposted by Alex Garcia
I released the first alpha of Datasette Agent - a conversational AI assistant for Datasette that can answer questions about data in SQLite databases, and can be extended with plugins to add extra tools and features

You can watch a demo video or try it out yourself on agent.datasette.io
May 21, 2026 at 8:10 PM
Reposted by Alex Garcia
On Friday, I’ll be revisiting the session I led at NICAR, *Enhancing public records work with LLMs*. I’ll show off some workflows that combine LLM tools with @documentcloud.org and @muckrock.com. If you missed it at NICAR, now's your chance! Registration: us02web.zoom.us/meeting/regi...
Welcome! You are invited to join a meeting: Building with MuckRock. After registering, you will receive a confirmation email about joining the meeting.
Welcome! You are invited to join a meeting: Building with MuckRock. After registering, you will receive a confirmation email about joining the meeting.
us02web.zoom.us
May 13, 2026 at 3:25 PM
Reposted by Alex Garcia
Join us this Friday and explore Python libraries for the MuckRock Requests and DocumentCloud APIs, and how they can be used with large language models (LLMs) to streamline records requests and assist in analyzing responsive documents. buff.ly/snxwvd1
Building with MuckRock
Miss this session at NICAR 2026? Join this session of Building with MuckRock!
us02web.zoom.us
May 13, 2026 at 7:15 PM
re the tanstack hack: It took a lot of digging but I finally found a good summary of "here's what we're doing to avoid this in the future"

Also TIL about zizmor, a CLI that statically analyzes github action YAML for security vulns, with autofix support!

news.ycombinator.com/item?id=4810...
May 12, 2026 at 5:57 PM
Happy #FECFilingDay ! If you're a journalist/researcher covering today's filings, consider my `libfec` CLI tool to make your life a bit easier!

Learn how to use libfec for bulk exports, live updates from the FEC RSS feed, and alerting on individual donations!

alexgarcia.xyz/blog/2026/li...
Using libfec for FEC Filing Days, April 2026 Edition
A short guide on using the libfec CLI to cover today's FEC filing deadline
alexgarcia.xyz
April 15, 2026 at 7:30 PM
sqlite-vec mentioned
it basically turns Claude Code into a stateful agent, w/ a persistent Modal volume w/ sqlite-vec as a local vector-db hosted serverlessly (scales to zero when you're not using it)

state is in the cloud, so conv history seamlessly connects CLI w/ CC-on-mobile

uv pip install yaucca today!
March 27, 2026 at 1:32 AM
Big thanks to everyone who came to my #NICAR26 session for libfec last week, it was a lot of fun! NICAR is the only place where you can chat about federal campaign finance data and actually enjoy it...

It wasn't recorded, but I made a video version of it here!

youtu.be/UdkQ5HEiF20
Introduction to libfec! (NICAR26 re-record)
YouTube video by Alex Garcia
youtu.be
March 10, 2026 at 3:43 PM
I will be at #NICAR26 this week teaching classes!

For campaign finance folks: come to my Thursday 11:30am class on libfec, a new fast CLI tool for working with FEC data!

Also get limited-edition libfec stickers + a campfin "zine"!

(Bonus: find @simonwillison.net and I for Datasette stickers)
March 4, 2026 at 1:08 AM
Wow, never noticed that the SQLite docs have a sponsor message. Added in November of last year

sqlite.org/cli.html
February 11, 2026 at 4:10 PM
I know jq terminal output when I see it
January 23, 2026 at 4:21 PM
One trick with this, using libfec + SQLite:

- "Hollywood Democrats" has raised $216k in 2 years, treasurer is Benjamin Eisenberg
- Has spent $88.5k (~40%) on "General Campaign Fundraising" exclusively to "Summit Campaign Strategies"
- "Summit Campaign Strategies" is owned by... Benjamin Eisenberg
January 13, 2026 at 11:10 PM
Reposted by Alex Garcia
Datasette 1.0a20 is out, with an entirely new SQL-powered permissions system. This is by far the most ambitious project I've attempted with the help of coding agents (Claude Code and Codex CLI) - notes on how it works and what I learned along the way:
simonwillison.net/2025/Nov/4/d...
A new SQL-powered permissions system in Datasette 1.0a20
Datasette 1.0a20 is out with the biggest breaking API change on the road to 1.0, improving how Datasette’s permissions system works by migrating permission logic to SQL running in SQLite. …
simonwillison.net
November 4, 2025 at 9:36 PM
New blog post: I've been working on a new parser for the Federal Election Commission's custom `.fec` file format.

Written in Rust, completely open source, and the fastest FEC file parser out there.

If you ever work with federal campaign finance data, check it out!

alexgarcia.xyz/blog/2025/in...
I'm working on libfec, a new FEC file parser and CLI tool
Parse federal campaign filings
alexgarcia.xyz
October 14, 2025 at 4:18 PM
Love this approach for seeing if ChatGPT is used in a document: See if `utm_source=chatgpt.com` appears in any URLs.

Doesn't prove that ChatGPT wrote it, but at least shows they used ChatGPT when researching.
April 15, 2025 at 12:32 AM
Great guide here by Ed for using sqlite-vec + OpenAI embeddings in a RAG system! Includes great use of the new auxiliary columns feature for storing metadata

(further evidence that the LA tech scene is elite)
February 18, 2025 at 8:51 PM
Reposted by Alex Garcia
NEW BLOG POST: Been testing out 20 LLMs at extracting data from political fundraising emails. See the process and results here:

thescoop.org/archives/202...
LLM Extraction Challenge: Fundraising Emails – Derek Willis
Academic and journalist
thescoop.org
January 27, 2025 at 6:42 PM
Please merge my +321,000 line PR, it's only a few small changes 🥺
November 27, 2024 at 9:41 PM
let's goooo
# 2024-11-22
SQLite is all you need! Big sqlite-vec update! 🚀 sqlite-vec is a plugin to support Vector Search in SQLite or LibSQL databases. v0.1.6 now allows storing non-vector data in vec0 virtual tables, enabling metadata conditioning and filtering! 🤯
November 22, 2024 at 5:14 PM