<?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: M620</title>
    <description>The latest articles on DEV Community by M620 (@migrant620).</description>
    <link>https://dev.to/migrant620</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%2F4174920%2Fe3d73906-8e0d-4d0c-9e14-89f519fad726.png</url>
      <title>DEV Community: M620</title>
      <link>https://dev.to/migrant620</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/migrant620"/>
    <language>en</language>
    <item>
      <title>Six mobile app UIs you can tap through in a browser tab (Expo + React Native Web)</title>
      <dc:creator>M620</dc:creator>
      <pubDate>Sat, 10 Oct 2026 09:25:41 +0000</pubDate>
      <link>https://dev.to/migrant620/six-mobile-app-uis-you-can-tap-through-in-a-browser-tab-expo-react-native-web-110c</link>
      <guid>https://dev.to/migrant620/six-mobile-app-uis-you-can-tap-through-in-a-browser-tab-expo-react-native-web-110c</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp48j3lwidlef0jwrfdi8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp48j3lwidlef0jwrfdi8.gif" alt="Suno, Luma, Threads, Airbnb, Tiimo and Structured interfaces running as interactive web prototypes" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A screenshot of an interface tells you what it looks like. It doesn't tell you how it &lt;em&gt;feels&lt;/em&gt; — what happens when you tap, how a sheet rises, whether the hierarchy still holds once you start typing.&lt;/p&gt;

&lt;p&gt;So I've been rebuilding mobile app interfaces I admire as interactive prototypes. Real components and real state, running in a browser tab — you open a link and the thing works.&lt;/p&gt;

&lt;p&gt;Six are live:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;App&lt;/th&gt;
&lt;th&gt;Try it&lt;/th&gt;
&lt;th&gt;What to tap&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Suno&lt;/strong&gt; (AI music)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://suno-ui.edgeone.cool" rel="noopener noreferrer"&gt;suno-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Type a prompt, open Search, start the featured song — the player plays sample audio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Luma&lt;/strong&gt; (events)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://luma-ui.edgeone.cool" rel="noopener noreferrer"&gt;luma-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Round button → Continue with Phone → open an event&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Threads&lt;/strong&gt; (social)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://threads-ui.edgeone.cool" rel="noopener noreferrer"&gt;threads-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Like a post, then tap + and start a new thread&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Airbnb&lt;/strong&gt; (stays)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://airbnb-ui.edgeone.cool" rel="noopener noreferrer"&gt;airbnb-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Start your search → where, when, who&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Tiimo&lt;/strong&gt; (visual planner)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tiimo-ui.edgeone.cool" rel="noopener noreferrer"&gt;tiimo-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Add a task, start it, watch the focus ring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Structured&lt;/strong&gt; (day timeline)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://structured-ui.edgeone.cool" rel="noopener noreferrer"&gt;structured-ui.edgeone.cool&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Add Task → pick a suggestion → complete it&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Index with source and a DESIGN.md for each: &lt;strong&gt;&lt;a href="https://github.com/migrant620/awesome-app-design-md" rel="noopener noreferrer"&gt;github.com/migrant620/awesome-app-design-md&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One codebase, opened as a link
&lt;/h2&gt;

&lt;p&gt;Each app is an Expo / React Native / TypeScript project rendered on the web through React Native Web. The browser build is what makes them shareable. A link you can tap through beats a Dribbble shot when you're trying to explain &lt;em&gt;why&lt;/em&gt; an interface works.&lt;/p&gt;

&lt;p&gt;The layouts are designed for a phone-width column. On a desktop they stay a centred column rather than stretching — open them in your browser's device mode, or just on your phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Six things these interfaces get right
&lt;/h2&gt;

&lt;p&gt;Rebuilding a UI forces you to notice decisions you'd normally scroll past. A few I liked:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Suno: the player borrows the artwork.&lt;/strong&gt; Opening a song turns the whole screen dark and paints it from the cover, so the controls sit on the mood of the track instead of a neutral panel. The pink-to-orange gradient is spent on exactly one job — making — so it never competes with anything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Luma: a feed that reads like a calendar.&lt;/strong&gt; "Picked for You" is grouped by date, with a quiet grey slash between the date and the weekday. Then tapping an event drops you into a deep indigo detail page. Light list, dark detail — each makes the other feel more distinct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Threads: text first, chrome last.&lt;/strong&gt; The feed is a single column of avatar, handle and words; counts sit quietly under each post and the photo, when there is one, is the only colour. The composer opens as a plain sheet that is mostly empty space, which is the point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Airbnb: search is a sentence you fill in.&lt;/strong&gt; Where, When and Who are three stacked clauses on one sheet, not three screens. Each shows its current answer in bold and its question in grey, so a half-finished query stays readable while you edit one part of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tiimo: time you can see.&lt;/strong&gt; In focus mode a lavender arc grows clockwise from twelve o'clock, one full turn per task. The digits tell you how long is left; the arc lets you feel it at a glance. The day is split into Anytime / Morning / Afternoon / Evening instead of minutes, which lowers the precision a plan asks of you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structured: completed means struck through, not removed.&lt;/strong&gt; Every task is a disc on one vertical spine. Finishing a task keeps it in place with a line-through, so the day's history stays visible. One coral colour carries every plan and action; greys do everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's a DESIGN.md here?
&lt;/h2&gt;

&lt;p&gt;Each repo ships a &lt;code&gt;DESIGN.md&lt;/code&gt;: colour tokens, type scale, spacing, radii and component notes — written as prose you can read in five minutes, next to source code that shows the values in use. Token files tell you &lt;em&gt;what&lt;/em&gt; a value is. I'm trying to also say &lt;em&gt;why&lt;/em&gt; it's there, in a form a person or a coding agent can rebuild from.&lt;/p&gt;

&lt;p&gt;That format is still evolving, and it's the part I'd most like feedback on. Too much detail? Not enough? Would you rather have it as structured YAML?&lt;/p&gt;

&lt;h2&gt;
  
  
  The fine print
&lt;/h2&gt;

&lt;p&gt;These are unofficial study projects, not affiliated with or endorsed by Suno, Luma, Threads, Airbnb, Tiimo or Structured. All content is sample data; nothing signs in or talks to the real services. The source is public under a noncommercial study-and-research licence (not an OSI licence), so please read it before reusing anything.&lt;/p&gt;

&lt;p&gt;If you open one and something feels off — a spacing, a transition, a state that doesn't behave — tell me in the comments or open an issue. That's the most useful thing you could send.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>expo</category>
      <category>design</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
