Charles Berret
console 

[ 01 / projects ]

Projects

Research, reporting, software, and teaching concerned with how information is gathered, interpreted, protected, and put to use.

Current Work

01

Kettle

Software · Independent · 2026-present

A local review desk where agents prepare work and a person reads, edits, and decides.

Kettle is a local review desk for work prepared with software agents. It gives that work a stable place to arrive, be read closely, and be changed before anything is accepted. The central idea is deliberately modest: agents can prepare drafts, patches, research, and decisions, but a person remains responsible for reading, editing, and deciding.

The interface brings a curated queue, a plaintext editor, and a project-aware review agent into one sitting. Each project keeps its own desk in a .kettle directory, so the review state travels with the work instead of disappearing into a chat transcript. A local API lets other tools submit and inspect items without turning the desk into a hosted service.

The system is split across a small core service, a desktop application, and editor integrations. That separation keeps the underlying review contract usable beyond any one interface. Kettle is being prepared for public release as source code, documentation, and a working example of the review process it is meant to support.

  • Local-first software
  • Human review
  • Agent workflows
  • Plaintext

tags: Local-first software, Human review, Agent workflows, Plaintext

Selected Work

02

Data Journalism

Systems · Enigma · 2025-26

An agentic research pipeline for data journalism: reusable queries, entity resolution, and human review, with published investigations as worked examples rather than the main exhibit.

The main work was not a sequence of one-off stories. It was a research system for data journalism: how to ask questions of a large entity graph, keep the path from source to claim inspectable, hand intermediate results between sessions and tools, and keep a person responsible for judgment before anything published.

I built that pipeline from warehouse queries through local analysis (Databricks, DuckDB, Marimo) and into agent-assisted research workflows that reused the same checks and criteria across topics. The aim was modest and operational: preserve method across sessions, including what was queried, what a result meant, which verification steps had run, and when a human still had to decide.

The public investigations listed below are outputs and stress tests of that system, published under Enigma’s institutional byline. They follow shell companies, mass litigation, licensing carve-outs, and jurisdictional patterns, but they are best read as evidence that the pipeline could carry a story from raw records to a publishable claim. Specific counts and case examples (for instance Schedule A litigation in RECAP, or state registration data joined to federal licensing) live in those pieces; the durable product of the work is the method underneath them.

A separate, unpublished reproduction of the NYC Public Advocate’s worst-landlords methodology came within roughly 15 percent of its published counts. It was a deliberate dry run of the same pipeline against open data, not a public ranking.

Related systems work at Enigma (reusable research skills, entity-resolution clients, and multi-model evaluation) is described under Content Engineering at Enigma.

  • Agent workflows
  • Data journalism
  • Databricks
  • DuckDB
  • Marimo
  • RECAP
  • Entity resolution

tags: Agent workflows, Data journalism, Databricks, DuckDB, Marimo, RECAP, Entity resolution

03

Iceberg Sensemaking

Research · UBC and Linköping University · 2022-25

A process model, written with Tamara Munzner, for the below-the-waterline schemas and judgment that shape any data analysis, kept separate from the newsroom papers Charles co-authored as an academic advisor.

Iceberg Sensemaking, written with Tamara Munzner, starts from a simple problem: data is only the visible part of an analysis. Beneath it are schemas about what exists, what matters, and how observations should be organized. Those schemas may remain tacit, even while they determine what can be collected and what a result can mean.

The model describes analysis as an iterative process of adding, checking, and refining both data and schemas. It treats data as a schematic artifact rather than a neutral representation, and it allows multiple interpretations to remain in play instead of forcing them into a single account. Four scenarios test the model against practical problems: data that was never collected, data wrangling, inconvenient observations, and the apparent objectivity of sensors.

The paper offers analysts a vocabulary for examining their own interpretive work. Its aim is not to make judgment disappear, but to make judgment available for scrutiny.

Related newsroom studies on data preparation and multi-table wrangling (Dirty Data in the Newsroom, Table Scraps, OpenRoundup) were led by Stephen Kasica as doctoral research. Charles appears on those papers as co-author and academic advisor, not as lead author. They are catalogued under Writing with that credit, not as primary exhibits of this project.

  • Critical visualization
  • Sensemaking
  • Data practice
  • Epistemic humility

tags: Critical visualization, Sensemaking, Data practice, Epistemic humility

04

Cryptographic Amnesia

Book · MIT Press · forthcoming

A cultural history of cryptography that follows codes and ciphers from specialized instruments into the infrastructure of everyday communication.

Cryptographic Amnesia asks how cryptography acquired so many civilian purposes and meanings during the twentieth century. Encryption came to protect secrets, verify identity and information, secure commerce, resist surveillance, and organize political life. The book follows that change through the people who made, used, regulated, and argued about codes and ciphers.

The research draws on archives, public records, and long-form interviews with cryptographers and cypherpunks. Rather than presenting a sequence of technical breakthroughs or another history of war and espionage, it treats cryptography as a social practice and a medium of communication. This makes it possible to ask not only whether a system worked, but who trusted it, what kind of relationship it created, and which forms of power it helped to distribute or conceal.

The result is a people’s history of cryptography and a usable past for anyone who now depends on encryption without having chosen the terms of that dependence. Forthcoming from MIT Press.

  • MIT Press
  • Archival research
  • Oral history

tags: MIT Press, Archival research, Oral history

05

Content Engineering (Enigma Technologies)

Software · Enigma · 2025-26

The software side of an agentic research desk: reusable skills, entity resolution, and multi-model evaluation that supported data-journalism investigations.

