<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Illustration on Life is Beautiful</title><link>https://robertluwang.github.io/life/tags/illustration/</link><description>Recent content in Illustration on Life is Beautiful</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 26 Aug 2026 15:22:34 -0400</lastBuildDate><atom:link href="https://robertluwang.github.io/life/tags/illustration/index.xml" rel="self" type="application/rss+xml"/><item><title>blogging visual design</title><link>https://robertluwang.github.io/life/posts/2026-08-26-blogging-visual-design/</link><pubDate>Wed, 26 Aug 2026 15:22:34 -0400</pubDate><guid>https://robertluwang.github.io/life/posts/2026-08-26-blogging-visual-design/</guid><description>&lt;p&gt;I run a personal static blog built with Hugo, deploying through an automated GitHub Actions pipeline. The text publishing part is frictionless. Writing in Obsidian, pushing to the repository, and triggering the build is a solved problem. The visual part was the annoyance. Every time I needed a header image, I would ask an AI generator, and it always spat out a hyper-polished, mathematically perfect render. It looked like cheap stock photography.&lt;/p&gt;</description></item></channel></rss>