The same data can support very different visualizations, and the right one depends on who is reading it. An analyst with an afternoon and a large monitor, a decision-maker with two minutes before a vote, and a member of the public reading a newspaper all need different questions answered, different amounts of detail, and different media. If you ask an agent for “a version for each audience,” it usually returns one design three times with superficial changes. For this assignment, you will get an agent’s baseline designs for three different audiences, take apart what the agent kept the same, specify a substantively different design for each audience, and build them. You are graded on how well you justify your choices and on how distinct and well-fitted the designs are. The number of charts does not directly count.

The Data

Choose one of the two datasets below. Both are in the starter repository under data/, and each folder has a README.md with provenance and field notes. Read it before you start; both datasets include gaps, estimated values, and units that matter for at least one of the audiences.

Option A: Utah air quality. The U.S. Environmental Protection Agency’s AirData Air Quality Index (AQI) files: daily AQI for every monitored Utah county from 2000 to 2025 (with the pollutant that set each day’s value), and annual AQI summaries for every monitored U.S. county over the same years.

Option B: Great Salt Lake. U.S. Geological Survey daily values for lake surface elevation on the south arm (1847 to 2025, sparse and estimated before regular daily records) and north arm (1966 to 2025), and daily discharge for the lake’s three largest tributaries: the Bear, Weber, and Jordan Rivers.

The Audiences

The audiences are fixed. Everyone designs for the same three, so that you can compare your designs with your classmates’ designs for the same reader. Each audience has a setting (how long they look, and where), but the medium is your decision: static or interactive, screen or print, page or slide. Interactive is not automatically better.

Option A: Utah air quality

  1. Analyst. An air-quality planner at the Utah Division of Air Quality preparing the agency’s annual review. They know the AQI, the pollutants, and Utah’s counties well. Their typical type of question: which counties and seasons are responsible for Utah’s unhealthy-air days, which pollutant is responsible in each case, and has that changed since 2000? They will work through your design at a desktop for half an hour or more.
  2. Decision-maker. A parent in Utah County whose child has asthma. They are deciding, e.g., whether to sign the child up for a spring or a fall outdoor soccer season, and how many practices they should expect to move indoors. They know the AQI colors from a weather app but do not know what PM2.5 or ozone are. They will typically look at your design on a phone for under a minute.
  3. Public. Readers of a regional newspaper’s weekend feature asking whether Utah’s air has gotten better since 2000. Readers vary widely in how comfortable they are with numbers. The feature runs in the print edition and online, and readers will typically spend a few minutes with it but may spend more.

Option B: Great Salt Lake

  1. Analyst. A hydrologist at the Utah Division of Water Resources studying how tributary inflow relates to lake level, e.g.: how much each river contributes, how quickly the lake responds to a wet or dry year, and whether the north and south arms behave differently. They know the hydrology and the gauges. They will work through your design at a desktop for half an hour or more.
  2. Decision-maker. A state legislator on the Natural Resources committee who will vote next week on funding to send more water to the lake. They want to know how low the lake is now compared with its history, and whether the recent decline is part of a natural cycle or a longer trend. Their staff may spend an extended period gathering data, but will give them five minutes in a briefing, with a printed handout or a single slide.
  3. Public. A seventh-grade science class (~age 12) that is starting a unit on Great Salt Lake. Your design will be printed as a classroom poster or projected at the front of the room. The teacher wants students to understand why the lake’s level changes.

Getting Started

We will create a starter repository for you under https://github.com/dataviscourse2026. If you can’t find your repository there, contact course staff as soon as possible. It contains:

index.html                  # your name, email, UID; links to your written work; all six designs embedded
data/                       # both datasets, each with a README
step1-audiences.md
step2-baseline/             # the agent's prompt, transcript, three baseline designs, screenshots
step3-baseline-critique.md
step4-specs.md
step5-designs/              # your three designs, screenshots
step6-reflection.md
ai-use.md                   # AI use disclosure

