Module 04 / 07

Tech and Tools

The tools these teams reach for, current as of 2026.

DUG isn’t a guide for people who want to become data journalists. There are plenty of those, and some are excellent. It’s for the people building the team. Even so, you should know what the work involves and what to look for when you hire. The current toolkit:

Most of the software below is free. Most of what isn’t can be had free with a professional-society membership. (You can get Tableau Desktop with an IRE membership, for example.) In the third column, we point to a good tutorial. There are always others.

The biggest change since this guide first appeared is a shift toward reproducibility. The strongest teams now treat a data story like software, wiring together SQL, Markdown, and version control so an analysis can be rerun, audited, and rebuilt on a schedule. Treat the specific products as provisional: the toolkit turns over fast, so hire and train for transferable foundations (a scripting language, SQL, version control) over any one brand.

Data wrangling & analysis

Tool What it is Learn it
Python / Jupyter General-purpose programming language and interactive browser-based notebooks. The lingua franca of newsroom data work. First Python Notebook
R / RStudio Statistical programming language and desktop IDE (now maintained by Posit). Beloved for analysis and charts. R for Journalists
Google Sheets It's Google Sheets. Still where a lot of good reporting starts. GIJN
polars new Fast, multithreaded DataFrame library. Handles files that make pandas run out of memory. Polars guide
Beautiful Soup Python library for parsing and scraping static HTML pages. palewire scraping
Playwright new Browser automation for scraping JavaScript-heavy sites. The modern default where Selenium used to go. Playwright docs
uv new Fast Python package and environment manager. Increasingly the default in newsroom project templates. uv docs
Google Colab Hosted notebooks with no local setup. The free tier is throttled and metered now, but still handy for teaching. Welcome to Colab

Reproducible reporting: SQL + Markdown + git

Tool What it is Learn it
DuckDB new In-process analytical SQL engine. Query millions of rows of CSV or Parquet locally, or even in the browser. DuckDB docs
Quarto new Reproducible documents, dashboards, and sites in Python, R, or JavaScript. Posit's successor to R Markdown. Quarto guide
Observable Framework new Open-source static-site generator for data apps and dashboards: Markdown plus JavaScript, with build-time data loaders. Framework docs
Evidence new "BI-as-code": write SQL inside Markdown and get interactive charts, deployed straight from a git repo. Evidence docs
git / GitHub Version control. We've heard it again and again: it is the saving grace of data projects. Learn it early. Learn Git Branching
GitHub Actions new The glue layer for scheduled scrapers and automated builds. Rebuild a page, or re-run a scraper, on a cron. Actions docs

Data visualization

Tool What it is Learn it
Datawrapper The workhorse for no-code, embeddable charts, maps, and tables. Sensible defaults out of the box. Datawrapper Academy
Flourish No-code charts plus scrollytelling and animated templates. Flourish help
RAWGraphs Open-source tool for less-common chart types. Now on version 2. RAWGraphs learning
ggplot2 R's grammar-of-graphics plotting library. Publication-quality charts from code. ggplot2 book
matplotlib The foundational Python plotting library. Real Python
D3.js / Observable Plot new D3 for fully bespoke interactive graphics; Observable Plot for fast exploratory charts from the same team. Observable Plot
QGIS Free, open-source desktop GIS for mapping and spatial analysis. QGIS Tutorials
Tableau Drag-and-drop visual analysis. Tableau Desktop is free with an IRE membership. Coursera
Adobe Illustrator Professional finishing and annotation for print and static graphics. Adobe tutorials

Web & infrastructure

Tool What it is Learn it
HTML / CSS The web's markup and styling languages. Non-negotiable for anyone publishing interactives. MDN Learn
JavaScript The language of the browser, and of most modern news graphics. javascript.info
Svelte / SvelteKit new Lightweight, compiled framework that has become a newsroom favorite for graphics and scrollytelling. Svelte tutorial
React Widely used JavaScript library for building interfaces and larger news apps. React docs
Django Python web framework, still common for database-backed news applications. Django Girls
Node.js / npm JavaScript runtime and package ecosystem that underpins most build tooling. Node.js docs
Amazon Web Services Cloud hosting and storage for bigger builds. (Static hosts like Netlify and Cloudflare Pages cover most needs.) Coursera

Don’t reinvent the newsroom

Software won’t get you all the way there. You also need organizational processes and pipelines. The specifics vary with your team’s preferences, but the good news is that lots of smart people have formalized these frameworks and given them away. Rather than build a page generator from scratch, start from one a newsroom already maintains:

(If you find the LA Times’ django-bigbuild referenced online, it was archived in 2020. The field moves; check that a template is still maintained before you build on it.)

Nearly everyone on a data team should know git. We’ve heard it again and again, and found it ourselves: version control is what keeps data projects from falling apart.