<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Working Notes — Tony Jiang</title><description>I’m Tony, a frontend engineer. This is where I write about things I’m figuring out — technical decisions, side projects, and whatever else seems worth putting into words.</description><link>https://devlog.example.com/</link><language>en-us</language><item><title>Gym App Continued</title><link>https://devlog.example.com/writing/gym-app-continued/</link><guid isPermaLink="true">https://devlog.example.com/writing/gym-app-continued/</guid><description>Taking the gym app&apos;s plain interface to a full dashboard, and building my own design system along the way.</description><pubDate>Wed, 09 Sep 2026 16:17:43 GMT</pubDate><category>design</category><category>frontend</category></item><item><title>Using the Places API and OSM to look for venue types</title><link>https://devlog.example.com/writing/places-api/</link><guid isPermaLink="true">https://devlog.example.com/writing/places-api/</guid><description>Why searching Google Maps for a venue type doesn&apos;t return every venue of that type, and using the Places API and OpenStreetMap to find them instead.</description><pubDate>Wed, 02 Sep 2026 16:17:43 GMT</pubDate><category>maps</category><category>data</category></item><item><title>Gym App - a case in business logic</title><link>https://devlog.example.com/writing/gym-app/</link><guid isPermaLink="true">https://devlog.example.com/writing/gym-app/</guid><description>Using a product requirements document and Claude Code to work through the business logic of a class-booking app: the questions it forced, and what writing the business down taught me.</description><pubDate>Fri, 21 Aug 2026 16:17:43 GMT</pubDate><category>ai</category><category>product</category></item><item><title>Ironworks Register Design Study</title><link>https://devlog.example.com/writing/ironworks/</link><guid isPermaLink="true">https://devlog.example.com/writing/ironworks/</guid><description>A design study in skeuomorphism: a newspaper-style interface built with ChatGPT, v0 and Claude Code, and what each tool was good for.</description><pubDate>Thu, 20 Aug 2026 16:17:43 GMT</pubDate><category>design</category><category>ai</category></item><item><title>CSS Modules vs Tailwind for a Component Library</title><link>https://devlog.example.com/writing/css/</link><guid isPermaLink="true">https://devlog.example.com/writing/css/</guid><description>When you ship styles that someone else&apos;s project has to consume, the usual trade-offs sharpen. How CSS Modules and Tailwind compare for a component library, and which to pick.</description><pubDate>Fri, 15 May 2026 04:00:00 GMT</pubDate><category>frontend</category><category>css</category></item><item><title>Web Security: CSRF, CORS, CSP, and XSS</title><link>https://devlog.example.com/writing/web-security/</link><guid isPermaLink="true">https://devlog.example.com/writing/web-security/</guid><description>XSS, CSRF, CORS and CSP, explained together: which are attacks and which are defenses, what frontend developers do about each, and what interviews actually ask.</description><pubDate>Sun, 29 Mar 2026 17:52:46 GMT</pubDate><category>security</category><category>frontend</category></item><item><title>Building a Language-Learning App from Scratch</title><link>https://devlog.example.com/writing/srs-app/</link><guid isPermaLink="true">https://devlog.example.com/writing/srs-app/</guid><description>Building a spaced-repetition vocabulary app end to end: the SRS engine, lemmatization, AI-generated example sentences, auth, and deployment.</description><pubDate>Sat, 28 Mar 2026 16:17:43 GMT</pubDate><category>python</category><category>ai</category><category>nlp</category></item></channel></rss>