<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Graham Wright</title><description>A non-profit leader committed to learning, building, and sharing in public. Technology, creativity, growth, and mission-driven work.</description><link>https://graham-wright.com/</link><item><title>Conversations with Program Notes</title><link>https://graham-wright.com/posts/conversations-with-program-notes/</link><guid isPermaLink="true">https://graham-wright.com/posts/conversations-with-program-notes/</guid><description>An early look at natural-language search across 145 years of BSO program notes. Asking questions of our music history in ways we&apos;ve never been able to ask before.</description><pubDate>Mon, 20 Apr 2026 12:00:00 GMT</pubDate></item><item><title>The Promise of AI Productivity</title><link>https://graham-wright.com/posts/the-promise-of-ai-productivity/</link><guid isPermaLink="true">https://graham-wright.com/posts/the-promise-of-ai-productivity/</guid><description>A UC Berkeley study found AI tools made employees work more, not less. I don&apos;t fully agree, but there are takeaways helping shape an AI pilot at the BSO.</description><pubDate>Sat, 04 Apr 2026 12:00:00 GMT</pubDate></item><item><title>AWS Imagine Nonprofit 2026: Notes and Takeaways</title><link>https://graham-wright.com/posts/aws-imagine-nonprofit-2026/</link><guid isPermaLink="true">https://graham-wright.com/posts/aws-imagine-nonprofit-2026/</guid><description>Notes from AWS Imagine for Nonprofits 2026. AI governance rooted in mission values, the Jane Goodall Institute&apos;s document processing pipeline, and getting AI into workflows.</description><pubDate>Sun, 22 Mar 2026 12:00:00 GMT</pubDate></item><item><title>Snowflake Data for Breakfast Boston 2026: Notes and Takeaways</title><link>https://graham-wright.com/posts/snowflake-data-for-breakfast-boston-2026/</link><guid isPermaLink="true">https://graham-wright.com/posts/snowflake-data-for-breakfast-boston-2026/</guid><description>Notes from Snowflake Data for Breakfast Boston 2026. A three-pillar AI framework, why the semantic layer matters, and a real-world unstructured data pipeline built on Cortex Search.</description><pubDate>Tue, 17 Mar 2026 12:00:00 GMT</pubDate></item><item><title>Images — Responsive, Modern, and Good Enough for Now</title><link>https://graham-wright.com/posts/images/</link><guid isPermaLink="true">https://graham-wright.com/posts/images/</guid><description>CSS Grid breakout layout for Medium-style image sizing, a Figure component for captions and lazy loading, and the decision to defer optimization until the content demands it.</description><pubDate>Sat, 07 Mar 2026 12:00:00 GMT</pubDate></item><item><title>Open Formats, Commercial Compute</title><link>https://graham-wright.com/posts/open-formats-commercial-compute/</link><guid isPermaLink="true">https://graham-wright.com/posts/open-formats-commercial-compute/</guid><description>Why open data formats — Apache Iceberg in particular — have become central to how I think about data platform decisions. Not a migration story. A question about optionality.</description><pubDate>Sat, 07 Mar 2026 12:00:00 GMT</pubDate></item><item><title>The Invisible Features</title><link>https://graham-wright.com/posts/seo-rss-sitemap/</link><guid isPermaLink="true">https://graham-wright.com/posts/seo-rss-sitemap/</guid><description>The parts of a site no visitor sees but search engines, feed readers, and social platforms depend on — structured data, syndication, and discoverability.</description><pubDate>Thu, 05 Mar 2026 12:00:00 GMT</pubDate></item><item><title>Layout and Navigation</title><link>https://graham-wright.com/posts/layout-navigation/</link><guid isPermaLink="true">https://graham-wright.com/posts/layout-navigation/</guid><description>Why heading hierarchy, landmarks, and keyboard flow get attention first. Building Astro&apos;s Base layout as a structural foundation.</description><pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate></item><item><title>Making Prose Look Right — Styling Markdown for Long-Form Content</title><link>https://graham-wright.com/posts/typography/</link><guid isPermaLink="true">https://graham-wright.com/posts/typography/</guid><description>Making blog posts feel approachable rather than dense — line length, spacing, and the typographic hierarchy inside an Astro Prose component.</description><pubDate>Sat, 21 Feb 2026 14:00:00 GMT</pubDate></item><item><title>A Design System Before Any Design</title><link>https://graham-wright.com/posts/design-system/</link><guid isPermaLink="true">https://graham-wright.com/posts/design-system/</guid><description>Fonts, colors, layout, and icons — the visual foundation for a personal site, built with Tailwind v4 design tokens and variable fonts.</description><pubDate>Sat, 21 Feb 2026 12:00:00 GMT</pubDate></item><item><title>Content Collections and the Blog Loop</title><link>https://graham-wright.com/posts/content-collections-blog-loop/</link><guid isPermaLink="true">https://graham-wright.com/posts/content-collections-blog-loop/</guid><description>Defining a content schema, setting up MDX, building the blog listing and dynamic post routes. Why content comes before styling.</description><pubDate>Fri, 20 Feb 2026 12:00:00 GMT</pubDate></item><item><title>Setting Up the Workshop — Documenting for AI Collaborators</title><link>https://graham-wright.com/posts/setting-up-the-workshop/</link><guid isPermaLink="true">https://graham-wright.com/posts/setting-up-the-workshop/</guid><description>Why CLAUDE.md and .cursorrules come before most building. Onboarding AI collaborators with persistent context about architecture, conventions, and constraints.</description><pubDate>Tue, 17 Feb 2026 12:00:00 GMT</pubDate></item><item><title>First Boot — Scaffolding an Astro v6 Project</title><link>https://graham-wright.com/posts/first-boot/</link><guid isPermaLink="true">https://graham-wright.com/posts/first-boot/</guid><description>Turning the Astro and Cloudflare decisions into a running project — from bun create astro to first deploy, and knowing when to stop.</description><pubDate>Sat, 14 Feb 2026 12:00:00 GMT</pubDate></item><item><title>Why I Chose Astro and Cloudflare Workers for this Blog</title><link>https://graham-wright.com/posts/why-astro-cloudflare/</link><guid isPermaLink="true">https://graham-wright.com/posts/why-astro-cloudflare/</guid><description>Astro v6 beta, Cloudflare Workers, and the guiding principles behind this build — why these tools, and what I&apos;m counting on.</description><pubDate>Wed, 11 Feb 2026 00:01:00 GMT</pubDate></item><item><title>Markdown &amp; MDX Style Examples</title><link>https://graham-wright.com/posts/style-examples/</link><guid isPermaLink="true">https://graham-wright.com/posts/style-examples/</guid><description>A living specimen of every text, image, and component treatment available in posts — Markdown primitives and MDX components side by side.</description><pubDate>Mon, 09 Feb 2026 07:30:00 GMT</pubDate></item><item><title>Hello World: What I&apos;m Building Here</title><link>https://graham-wright.com/posts/hello-world/</link><guid isPermaLink="true">https://graham-wright.com/posts/hello-world/</guid><description>A place to share what I&apos;m learning about technology, mission, and the work of building in public.</description><pubDate>Sun, 01 Feb 2026 12:00:00 GMT</pubDate></item></channel></rss>