Sign in

parkie-doo

@parkie-doo.sh
1.1K followers 193 following 117 posts

PhD Candidate at UC Berkeley EECS // Programming Languages • Human-Computer Interaction • Visualization • Cartography // Building alpha.cartokit.dev Software Engineer at @gristnews.bsky.social // Maps • Data • Graphics • Code

PostsRepliesMedia
parkie-doo @parkie-doo.sh · 22/09/2026
Out now in cartokit v0.22.0 — full, automatic codegen for your map to a (JS / TS) @vite.dev project! Analyze and style your data in cartokit, then export it to a ready-to-use Vite project when you want to modify or deploy the code yourself. Free to use today on alpha.cartokit.dev 🗺️
020 2
parkie-doo @parkie-doo.sh · 29/07/2026
It’s Top 9, Giants down 8-2 to Milwaukee, and the tarps are off to the tune of “Fuck the Dodgers 👏👏👏👏👏”
000 0
parkie-doo @parkie-doo.sh · 16/06/2026
Now out in v0.19.1 of cartokit — remote PMTiles support! Paste a link to your (tippecanoe-generated) PMTiles archive and visualize, say, 8 billion building footprints in <1 second! As always, comes with full code generation for both MapLibre GL JS and Mapbox GL JS in JavaScript or TypeScript.
000 0
parkie-doo @parkie-doo.sh · 20/05/2026
Getting our bell rung 11-2 on Opening Day but it doesn’t matter because the Ballers are back in season 💚💛
A view from the bleachers at Opening Day for the Oakland Ballers.
050 5
parkie-doo @parkie-doo.sh · 02/04/2026
It's been awhile since a big cartokit release, but today's the day. Starting in v0.17.0, you can now download, save, and upload maps you've made in cartokit! Critically, maps are *just files*. Slack, email, text the file to a collaborator and they can see your same map instantly. No account needed!
000 0
parkie-doo @parkie-doo.sh · 09/02/2026
A lovely new feature added to cartokit by @arfamomin.bsky.social—importing data from the cartokit Data Gallery! Now, you don't need to have geospatial data on hand to get started playing with cartokit—just use some of ours 😄 More datasets coming soon! Credit to Arfa for the idea and implementation!
000 0
parkie-doo @parkie-doo.sh · 03/11/2025
Out today on @highcountrynews.org—a look at the disparate impacts of PG&E's fast-trip outages on rural Californians, featuring reporting by Emma Foehringer Merchant and @mariaparazorose.bsky.social and graphics by yours truly 🙌 An honor to work on this one—give it a read! www.hcn.org/issues/57-11...
031 3
parkie-doo @parkie-doo.sh · 08/09/2025
Another new UI detail on alpha.cartokit.dev — smart tooltips 💅 Smart tooltips: • Dynamically determine the topmost interactable layer under the mouse and only show attributes of that layer. • Perform screen edge detection and pick a space-optimal placement. • Can be turned on/off per layer. Zing!
010 1
parkie-doo @parkie-doo.sh · 02/09/2025
Some nice new UI 🧈 in latest cartokit—UI tooltips and keybindings. I love the feel of Figma's keybindings so much, so I added a whole host to cartokit. It's wild how much faster you can navigate the interface! Out now on alpha.cartokit.dev 💅
020 2
parkie-doo @parkie-doo.sh · 28/08/2025
Out today—a new interactive I worked on with @compatibilism.bsky.social mapping lead pipes in Chicago. You can use this tool to check any water service line in the city for lead, and explore how lead exposure overlaps with race and class. Check out the full piece: grist.org/accountabili...
192 9
parkie-doo @parkie-doo.sh · 01/08/2025
Now out in limited preview on alpha.cartokit.dev — edit your map using natural language with GPT 4.1! Our integration leverages cartokit's deterministic code generation, so generated programs are _always_ valid. Want access? Consider signing up for our user study! forms.gle/4sUjSqSEEy7N...
100 1
parkie-doo @parkie-doo.sh · 22/07/2025
One of the hardest parts of cartography is constructing the visual hierarchy for your base and data layers. Now out in alpha.cartokit.dev v0.14.0—support for 5️⃣0️⃣ different basemaps (or your own custom one)! Seamlessly shift between styles to see what works best with your data.
010 1
parkie-doo @parkie-doo.sh · 21/07/2025
A long time coming—cartokit v0.13.0 introduces support for heatmaps! Available now up on alpha.cartokit.dev.
010 1
parkie-doo @parkie-doo.sh · 05/06/2025
Doing the absolute corniest thing possible but damn it if I didn't earn the right.
050 5
parkie-doo @parkie-doo.sh · 28/04/2025
Very chuffed and excited to share that my paper with Justin Lubin and @schasins.bsky.social, "Fast Direct Manipulation Programming with Patch-Reconciliation Correspondence", is set to appear at PLDI '25 in Seoul! More details and a pre-print for folks coming soon 👀
A screenshot of the first page of our upcoming publication, "Fast Direct Manipulation Programming with Patch-Reconciliation Correspondence", to appear at PLDI 2025.
052 5
parkie-doo @parkie-doo.sh · 25/04/2025
ICYMI last week, some amazing (and frightening) reporting on warehouses leaking ethylene oxide. I got to work with @gristnews.bsky.social's video producer, Jesse Nichols, to build this scroll-linked animation showing how ethylene oxide off-gassing works, exposing folks to the toxic carcinogen.
141 4
parkie-doo @parkie-doo.sh · 05/03/2025
Now out in cartokit v0.10.0—undo + redo! Move through map versions without losing any past edits! This was a super fun feature to implement. I also love that we support more "difficult" undo cases, like backing out destructive updates that change the underlying geometry 💅
030 3
parkie-doo @parkie-doo.sh · 04/02/2025
An extremely exciting addition to cartokit v0.9.0—globe support 🌎 You can now interactively toggle between globe and web mercator using the switch in our fancy new toolbar 💅
000 0
parkie-doo @parkie-doo.sh · 28/01/2025
Newly landed in cartokit v0.8.0—TypeScript support! You can now interactively generate any combination of MapLibre GL JS, Mapbox GL JS, TypeScript, and JavaScript for your map, and switch between them instantaneously. I'll also post a technical deep-dive into how this works tomorrow 👀 Stay tuned!
021 2
parkie-doo @parkie-doo.sh · 23/12/2024
I'm especially proud of this section, where we use the language of the original cession text (excerpted from Yakama Nation v. Klickitat Cnty.) to trace the boundaries of the reservation as defined in 1855. We also tie the highlighting of the text to the scroll—an effect I'm thrilled we pulled off.
100 1
parkie-doo @parkie-doo.sh · 23/12/2024
On Friday at @gristnews.bsky.social, we published a deep dive into the efforts of Yakama Nation to win back land wrongfully held by Washington State — and the legal morass that has ensued: grist.org/indigenous/s... As part of the piece, I built this interactive visualizing the story of Tract D.
173 7
parkie-doo @parkie-doo.sh · 09/12/2024
cartokit v0.6.0 and v0.6.1 come with an exciting update—codegen support for MapLibre GL JS! You can now interactively change the compiler's backend to translate programs seamlessly between Mapbox GL JS and MapLibre GL JS. Come with data and let cartokit handle the code! github.com/parkerziegle...
010 1
parkie-doo @parkie-doo.sh · 03/12/2024
And for my UI/UX/web dev folks out there, I'm just really proud of making this whole thing work nicely on mobile. It's A LOT to pack all of this onto a phone screen (maps with additional graphics always are), and this drawer animation and map controls placement made my heart sing a lil' song.
100 1
parkie-doo @parkie-doo.sh · 03/12/2024
Finally, a big underrated feature is that you can search not only by place name but also by (lat, lon)! Given that so many of these parcels are in quite rural areas, being able to dial in on an exact point location is crucial. Credit to @tahtone.bsky.social for requesting this feature way back!
100 1
parkie-doo @parkie-doo.sh · 03/12/2024
You can also click on individual parcels (over 40k in total!) to see their land uses, rights type, and acreage. Because so many surface and subsurface parcels overlap, we give you a little paginated tooltip so you can see details of each parcel.
100 1
parkie-doo @parkie-doo.sh · 03/12/2024
In a similar vein, the rights type view colors each parcel according to whether the rights to the land are surface or subsurface rights. As the piece explains, cases where tribes maintain surface rights but an external lessee holds subsurface rights can be especially pernicious.
100 1
parkie-doo @parkie-doo.sh · 03/12/2024
My favorite feature is the land use view, which allows you to see spatial variation in resource extraction across reservations. Every parcel is colored according to the category of its known land uses—mining, fossil fuels, renewables, etc. The striping / hatching indicates multiple land uses.
121 2
parkie-doo @parkie-doo.sh · 03/12/2024
A few months back @gristnews.bsky.social, we published a big investigation into state trust lands on reservations and the extractive practices occurring on those parcels. I worked on the main interactive map for the piece, which allows you to explore 2 million acres of these trust lands in detail 🧵
153 5
parkie-doo @parkie-doo.sh · 05/11/2024
You're probably gonna see a lot of maps tonight. If you happen to need to program one, we've got you covered at alpha.cartokit.dev! Get started here: docs.cartokit.dev/get-started/ (Oh, and here's the TX 2020 Senate vote breakdown by county, in 39 seconds.)
021 2
parkie-doo @parkie-doo.sh · 18/07/2024
Exciting day for cartokit—we have an initial docs site! docs.cartokit.dev The Get Started guide walks you through creating an exact replica of the choropleth example from the D3 docs, all without writing 𝘢 𝘴𝘪𝘯𝘨𝘭𝘦 𝘭𝘪𝘯𝘦 𝘰𝘧 𝘤𝘰𝘥𝘦 yourself 💅
A screenshot of the hero on the cartokit docs site.
001 1
parkie-doo @parkie-doo.sh · 27/02/2024
A little nugget from last week's alpha.cartokit.dev release—support for custom vector tile basemaps! Just pass a url to a MapLibre style spec or add the JSON spec directly and you're off to the races. Something like this cheeky orange-blue variant on Stamen's Toner tiles is just a click away.
A screenshot of alpha.cartokit.dev showing the interface for adding custom vector tile basemaps via a JSON specification. The background basemap is a variant of Stamen's toner tiles using a light blue for water features and an orange for land cover.
000 0
parkie-doo @parkie-doo.sh · 30/11/2023
Just released on alpha.cartokit.dev — support for LineString geometries! Here we render 155,158 rivers in south and east Asia 😱 With map type transitions, we can also switch from simple lines to a proportional symbol map showing flow accumulation at each river's centroid.
A map developed in cartokit showing rivers of south and east Asia visualized by their flow accumulation.
000 0
parkie-doo @parkie-doo.sh · 27/09/2023
Slides for my Strange Loop talk, "Supporting Data Journalism through Compilers for Visual Inputs", are up! parkie-doo.sh/slides/stran... Very excited to share the talk video when it comes out (and even more excited to watch all the incredible talks I missed)!
The title slide for a talk entitled, "Supporting Data Journalism through Compilers for Visual Inputs." Above the words "data journalism" are three screenshots of published graphics. Beneath the word "compilers" is a depiction of a source program being transformed to a target program. Beneath the words "visual inputs" are three examples of SVG-based data visualizations.
000 0
parkie-doo @parkie-doo.sh · 24/09/2023
So long St. Louis and Strange Loop! It was a pleasure to see old friends, make a lot of new ones, and share my ideas with such a vibrant and warm community. As an engineer and a researcher, Strange Loop has always felt like an incomparable homecoming. I’m gonna miss it.
A photograph of the audience before my talk, “Supporting Data Journalism through Compilers for Visual Inputs.” In the foreground is a laptop in presenter mode.
010 1
parkie-doo @parkie-doo.sh · 21/09/2023
Putting the last bits of plane polish on my Strangeloop talk tomorrow! If you're into graphics, compilers, and imagining what new programming tools for data journalism could like, come thru (4:35pm, US Grand ABC)!
The title slide for a talk entitled, "Supporting Data Journalism through Compilers for Visual Inputs." Above the words "data journalism" are three screenshots of published graphics. Beneath the word "compilers" is a depiction of a source program being transformed to a target program. Beneath the words "visual inputs" are three examples of SVG-based data visualizations.
000 0
parkie-doo @parkie-doo.sh · 13/09/2023
It's been a while since I've shared updates on reviz, but here's a big one! 🌟 We've developed a Chrome extension! 🌟 With the extension, you can reverse engineer SVG-based data visualizations into editable Observable Plot programs without leaving the browser!
A screenshot of the reviz Chrome extension reverse engineering a data visualization published in the New York Times. On the right, a user has uploaded a dataset to the extension; simultaneously reviz has generated an output visualization that looks like the original graphic but uses the user-uploaded data.
110 1