NPR visuals team blog
Web developmentJavaScript / TypeScriptGraphicsEngineering blogs
- Posts
- 147 from 8 Nov 2012 to 26 Aug 2026
- Posting
- now and then (5 in the last year)
- Kind
- company blog
- Feed
- https://blog.apps.npr.org/atom.xml
2026 5
2025 2
2024 3
2023 1
2022 2
2021 5
2020 8
- How we did it: The 2020 general election rig
- Photo, Video, Design and Code: Apply for Winter/Spring 2021 Internships at NPR
- Four lessons from a 10,000-mile internship journey
- Be our design/dev intern for Fall 2020!
- Custom elements in NPR's primary coverage
- What makes a great photo editing intern (Apply now for Summer 2020!)
- Be our design/dev intern for Summer 2020!
- How I made this graphic: a comic
2019 15
- Outside of a dog: Rebuilding the NPR Book Concierge
- Flow control: Building accessible video for ‘After the Water’
- What makes a great photo editing intern (Apply now for Winter/Spring 2020!)
- Be our design/dev intern for winter/spring 2020!
- How we did it: Heat and income in U.S. cities
- Retrospective: WBEZ's summer recommendations
- Join NPR News Apps for Elections 2020
- What makes a great photo editing intern (Apply now for Fall 2019!)
- Be our design/dev intern for fall 2019!
- How we built White Lies
- Reading between the █████
- How to setup Windows to develop news apps
- What makes a great photo editing intern (Apply now for Summer 2019!)
- Be our design/dev intern for summer 2019!
- Dailygraphics: Updates and upgrades for 2019 and beyond
2018 13
- Blue and Red America: How we built it
- What makes a great photo editing intern (Apply now for Spring 2019!)
- Be our design/dev intern for spring 2019!
- No Longer Available — We're Looking For A News Apps Designer (Contract)
- Take our playbook: NPR’s guide to building immersive storytelling projects (Published by NPR Training (training.npr.org))
- What makes a great photo editing intern (Apply now for fall 2018!)
- Be our design/code/?? intern for fall 2018!
- No Longer Available: We're hiring a news apps developer!
- What makes a great photo editing intern (Apply now for summer 2018!)
- Pym.js security alert
- Be our design/code/?? intern for summer 2018!
- No longer available — Contract News Apps Developer
- How we approached data cleaning for our listeners' favorite albums of 2017
2017 11
- A beginner's guide to spatial audio in 360-degree video (Published by NPR Training (training.npr.org))
- No longer available — We're Looking For A Graphics Editor Or News Apps Developer (Contract)
- What makes a great photo editing intern (Apply now for Spring 2018!)
- Spring 2018 Designer Developer Internship
- No longer available — We're looking for a contract news apps developer
- Pym.js v1.3.0 release: scroll tracking
- What makes a great photo editing intern (Apply now for Fall 2017!)
- Be our design/code/??? intern for fall 2017!
- Subverting the story model (Published At Source (source.opennews.org))
- What makes a great photo editing intern (Apply now for Summer 2017!)
- Be our design/code/??? intern for summer 2017!
2016 12
- How we cleaned up and ranked our listeners' favorite albums of 2016
- How NPR transcribes and fact-checks the debates, live (Published At Source (source.opennews.org))
- What makes a great photo editing intern (Apply now for Winter/spring 2017!)
- Be our design/code/??? intern for winter/spring 2017!
- Pym.js v1.0.0 release: What do you need to know
- How we built a VR project using web technologies
- Useful scraping techniques
- A better way to track listening
- Why should I Carebot? (Published At The Carebot Blog (thecarebot.github.io))
- What makes a great photo editing intern (Apply now for Fall 2016!)
- Be our design/code/??? intern for fall 2016!
- Lunchbox update: We're dropping support for electron
2015 30
- Be our design/code/??? intern for summer 2016!
- What makes a great photo editing intern (Apply now for Summer 2016!)
- We're looking for a developer to help us build Carebot
- Introducing Elex, a tool to make election coverage better for everyone (Published At Source (source.opennews.org))
- Do visual stories make people care?
- We're hiring a developer!
- The Pympocalypse
- Introducing Agate: A better data analysis library for journalists (Published At Source (source.opennews.org))
- Parsing complex social study data
- How to apply to an internship at NPR Visuals
- Work with us this summer!
- It's time for you to discover your mission.
- How to apply for an internship at NPR Visuals
- What's new in our first release version of the dailygraphics rig?
- Work with us this fall!
- We're hiring a designer!
- Better, faster, more: recent improvements to our dailygraphics rig
- Better, faster, more: recent improvements to our dailygraphics rig
- Simplifying map production
- Let’s tesselate: Hexagons for tile grid maps
- Tech note: Connecting to an Amazon RDS database from a legacy EC2 server
- Audio in the browser: Horrors and joys (Published At Source (source.opennews.org))
- Better, faster, more: recent improvements to our dailygraphics rig
- Making small multiples maps with invar
- The Evolution of NPR's Picture Stories (Published At Source (source.opennews.org))
- Switching to OAuth in the App Template
- Multivariate testing: Learning what works from your users at scale
- Work with us this summer!
- Baking Chart Data Into Your Page
- Putting Radio On The Television
2014 25
- Responsive Graphics In Core Publisher With Pym.js
- Improving User Engagement Through Subtle Changes: Updating the Book Concierge
- Book Concierge Update
- Three interesting code snippets from NPR's Election Party
- Apply NOW for a spring internship with NPR Visuals
- How to Setup the NPR App Template for You and Your News Org
- A reusable data processing workflow
- Work In Public! (Or, why you really should consider being NPR's Knight-Mozilla fellow!)
- Everything our app template does: July 2014 edition
- Be our fall intern!
- How we work
- All About The Dailygraphics Rig From NPR (Published At Source (source.opennews.org))
- Managing Instagram Photo Call-Outs
- Creating And Deploying Small-Scale Projects
- Responsive Charts With D3 And Pym.js
- Making Data Tables Responsive
- How We Built Borderland Out Of A Spreadsheet
- Introducing copytext.py: your words are data too
- Introducing Pym.js (Published At Source (source.opennews.org))
- We're hiring a picture editor
- Be our summer intern!
- Making Remote Work Work (Published At Source (source.opennews.org))
- Animation With Filmstrips
- We're hiring a web developer
- How And Why Cross-Disciplinary Collaboration Rocks (Published At Source (source.opennews.org))
2013 9
- The Book Concierge: Bringing Together Two Teams, Nine Reporters, And Over 200 Books
- Collaborating On The T-Shirt Project (Published At Source (source.opennews.org))
- How We Made Lobbying Missouri (Published At Source (source.opennews.org))
- Network Diagrams Are Hard (Published At Source (source.opennews.org))
- Complex But Not Dynamic: Using A Static Site To Crowdsource Playgrounds
- How to Set Up Your Mac to Develop News Applications Like We Do
- User-generated graphics in the browser with SVG
- Be our summer intern!
- How to build a news app that never goes down and costs you practically nothing