Add your name, email, and UID at the top of index.html. It is the front page of your submission: it links to each step’s written work and embeds the baseline and final design for each audience side by side. Each design folder (analyst/, decision-maker/, public/) needs an index.html entry point. If a design is static, that page should display the image at its intended size. Each markdown file has prompts marking what belongs in each section.

As in Homeworks 1 and 2, serve the repository rather than opening HTML files directly:

$ cd path/to/repo
$ python -m http.server 8000

Then view your submission at http://localhost:8000/index.html.

Steps

1. Read the audiences

Pick your dataset, then write step1-audiences.md. For each of the three audiences, in your own words:

  1. What they already know, and what they do not know, about the subject and about reading charts.
  2. The question, restated as precisely as you can, including the time range, geography, and level of detail it implies.
  3. The takeaway. The one sentence this reader should be able to say after looking at your design. Write it as a claim, not a topic. “Utah’s unemployment rate recovered faster than the national rate after 2010” is a takeaway; “unemployment over time” is not. You may need to look at the data to write it, which is fine.
  4. The setting: how long they look, on what device or surface, and what that rules out.
  5. Acceptance criteria. Two or three statements a person could check by watching this reader use the design, for example “a reader can say within 30 seconds whether the lake is higher or lower than in 1990.”

Once this step is complete, do not edit it afterward. If your thinking changes, record that in step6-reflection.md.

2. Get the agent’s baseline

Start a fresh agent session. Give it the data folder for your chosen dataset (including its README.md) and the three audience descriptions from this page, copied verbatim. Ask it for one visualization for each audience, using a prompt like: “Design and build a visualization of this data for each of the following three audiences.” Do not add your Step 1 analysis, and do not steer the design. You may send follow-up messages only to fix errors that keep a design from running or rendering. Record any you send.

Save:

  • the exact prompt to step2-baseline/prompt.md,
  • the full, unedited transcript to step2-baseline/transcript.md, along with the agent and model you used,
  • each design in step2-baseline/analyst/, step2-baseline/decision-maker/, and step2-baseline/public/, each with an index.html entry point, and
  • one screenshot of each design, at the size its audience would see it, in step2-baseline/screenshots/.

Once this step is complete, do not change anything in step2-baseline/.

3. Critique the baseline

In step3-baseline-critique.md:

Comparison table. Compare the three baseline designs on each of the following dimensions: the question each one answers; the data cut (which rows, which fields, what aggregation); chart form; encoding channels; color; text and annotation; medium and interaction; and size. For each dimension, classify the difference across the three designs as none, cosmetic (the same decision restyled), or substantive (a different decision). Quote or screenshot the evidence for each classification.

Fit to each audience. Check each baseline design against that audience’s acceptance criteria from Step 1. State which criteria it meets and which it fails, and why.

Unrequested defaults. List the decisions the agent made that neither the prompt nor the audience descriptions called for, such as a default palette, a chart type, an aggregation, or a time range. For each, say whether it fits the audience it was applied to.

Complete this step before moving to step 4.

4. Specify your three designs

Write step4-specs.md before you build anything in step5-designs/. For each audience:

  1. Takeaway, carried over from Step 1.
  2. Medium and format. Static or interactive; screen, phone, print, or projection; dimensions. Say why this medium fits this reader’s setting.
  3. Data cut. Which rows and fields, what filtering and aggregation, and why this reader needs this cut and not a finer or coarser one. Say how you handle the gaps and estimated values described in the data README.
  4. Chart form and encodings. The marks and channels, with one line of perceptual justification per channel, as in Homeworks 1 and 2.
  5. Color. The palette type (categorical, sequential, diverging, or a single highlight against neutral), the exact color values, and why that type matches the data and the reader. If you use or reject a convention, such as the EPA’s AQI category colors or blue for water, say why. Say how the design will hold up for a reader with color-vision deficiency (you can check this with Vischeck) and, if it may be printed, in grayscale.
  6. Text and annotation. The title (a statement or a label), the annotations, and the reading level.
  7. What you left out on purpose, and why this reader is better off without it.
  8. Departure from the baseline. What you changed from the agent’s design for this audience, citing your Step 3 critique.

