Life expectancy versus GDP per capita, 2022
Richer countries live longer. All 37 countries above $30,000 per person pass 74 years.
Data: Our World in Data, CC BY 4.0, with GDP per capita from the Maddison Project Database 2023, in 2011 international dollars. The Central African Republic is not shown here: its 2022 value in the source, 18.8 years, sits far below every other country.
You can ask an AI assistant for a chart and get it back in seconds, and an AI coding agent can build a whole interactive visualization from a description. So what should a data visualization portfolio show today, and how should you build it? Here is what I would do.
Why do you need a portfolio?
If you work as a data visualization designer or engineer, as a freelancer or inside a company, a good portfolio is not optional. It is how people see the value you bring.
Data visualization is a branch of information design, so explaining your process and presenting your design choices clearly is part of the job. Platforms like Tableau Public, Behance or Observable say little about the constraints of a project, the problems you had to solve and the way you think. If you move from Power BI to D3.js, your work ends up scattered across several platforms with no single entry point. And most people will not download a notebook from GitHub to read it.
Put everything in one place, on your own website, under your own domain name: your explanations, sketches, wireframes, dataset extracts, images and interactive pieces. Everything can be published on your own site now, interactive charts included, so you don't even need the other platforms.
Where should you start?
Find a niche: a subject you care about that has not been drawn a thousand times. Nobody needs the millionth version of the same visualization, and restyling a chart someone else made is not original work, all the more now that AI can do it in seconds. If you can, make the story personal and explain why you care about the subject.
If you work in a company, you work on the company's data, and most of the time that means sales, marketing and so forth. Your portfolio is the opportunity to show what you like, your own style and your own taste, outside of the company. People will find your voice through it.
I started with data visualization, which I had to do for my scientific papers, but I quickly switched to data art in 2013: I wanted to be creative, to break the rules and to put emotion first. My first blog posts were about the Star Wars expanded universe, Pokémon videos on YouTube and the Montreux Jazz Festival archive. The Montreux posts started in 2015, with a map of the festival's artists linked by musical similarity. Four years after that first map, I built Jazz Luminaries from the same archive: a fulldome network of 5,400 jazz, blues and Latin artists connected by more than 30,800 links, which became part of EPFL ArtLab. I still learn from data visualization, and I used to teach it.
What changed with AI?
The chart is no longer the hard part
Today an AI agent can clean the data and write the D3.js code for you. A gallery of good-looking charts proves much less than it used to.
The chart below shows life expectancy in 160 countries from 1950 to 2022, drawn like the rings of a tree. A few years ago, a custom interactive chart like this took real front-end work. This one was built with an AI coding agent.
Life expectancy in 160 countries, 1950 to 2022
It rose in 159 of 160 countries, and the median went from 46 to 74 years.
Each ring is a year, from 1950 at the center to 2022 at the edge, and each slice is a country, colored by region. Within each region, the countries run clockwise from the shortest to the longest life expectancy in 2022. Dark notches are crises, more than half of them wars and mass killings. Hover or tap one to see the event.
The events behind the dark notches
Each line is a year, or a run of years, in which a country's life expectancy fell at least 4 years below the years around it, with the event behind the drop and its Wikipedia page. Of these 57 drops, 33 came during wars and mass killings, 9 with earthquakes and storms, 8 with COVID-19, 6 with famines and 1 with the rise in deaths after the fall of the Soviet Union. The values for the Central African Republic fall in isolated years between 2009 and 2022, and Eritrea's in 1957 and 1958. I could not match these to single events, so they are not listed.
- Ethiopia 1957 to 1958 1958 Tigray famine
- China 1959 to 1961 Great Chinese Famine
- Cameroon 1960 to 1961 Cameroon War
- Indonesia 1965 Indonesian mass killings
- South Sudan 1967 to 1968 First Sudanese Civil War
- Equatorial Guinea 1969 to 1971 rule of Francisco Macías Nguema
- Bangladesh 1970 1970 Bhola cyclone
- Peru 1970 1970 Ancash earthquake
- Bangladesh 1971 Bangladesh Liberation War
- Burundi 1972 to 1973 Ikiza
- Nicaragua 1972 1972 Nicaragua earthquake
- Cyprus 1974 Turkish invasion of Cyprus
- Cambodia 1975 to 1978 Cambodian genocide
- Equatorial Guinea 1975 to 1976 rule of Francisco Macías Nguema
- East Timor 1976 to 1978 Indonesian occupation of East Timor
- Guatemala 1976 1976 Guatemala earthquake
- Lebanon 1976 Lebanese Civil War
- Nicaragua 1979 Nicaraguan Revolution
- El Salvador 1980 Salvadoran Civil War
- Guatemala 1982 Guatemalan genocide
- Lebanon 1982 1982 Lebanon War
- Syria 1982 Hama massacre
- Eritrea 1983 to 1986 famine in Ethiopia and Eritrea
- Ethiopia 1983 to 1986 famine in Ethiopia
- Sudan 1983 to 1985 famine in Darfur
- Afghanistan 1984 to 1985 Soviet war in Afghanistan
- Mozambique 1984 Mozambican Civil War
- South Sudan 1987 to 1988 1988 famine in Bahr el Ghazal
- Armenia 1988 1988 Armenian earthquake
- Liberia 1990 First Liberian Civil War
- South Sudan 1990 Second Sudanese Civil War
- Somalia 1991 to 1992 Somali Civil War and the 1992 famine
- Bosnia and Herzegovina 1992 to 1994 Bosnian War
- South Sudan 1992 to 1993 1993 Sudan famine
- Tajikistan 1992 to 1993 Tajikistani Civil War
- Burundi 1993 Burundian Civil War
- Latvia 1994 rise in deaths after the fall of the Soviet Union
- Rwanda 1994 to 1995 Rwandan genocide
- South Sudan 1995 to 1998 Second Sudanese Civil War and the 1998 famine
- Congo 1997 Republic of the Congo Civil War
- Eritrea 1998 to 1999 war between Eritrea and Ethiopia
- Honduras 1998 Hurricane Mitch
- Sri Lanka 2004 2004 Indian Ocean tsunami
- Myanmar 2008 Cyclone Nargis
- Haiti 2010 2010 Haiti earthquake
- Somalia 2011 2011 drought and famine
- South Sudan 2014 to 2017 South Sudanese Civil War
- Syria 2015 Syrian civil war
- Armenia 2020 Second Nagorno-Karabakh War and COVID-19
- Bolivia 2020 to 2021 COVID-19
- Ecuador 2020 COVID-19
- Botswana 2021 COVID-19
- Cuba 2021 COVID-19
- Lebanon 2021 COVID-19
- Mexico 2021 COVID-19
- Paraguay 2021 COVID-19
- Peru 2021 COVID-19
Data: Our World in Data, CC BY 4.0, from UN World Population Prospects and the Human Mortality Database. The one exception, the Central African Republic, has a 2022 value of 18.8 years in the source.
Taste and truth still matter
For me, the big change is this:
What matters now is less your technical ability and more your ability to create, and to be true to the data.
Being true to the data means knowing where it comes from and what it leaves out, and refusing a beautiful chart that says something the data does not.
You still need the basics. Read the books and learn the theory, because that is how you build the judgment to see when a chart misleads. Here is the same data drawn badly, then fixed one step at a time.
Life expectancy data
Period life expectancy at birth, in years, 2023
Period life expectancy at birth, 2023. Data: Our World in Data, CC BY 4.0.
Search engines and AI assistants read your site
Search engines read your website, and so do AI assistants that search the web, such as ChatGPT. Optimizing for them is sometimes called GEO, for generative engine optimization, next to classic SEO.
Both read text. An image of a chart tells them very little, while a paragraph that says what the data is, where it comes from and what you found can be indexed, quoted and linked back to you. Your own domain is the address those links point to, and it stays yours when you change jobs or hosts.
Building your own site got easier
You no longer need to be a front-end developer to build your own site. With a static site generator and an AI coding assistant, you describe the pages you want and review the code it writes. A static site is a folder of plain HTML files, with no database or plugins to keep up to date, so there is little to maintain, and it loads fast, which helps with search. This year I moved my own site from Webflow to a static site built with Eleventy, and I now work on it with AI coding assistants. The charts in this article run on it.
What should go on each project page?
For each project, write a page that answers these questions in plain text:
- What was the question or the brief?
- What data did you use, where did it come from, and what are its limits?
- What did you try first? Sketches and wireframes count.
- Which design choices did you make, and why?
- What was the result?
The same questions work for data art. For Circadian Rhythms, a data art commission from Polar, the data was more than 2 million biometric data points on sleep, activity and heart rate. The main design choice was the circle: each visualization mirrors the 24-hour clock and the shape of a watch dial, and color, shape length and rhythm show each person's daily pattern. Writing down why you chose a form like this tells a reader how you think.
How would I build a portfolio website today?
If I had to make a data visualization portfolio from scratch today, this is how I would do it:
- Buy a domain name with your first and last name, firstnamelastname.com, if it is available. If you change jobs or careers, people will still find you. It costs about 10 euros or dollars a year.
- Ask an AI coding assistant to set up a static site with a generator such as Eleventy, Hugo or Astro: a home page, an about page and one page per project.
- Host it on a service for static sites, such as GitHub Pages, Netlify or Cloudflare Pages, and point your domain to it. Make sure people see your own domain, not name.github.io.
- Write each project page in plain text, following the questions above, and add your images. Publish the interactive versions on the same site, as pages of their own.
- Give every page a clear title and a one-sentence description, so search engines and AI assistants know what it is about.
Done.