<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Willow Lopez</title>
    <description>The latest articles on DEV Community by Willow Lopez (@oxygen56).</description>
    <link>https://dev.to/oxygen56</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4073702%2F9d7993f9-4751-496d-bd6a-bb535756047d.jpg</url>
      <title>DEV Community: Willow Lopez</title>
      <link>https://dev.to/oxygen56</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oxygen56"/>
    <language>en</language>
    <item>
      <title>The Home Ratio: A Pure-CSS Serving Ritual</title>
      <dc:creator>Willow Lopez</dc:creator>
      <pubDate>Wed, 12 Aug 2026 00:03:03 +0000</pubDate>
      <link>https://dev.to/oxygen56/the-home-ratio-a-pure-css-serving-ritual-5268</link>
      <guid>https://dev.to/oxygen56/the-home-ratio-a-pure-css-serving-ritual-5268</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2026-07-29"&gt;Frontend Challenge - Comfort Food Edition, CSS Art&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Home Ratio&lt;/strong&gt; is an interactive CSS artwork about 番茄炒蛋—tomato and egg—and the small differences that make a familiar dish feel like one particular home.&lt;/p&gt;

&lt;p&gt;Choose one of three remembered balances: tomato-led, quietly balanced, or egg-led. The same CSS-drawn bowl recomposes itself: ingredient scale, sauce color, and the handwritten memory note all change. Then lift the lid to serve it warm.&lt;/p&gt;

&lt;p&gt;There is no “authentic” winning ratio. The interaction is the point: a shared dish can hold several equally valid memories.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkjce7o2w3xnzaa7gwcnh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkjce7o2w3xnzaa7gwcnh.gif" alt="A short silent tour of the ratio choices and the CSS-drawn lid lifting" width="640" height="461"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://oxygen56.github.io/dev-frontend-comfort-food/css-art/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;oxygen56.github.io&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href="https://oxygen56.github.io/dev-frontend-comfort-food/css-art/" rel="noopener noreferrer"&gt;Open the live CSS Art experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Oxygen56/dev-frontend-comfort-food/tree/main/docs/css-art" rel="noopener noreferrer"&gt;Read the source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How I drew it
&lt;/h3&gt;

&lt;p&gt;The artwork uses only HTML and CSS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;radio inputs drive the three compositions;&lt;/li&gt;
&lt;li&gt;a checkbox drives the lid and steam ritual;&lt;/li&gt;
&lt;li&gt;gradients make the sauce, ceramic, window light, and wood grain;&lt;/li&gt;
&lt;li&gt;borders, border radii, transforms, and pseudo-elements draw every ingredient;&lt;/li&gt;
&lt;li&gt;CSS custom properties let one composition rebalance tomato and egg without duplicating the bowl.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is no JavaScript, SVG, canvas, image, icon library, external font, or runtime dependency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Accessibility and resilience
&lt;/h3&gt;

&lt;p&gt;The controls are native form elements with visible labels and strong focus states. The complete piece works with touch, mouse, Tab, arrow keys, Space, and Enter. It reflows without horizontal scrolling at 320 px, and &lt;code&gt;prefers-reduced-motion&lt;/code&gt; reduces every animation and transition to an effectively static state.&lt;/p&gt;

&lt;p&gt;The repository includes automated browser checks for keyboard operation, 320 px reflow, slow connections, reduced motion, external requests, console errors, and WCAG A/AA issues with axe-core. The final judge simulation passed across Chromium, Firefox, and WebKit.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI assistance and rights
&lt;/h3&gt;

&lt;p&gt;OpenAI Codex was used as the primary implementation assistant for research synthesis, interaction prototyping, HTML/CSS development, test authoring, and technical-writing support. A human directed the concept and acceptance criteria and reviewed the final source, behavior, accessibility evidence, third-party-rights status, and public claims.&lt;/p&gt;

&lt;p&gt;All shipped visuals and copy are original to this entry. No generated media or third-party visual, font, text, brand mark, API, or dataset is included.&lt;/p&gt;

</description>
      <category>css</category>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
    </item>
    <item>
      <title>The Home Ratio: A Landing Page Tuned by Memory</title>
      <dc:creator>Willow Lopez</dc:creator>
      <pubDate>Tue, 11 Aug 2026 23:57:25 +0000</pubDate>
      <link>https://dev.to/oxygen56/the-home-ratio-a-landing-page-tuned-by-memory-1af9</link>
      <guid>https://dev.to/oxygen56/the-home-ratio-a-landing-page-tuned-by-memory-1af9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2026-07-29"&gt;Frontend Challenge - Comfort Food Edition, Perfect Landing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Home Ratio&lt;/strong&gt; is a landing-page experience for a simple idea: recipes record steps, but ratios can record people.&lt;/p&gt;

&lt;p&gt;The page begins with one culturally specific dish—番茄炒蛋, tomato and egg—without declaring one definitive version. Its signature ratio dial moves between soft egg and bright tomato. As it moves, the ingredient composition, numeric ratio, emotional name, description, live-region announcement, and shareable memory line answer together.&lt;/p&gt;

&lt;p&gt;The result is not a recipe calculator. It is an invitation to notice the version you already carry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83k6ctqpsms3nr6msksx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83k6ctqpsms3nr6msksx.gif" alt="A short silent tour of the native ratio dial changing the memory and bowl" width="640" height="461"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://oxygen56.github.io/dev-frontend-comfort-food/perfect-landing/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;oxygen56.github.io&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href="https://oxygen56.github.io/dev-frontend-comfort-food/perfect-landing/" rel="noopener noreferrer"&gt;Open the live Perfect Landing experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Oxygen56/dev-frontend-comfort-food/tree/main/docs/perfect-landing" rel="noopener noreferrer"&gt;Read the source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The interaction model
&lt;/h3&gt;

&lt;p&gt;I used a real HTML range input rather than a simulated drag surface. That decision gives the centerpiece keyboard, touch, and assistive-technology behavior by default. Arrow keys change the ratio in five-point steps, while a polite live region announces the new balance.&lt;/p&gt;

&lt;p&gt;JavaScript performs one progressive-enhancement job: it keeps the CSS composition and the editorial copy synchronized with the native input. With JavaScript disabled, the interactive card is replaced by three complete ratio portraits, and every narrative section remains available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design system
&lt;/h3&gt;

&lt;p&gt;The visual language comes from the dish itself: tomato red, egg yellow, enamel blue-green, warm paper, and dark brown ink. Every hero ingredient is a browser-native shape built from gradients, borders, radii, and transforms. System fonts keep the experience fast and free of external rights or availability risk.&lt;/p&gt;

&lt;p&gt;The page was designed and tested for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;complete keyboard access and highly visible focus;&lt;/li&gt;
&lt;li&gt;320 px reflow without horizontal scrolling;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prefers-reduced-motion&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;a complete no-JavaScript path;&lt;/li&gt;
&lt;li&gt;WCAG A/AA automated checks;&lt;/li&gt;
&lt;li&gt;zero external runtime requests;&lt;/li&gt;
&lt;li&gt;final verification in Chromium, Firefox, and WebKit, including a slow-connection path.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI assistance and rights
&lt;/h3&gt;

&lt;p&gt;OpenAI Codex was used as the primary implementation assistant for research synthesis, interaction prototyping, HTML/CSS/JavaScript development, test authoring, and technical-writing support. A human directed the concept and acceptance criteria and reviewed the final source, behavior, accessibility evidence, third-party-rights status, and public claims.&lt;/p&gt;

&lt;p&gt;All shipped visuals and copy are original to this entry. No generated media or third-party visual, font, text, brand mark, API, or dataset is included.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
