<?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: Crystal Chang</title>
    <description>The latest articles on DEV Community by Crystal Chang (@crystal32378).</description>
    <link>https://dev.to/crystal32378</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%2F4166854%2F76d9e658-b4b0-4665-bb75-ec4d0136aa8f.jpg</url>
      <title>DEV Community: Crystal Chang</title>
      <link>https://dev.to/crystal32378</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crystal32378"/>
    <language>en</language>
    <item>
      <title>I Built a Dating App That Starts From Side Projects, Not Selfies — in 2 Hours</title>
      <dc:creator>Crystal Chang</dc:creator>
      <pubDate>Tue, 06 Oct 2026 15:51:39 +0000</pubDate>
      <link>https://dev.to/crystal32378/i-built-a-dating-app-that-starts-from-side-projects-not-selfies-in-2-hours-1911</link>
      <guid>https://dev.to/crystal32378/i-built-a-dating-app-that-starts-from-side-projects-not-selfies-in-2-hours-1911</guid>
      <description>&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%2Fd26pltcp7waijmkzzo6o.jpg" 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%2Fd26pltcp7waijmkzzo6o.jpg" alt=" " width="799" height="450"&gt;&lt;/a&gt;What if you met someone through what they build with AI — before seeing their photo or job title?&lt;/p&gt;

&lt;p&gt;That was our experiment for &lt;strong&gt;Coffee Meets Codex&lt;/strong&gt;, built at DevDay Exchange Community Hack Day: Taipei on Oct 4. We got 3rd place — voted by other builders, not judges.&lt;/p&gt;

&lt;p&gt;This is the technical breakdown of how we did it in a few hours, and why our agent kept building after we stopped.&lt;/p&gt;

&lt;h3&gt;
  
  
  The idea: start with what people make
&lt;/h3&gt;

&lt;p&gt;Most social apps start with a profile. We flipped it:&lt;/p&gt;

&lt;p&gt;Start with projects, curiosities, experiments — the strange little things someone cared enough to build. Then let people decide what comes next — friendship or something more.&lt;/p&gt;

&lt;p&gt;Friend and Lover are separate, explicit choices. Always your choice.&lt;/p&gt;

&lt;h3&gt;
  
  
  The constraint: a few hours + 1-minute demo
&lt;/h3&gt;

&lt;p&gt;We had to turn that into a working prototype with a live 1-min demo.&lt;/p&gt;

&lt;p&gt;Winners were picked by every checked-in attendee ranking their top 3 teams (excluding their own) on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;usefulness&lt;/li&gt;
&lt;li&gt;creativity&lt;/li&gt;
&lt;li&gt;convincing working demo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No judging panel. That meant a lot.&lt;/p&gt;

&lt;h3&gt;
  
  
  What we actually shipped
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fictional Friend / Lover daily brief (no real people in demo)&lt;/li&gt;
&lt;li&gt;Profile + project links, owner-supplied, no scraping&lt;/li&gt;
&lt;li&gt;Consent / withdraw / block built-in&lt;/li&gt;
&lt;li&gt;18+ only&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React 19 / Vinext&lt;/li&gt;
&lt;li&gt;Cloudflare Workers + D1&lt;/li&gt;
&lt;li&gt;Sites-managed ChatGPT identity for auth&lt;/li&gt;
&lt;li&gt;Static showcase: &lt;code&gt;showcase/&lt;/code&gt; -&amp;gt; &lt;code&gt;docs/&lt;/code&gt; on GitHub Pages&lt;/li&gt;
&lt;li&gt;Full app: &lt;code&gt;app/&lt;/code&gt;, &lt;code&gt;lib/&lt;/code&gt;, &lt;code&gt;db/&lt;/code&gt;, &lt;code&gt;drizzle/&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We split it into two targets on purpose:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Showcase (static, no login):&lt;/strong&gt; so anyone can understand it in 30 seconds
&lt;a href="https://andydrewie.github.io/coffee-meets-codex/" rel="noopener noreferrer"&gt;https://andydrewie.github.io/coffee-meets-codex/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real app (login required):&lt;/strong&gt; for actual profiles and actions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Build the showcase with zero deps:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;\&lt;/code&gt;&lt;code&gt;bash&lt;br&gt;
npm run build:showcase&lt;br&gt;
npm run check:showcase&lt;br&gt;
python3 -m http.server 4173 --directory docs&lt;br&gt;
\&lt;/code&gt;&lt;code&gt;\&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The best part happened after the hackday
&lt;/h3&gt;

&lt;p&gt;The app worked, but Andrew's Owen saw the gap: a working product still needs to be understood by someone who wasn't in the room.&lt;/p&gt;

&lt;p&gt;So it kept going and built the public showcase around it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;demo film: &lt;a href="https://www.youtube.com/watch?v=maVYbw1YPMk" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=maVYbw1YPMk&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;fictional Friend / Lover previews&lt;/li&gt;
&lt;li&gt;clear handoff into the real app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That hit me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shipping is not the moment the code works.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's when someone else understands why it exists. Owen helped us cross that distance from "we built this" to "someone else gets it."&lt;/p&gt;

&lt;p&gt;Repo here if you want to roast the code:&lt;br&gt;
&lt;a href="https://github.com/andydrewie/coffee-meets-codex" rel="noopener noreferrer"&gt;https://github.com/andydrewie/coffee-meets-codex&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Independent prototype. No OpenAI or Coffee Meets Bagel affiliation. All preview people/projects are fictional.&lt;/p&gt;




&lt;p&gt;Built with Andrew, Owen, and a room full of builders willing to vote for a slightly strange idea.&lt;/p&gt;

&lt;p&gt;Question for you: would you trust meeting someone through their side projects? What would make this less creepy and more useful?&lt;a href="![%20](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/1s92s41vi2aqok33d4hv.jpg)"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>agents</category>
      <category>hackathon</category>
    </item>
  </channel>
</rss>
