Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Alex Garcia

@alexgarcia.xyz
619 followers 419 following 51 posts

software engineer alexgarcia.xyz

PostsRepliesMedia
Reposted by Alex Garcia
Sef Kloninger ❌👑 @sefk.bsky.social · 12/10/2026
I wrote this article describing the project I've been working on for the past six months with Big Local News biglocalnews.org/content/news... DataTalk is fun to play with, check it out at datatalk.biglocalnews.org There are some example questions right on the first page. @biglocalnews.bsky.social
biglocalnews.org
DataTalk helps you find story leads in election spending data
With the midterm elections coming up, more than a billion dollars are being spent for and against candidates. But who’s doing the spending, how much, and on whom? Knowing how important money is to pol...
222 2
Reposted by Alex Garcia
sandra fish @fishnette.bsky.social · 09/10/2026
Hey if you're a journalist covering federal elections (or just a human interested in federal campaign finance), check out DataTalk from @biglocalnews.bsky.social it's pretty cool!
biglocalnews.org
DataTalk helps you find story leads in election spending data
With the midterm elections coming up, more than a billion dollars are being spent for and against candidates. But who’s doing the spending, how much, and on whom? Knowing how important money is to pol...
063 6
Alex Garcia @alexgarcia.xyz · 07/10/2026
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...
alexgarcia.xyz
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.
000 0
Reposted by Alex Garcia
Ence Morse @ence.bsky.social · 02/10/2026
bluesky question! anyone know if there are any 2026 election news starter packs out there, or solid hashtags/feeds for election coverage?
393 9
Reposted by Alex Garcia
Simon Willison @simonwillison.net · 11/09/2026
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.io
Datasette 1.0a39 and 0.65.4 security releases - Datasette Blog
3428 42
Alex Garcia @alexgarcia.xyz · 22/08/2026
have you looked litestream backups for streaming replication? you can point the replica to a filesystem instead of s3, at the latest version gives point-in-time recovery, so you don't need to store N while copies
041 4
Alex Garcia @alexgarcia.xyz · 22/08/2026
will you VACUUM at the end to reclaim disk space? it would lock any writes and take forever ... but at least the DB will stop growing regardless
190 9
Alex Garcia @alexgarcia.xyz · 10/08/2026
bloop
michael scott shaking hands meme
030 3
Alex Garcia @alexgarcia.xyz · 10/08/2026
testtesttest
michael scott shaking hands meme
000 0
Alex Garcia @alexgarcia.xyz · 04/06/2026
delete this
020 2
Reposted by Alex Garcia
Nael Shiab @naelshiab.bsky.social · 29/05/2026
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)
181 8
Alex Garcia @alexgarcia.xyz · 28/05/2026
oooooh... taking this to the Discord now!
020 2
Alex Garcia @alexgarcia.xyz · 28/05/2026
Id imagine any dialect, so DuckDB-style SQL would work fine. But the API response format, params like _shape, etc would be the same as Datasette And other Datasette-isms, like `.csv`/``.json` to return results in different formats, the facetting API, `/$DB/$TABLE` urls, etc
120 2
Alex Garcia @alexgarcia.xyz · 28/05/2026
In the past, Simon has talked about making Datasette a "specification" of HTTP APIs. Meaning one can make an implementation of Datasette that uses the same HTTP API, but is backed by DuckDB/Postgres etc all to say: a duckdb-backed Datasette compliant tool would be very cool to see!
110 1
Alex Garcia @alexgarcia.xyz · 28/05/2026
I think if DuckDB was around when Datasette was first created, it very likely would have! Tho I'd say the "new" Datasette features we're working on, mostly writes + interactive UIs, it wouldnt make much sense on DuckDB (and we're doing a terrible job at promoting the new features btw)
130 3
Alex Garcia @alexgarcia.xyz · 22/05/2026
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
Screenshot of the Garden Grove emergency page. Titled "Evacuation Zone - Chemical Incident" with a map showing the evacuation zone, and a list of "open evacuation centers" labled as Garden Grove Sports and REcreation Center and Cypress Community Center
010 1
Reposted by Alex Garcia
Simon Willison @simonwillison.net · 21/05/2026
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
6563 56
Reposted by Alex Garcia
Allan Lasser @allanlasser.com · 13/05/2026
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...
us02web.zoom.us
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.
063 6
Reposted by Alex Garcia
MuckRock @muckrock.com · 13/05/2026
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
us02web.zoom.us
Building with MuckRock
Miss this session at NICAR 2026? Join this session of Building with MuckRock!
021 2
Alex Garcia @alexgarcia.xyz · 12/05/2026
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...
We had a few revisions of the postmortem with this included, but ultimately felt premature to include given how quickly we released this notice.

That's not to say that we're not working hard on preventative work, however. We:

- [x] Temporarily removed the cache from our PNPM setup

- [x] Removed all caches from GitHub Actions

- [x] Locked down all GitHub actions on the org to commit IDs instead of version numbers

- [x] Enforced non-SMS GitHub 2FA (NPM & GitHub 2FA was already enforced, but SMS was previously allowed)

- [x] Removed all usage of `pull_request_target` from our CI pipeline (already wasn't in our CD)

- [ ] Are introducing `zizmor` as action linting to every repo via a PR check

- [ ] Are likely introducing `CODEOWNERS` on `.github` folders to restrict merging to only the 7 core maintainers

- [ ] Will replace the PNPM setup cache with `actions/cache/restore`, which has more secure defaults

- [ ] Will replace the PNPM setup cache to be isolated between release and PR envs

- [ ] May close the ability to make a TanStack PR as an external contributor (But we're absolutely not going closed source)

We'll have a follow-up blog post that outlines all of this and how maintainers are able to secure themselves simiarly.
010 1
Alex Garcia @alexgarcia.xyz · 15/04/2026
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...
alexgarcia.xyz
Using libfec for FEC Filing Days, April 2026 Edition
A short guide on using the libfec CLI to cover today's FEC filing deadline
012 2
Alex Garcia @alexgarcia.xyz · 27/03/2026
sqlite-vec mentioned
030 3
Alex Garcia @alexgarcia.xyz · 17/03/2026
a semantic search over embedded images in political emails sounds VERY interesting...
011 1
Alex Garcia @alexgarcia.xyz · 10/03/2026
apparently 191! github.com/paolobozzola...
github.com
GitHub - paolobozzola/spinner-verbs-dictionary: The definitive dictionary of every verb Claude shows while thinking. 191 entries. IPA phonetics. Humorous field sightings. Taken far too seriously. Free...
The definitive dictionary of every verb Claude shows while thinking. 191 entries. IPA phonetics. Humorous field sightings. Taken far too seriously. Free PDF. - paolobozzola/spinner-verbs-dictionary
010 1
Alex Garcia @alexgarcia.xyz · 10/03/2026
ALSO: I made a Google Group for libfec. If you have questions, bug reports, feature requests, or just want to talk about federal campaign finance, check it out! New features and releases for the libfec CLI will be announced here Mailing lists are SO back groups.google.com/g/libfec
groups.google.com
libfec - Google Groups
000 0
Alex Garcia @alexgarcia.xyz · 10/03/2026
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
youtu.be
Introduction to libfec! (NICAR26 re-record)
YouTube video by Alex Garcia
1145 14
Alex Garcia @alexgarcia.xyz · 04/03/2026
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)
Assorted stickers and documents on a desk. One group of stickers says "libfec" in green font. The other group says "Datasette" in purple. One document stack has the title "NICAR26 libfec manual". The document says "libfec cheatsheet".
062 6
Alex Garcia @alexgarcia.xyz · 11/02/2026
Wow, never noticed that the SQLite docs have a sponsor message. Added in November of last year sqlite.org/cli.html
1.2. GUI Alternatives To The CLI

The sqlite3 program is written by and for the core SQLite developers and is the officially supported way to accessing SQLite database files interactively. However, some users might prefer a Graphical User Interface (GUI). Several such programs are available from third-parties. One of those is Visual DB, a sponsor of the SQLite project:

Thanks to Visual DB for helping us make SQLite better for everyone!
010 1
Alex Garcia @alexgarcia.xyz · 30/01/2026
oopsie jk just saw your other reply
010 1
Alex Garcia @alexgarcia.xyz · 30/01/2026
random thought: Could you have a local proxy server that keeps the API key? So you define a `AGENT_FECFILE_URL=localhost:6767`, and separately run a proxy on 6767 that tunnels requests to api.fec.gov?...api_key=SECRET? Would require running a separate service along claude tho
100 1
Alex Garcia @alexgarcia.xyz · 30/01/2026
(other parts of libfec does use an API key tho, like resolving filings from committee IDs in `libfec export`)
000 0
Alex Garcia @alexgarcia.xyz · 30/01/2026
LIBFEC_API_KEY=... But that search interface actually downloads/caches bulk data for local search, so no API key required: www.fec.gov/data/browse-...
fec.gov
Browse data - FEC.gov
Explore current and historic federal campaign finance data on the new fec.gov. Look at totals and trends, and see how candidates and committees raise and spend money. When you find what you need, expo...
100 1
Alex Garcia @alexgarcia.xyz · 30/01/2026
but in general I agree. libfec has a LIBFEC_API_KEY to talk to the fec api, but there's always a way for Claude/Codex to read it. So I can never confidently share a transcript of the conversation without checking everything to avoid leaking something
000 0
Alex Garcia @alexgarcia.xyz · 30/01/2026
Been meaning to reach out to you re agent-fecfile and libfec. Try this: uvx libfec@latest
100 1
Alex Garcia @alexgarcia.xyz · 23/01/2026
I know jq terminal output when I see it
020 2
Alex Garcia @alexgarcia.xyz · 13/01/2026
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
! libfec-dev export C00833129 -o hw-dems.db --clobber
.open hw-dems.db

Finished exporting 10 filings into hw-dems.db, in 1 second
Opened database at hw-dems.db

select sum(col_a_total_receipts)
from libfec_f3x;

sum(col_a_total_receipts)
216605.36
1 column × 1 row

select 
  treasurer_first_name,
  treasurer_last_name,
  treasurer_city,
  treasurer_state
from libfec_f1;


treasurer_first_name	treasurer_last_name	treasurer_city	treasurer_state
Benjamin	Eisenberg	La Canada Flintridge	CA
4 columns × 1 row

select 
  payee_organization_name,
  min(expenditure_date),
  max(expenditure_date),
  sum(expenditure_amount)
from libfec_schedule_b
where expenditure_purpose_descrip = 'General Campaign Consulting'
group by 1


payee_organization_name	min(expenditure_date)	max(expenditure_date)	sum(expenditure_amount)
Summit Campaign Strategies	2023-06-12	2025-06-30	88500
4 columns × 1 row
0112 11
Alex Garcia @alexgarcia.xyz · 20/12/2025
more info here: deno.com/deploy/sandb...
deno.com
Deno Sandboxes
130 3
Alex Garcia @alexgarcia.xyz · 18/12/2025
Agreed that they're burning more than needed — but 2025 isn't an election year. Operating expenses don't really kick in until 2026, no campaigns are buying a ton of ads now. Fundraising + consulting are also especially important for those trying to win in primaries
200 2
Alex Garcia @alexgarcia.xyz · 18/11/2025
this will be a fantastic semantic search demo/benchmark
000 0
Reposted by Alex Garcia
Simon Willison @simonwillison.net · 04/11/2025
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...
simonwillison.net
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. …
3565 56
Alex Garcia @alexgarcia.xyz · 21/10/2025
Seems like Democracy Engine offers "direct giving" services. Maybe this is how they're not required to disclose as earmarked? democracyengine.com/wp-content/u...
democracyengine.com
021 2
Alex Garcia @alexgarcia.xyz · 14/10/2025
whoopsies try alexgarcia.xyz/libfec/getti... !
alexgarcia.xyz
Installing libfec | libfec
Tools to work with campaign finance data from the FEC
000 0
Alex Garcia @alexgarcia.xyz · 14/10/2025
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...
alexgarcia.xyz
I'm working on libfec, a new FEC file parser and CLI tool
Parse federal campaign filings
071 7
Alex Garcia @alexgarcia.xyz · 17/09/2025
Here's a google search of all House websites that reference "utm_source=chatgpt". So ya they're using it a lot www.google.com/search?q=%22... Uses the trick from: bsky.app/profile/alex...
google.com
Google Search
000 0
Alex Garcia @alexgarcia.xyz · 07/07/2025
Datasette Cloud! We've got a "publish this database/table" feature to expose it to the outside world (hit us up and we'll setup the space)
010 1
Alex Garcia @alexgarcia.xyz · 22/06/2025
Would Datasette Cloud be a good option? I'd be happy to help import your stuff to it, and free hosting!
000 0
Alex Garcia @alexgarcia.xyz · 15/04/2025
Here's a google search that uses this trick to find ChatGPT-assisted documents from congress.gov : www.google.com/search?q=sit...
google.com
Google Search
152 5
Alex Garcia @alexgarcia.xyz · 15/04/2025
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.
Screenshot from article that says:

A paragraph on page 29 also cites a fact to a 2024 Gothamist article, and includes the site where the source was generated: ChatGPT.

[23] https://gothamist.com/news/heres-what-nycs-mayoral-candidates-say-about-freezing-the-rent?
utm_source=chatgpt.com
140 4
Alex Garcia @alexgarcia.xyz · 18/02/2025
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)
170 7
Reposted by Alex Garcia
Derek Willis @dwillis.bsky.social · 27/01/2025
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...
thescoop.org
LLM Extraction Challenge: Fundraising Emails – Derek Willis
Academic and journalist
42010 20