This is the tooling half of the same problem described under Data Journalism: how to make agent-assisted research durable enough for editorial work. Between Enigma’s data systems and the people using language models to investigate and publish, I built a content-engineering layer: reusable query and research skills, a GraphQL client for resolving business identities, and an MCP server that compared models across providers on the same tasks and criteria.

The point was not to make an agent appear autonomous. It was to preserve the parts of a method that should survive from one session to the next: how to query the entity graph, where a result came from, which checks a claim had passed, and when a person needed to review the work. Scheduled multi-session workflows used explicit handoffs, monitoring, and durable state rather than relying on a single long prompt.

Public-facing outcomes of that stack include launch material for the Enigma Government Archive and Enigma’s KYB Agent on Google Cloud. The investigation pieces linked from the Data Journalism project are worked examples of research run through related pipelines; they were published under institutional bylines. Internal tool counts and architecture details rest on work records and are not independently attributed on those public pages.

  • Claude Skills
  • MCP
  • GraphQL
  • Model evaluation
  • Agent orchestration

tags: Claude Skills, MCP, GraphQL, Model evaluation, Agent orchestration

06

Knowing Together

Art · Brown Institute for Media Innovation and EdLab · 2018-19

A collaborative photogrammetry project in which the seams and distortions of a 3D image record how a group tried to see together.

Created with Rosalie Yu, Knowing Together invited thirty-five participants to form a circle and pass a camera from person to person. Each photograph captured part of the group from a different position. Photogrammetry software combined those partial viewpoints into 3D models, but movement, ambient light, and the handoff between participants prevented the images from resolving cleanly.

We kept the resulting seams, gaps, and distortions. They made the process of collaboration visible inside an image that would otherwise appear to come from a single, stable point of view. Consent and vulnerability were part of the method: participants decided how to present themselves while accepting that the group and the software would produce something none of them could fully control.

The project brought the models together with source photographs, written reflections, audio, and sculpture. It was exhibited at Teachers College in New York and at the ACM SIGGRAPH Art Gallery in Los Angeles, where we presented the accompanying paper in 2019. A later essay, The Lifespan of Ephemera, reflects on what a digital model can preserve of an embodied and temporary encounter.

  • Photogrammetry
  • Collaboration
  • Embodied data
  • 3D imaging

tags: Photogrammetry, Collaboration, Embodied data, 3D imaging

07

Equipment for Living (SFPC)

Teaching · School for Poetic Computation · Spring 2025

A ten-week School for Poetic Computation course about making media as a way to think through memory, ritual, collaboration, and everyday life.

Co-taught with Rosalie Yu, Equipment for Living borrowed its title from Kenneth Burke’s description of art as a source of practical strategies for recurring situations. We asked what that idea might mean for contemporary media: not only what a camera, 3D model, or game engine can represent, but what it can help a person remember, rehearse, share, or survive.

The ten classes paired theories of literature, photography, cinema, and digital media with a technical path from photography through photogrammetry to Unity. Units on communication and persuasion, memory and reflection, ritual and identity, collaboration and community, and dreams and imagination gave each tool a human problem to work on. Rut Karin Zettergren joined the class as a guest artist.

Students completed an essay or creative project that developed one piece of equipment for living and made it available to others. The course was not a general introduction to media software. It treated technical fluency as one part of a larger practice of deciding what is worth making and whom a tool might serve.

  • Teaching
  • Photogrammetry
  • Unity
  • Media theory

tags: Teaching, Photogrammetry, Unity, Media theory

08

SecureDrop

Research · Tow Center for Digital Journalism · 2015-16

The first published study of how SecureDrop entered newsroom routines and changed the practical conditions of protecting anonymous sources.

The Guide to SecureDrop examined both the software and the newsroom practices that made it useful. I interviewed twelve journalists and three technical administrators across ten news organizations, along with five people who built, trained, or supported the system. Nine of the ten news organizations said SecureDrop had proved useful, but most relied on a small number of dedicated operators to check it and move material into ordinary reporting workflows.

That narrow operating model was not simply a sign of failure. SecureDrop asks a newsroom to create a protected route around the identifying traces left by email, phones, and ordinary web services. Its difficulty, the care required to check it, and the public signal sent by offering it all formed part of the protection. A promise to shield a source matters more when the technical system reduces how much the reporter can be compelled to reveal.

The report was the first published study of SecureDrop’s adoption in newsrooms. I later trained reporters in operational security and brought the research into day-to-day editorial practice.

  • Source protection
  • Digital security
  • Journalism
  • Interviews

tags: Source protection, Digital security, Journalism, Interviews

09

Typography and the Web

Writing and Research · Journal of Visual Culture, Google Design, and HTTP Archive · 2014-26

Research and writing on type as both cultural form and technical infrastructure, from the history of Impact to web fonts measured across millions of sites.

My writing about typography follows type across several scales: the history of a single face, the choices built into a font file, and the aggregate behavior of millions of websites. The methods change with the scale, from archival and interview research to technical explanation and empirical analysis.

With Kate Brideau, I traced Impact from metal type through its inclusion in Microsoft’s core fonts for the web to its role as a default in meme generators. The article argues that standards and constraints do not merely make images repetitive. They create a recognizable form within which small changes can become legible.

For Google Design, I wrote an introductory guide to choosing web fonts. For the HTTP Archive’s Web Almanac, I co-wrote the 2024 Fonts chapter with Bram Stein and wrote the 2025 chapter, published in January 2026. Those reports measure the use of web fonts, formats, delivery methods, variable fonts, and writing systems at the scale of the public web. Together, the projects treat typography as something people read, software executes, and culture makes meaningful.

  • Typography
  • Web fonts
  • Media history
  • HTTP Archive

tags: Typography, Web fonts, Media history, HTTP Archive

← overview