Then fill in the divergence table across your three designs on four dimensions: data cut, chart form, medium and interaction, and annotation strategy. Every pair of designs must differ substantively on at least two of the four. Differences in color, fonts, or titles alone do not count toward this requirement.

A design may contain more than one chart if its audience needs that. Adding charts does not earn credit. Each one has to be justified in the spec like any other choice.

Complete this step before moving to Step 5.

5. Build the designs

Build each design in step5-designs/analyst/, step5-designs/decision-maker/, and step5-designs/public/, each with an index.html entry point. An agent may do all of the implementation. Static designs may be built in any tool, but export them as PNG or SVG and display them from the folder’s index.html.

In step5-designs/screenshots/, save for each design:

  • the design at the size its audience would see it (phone width for a phone design, full page for a print design),
  • the design under a color-vision deficiency simulation, for example from Vischeck or Chrome DevTools (Rendering, Emulate vision deficiencies), and
  • for any design that may be printed, a grayscale version.

If the built design departs from the spec, do not edit step4-specs.md. Record each departure and its reason in step6-reflection.md.

6. Reflect

In step6-reflection.md, keep each section short:

  1. Departures from the spec made during building, and why.
  2. What the baseline got right that you kept, and where.
  3. What the baseline’s sameness suggests about how to prompt an agent for audience-specific design. Two or three sentences, grounded in your Step 3 table.
  4. Any place where your thinking now differs from step1-audiences.md.

Deliverables

Your repository, containing:

  • index.html: name, email, UID, links to the written work, and the baseline and final design for each audience embedded side by side
  • step1-audiences.md: knowledge, question, takeaway, setting, and acceptance criteria for each audience, completed before any agent prompt
  • step2-baseline/: prompt.md, transcript.md, the three baseline designs, and screenshots/, unchanged after the step was complete
  • step3-baseline-critique.md: the comparison table with evidence, fit to each audience, and unrequested defaults
  • step4-specs.md: a spec for each audience and the divergence table
  • step5-designs/: the three designs, each with an index.html, and screenshots/ including color-vision and grayscale checks
  • step6-reflection.md: departures from the spec, what you kept from the baseline, what the baseline’s sameness suggests, and changes in your thinking
  • ai-use.md: the AI use disclosure (see below)

Submission

Submit by committing and pushing to your GitHub repository. Your last commit before the deadline is your submission. There is no separate Canvas upload.

Grading

Every line below is graded from your written files, screenshots, and running designs. The TA will not read your code.

  • 15%: Audiences. For each audience, knowledge, a precise question, a takeaway written as a claim, the setting, and checkable acceptance criteria.
  • 10%: Baseline. Fresh session, verbatim audience descriptions, no design steering, exact prompt and unedited transcript, and screenshots.
  • 20%: Baseline critique. Every dimension classified with evidence. The fit to each audience is checked against the acceptance criteria, and the unrequested defaults are identified.
  • 25%: Design justification. Each choice in each spec is tied to that audience’s knowledge, question, or setting. The data cut and the omissions are argued, not just stated. The divergence table meets the two-of-four requirement.
  • 20%: Creativity and fit. The three designs are distinct in substance, not styling. Each makes at least one justified choice the baseline did not. Each matches its spec (or records the departures) and visibly supports its takeaway.
  • 10%: AI use disclosure. Specific about what each agent produced and what you kept, changed, or rejected, and consistent with the transcripts.

AI Use

Agents are allowed and expected throughout this assignment, for the baseline, for exploring the data, and for implementing your designs. The written reasoning in step1-audiences.md, step3-baseline-critique.md, step4-specs.md, and step6-reflection.md must be your own. You may use an agent to compute values or check facts for them, but not to write them.

In ai-use.md, for each step, state which agent and model you used, what it produced, and what you kept, changed, or rejected and why. Keep it short and specific. “I used an agent to build the designs” is not sufficient. The expected level of detail is something like this: “the agent used a rainbow palette for the analyst’s county heatmap; I replaced it with a single-hue sequential scale because unhealthy-day counts are ordered and the reader needs to compare magnitudes.”