<?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>Forem: Anna Effort</title>
    <description>The latest articles on Forem by Anna Effort (@annaeffort).</description>
    <link>https://forem.com/annaeffort</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2578753%2F204c1b64-1dae-47b7-904a-4c085babecab.png</url>
      <title>Forem: Anna Effort</title>
      <link>https://forem.com/annaeffort</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/annaeffort"/>
    <language>en</language>
    <item>
      <title>Design to Demo: Accelerating App Development with AI Tooling</title>
      <dc:creator>Anna Effort</dc:creator>
      <pubDate>Mon, 16 Dec 2024 22:25:30 +0000</pubDate>
      <link>https://forem.com/datastax/design-to-demo-accelerating-app-development-with-ai-tooling-2m5n</link>
      <guid>https://forem.com/datastax/design-to-demo-accelerating-app-development-with-ai-tooling-2m5n</guid>
      <description>&lt;p&gt;How I rapidly designed and built the frontend for a React app demo for &lt;a href="https://reinvent.awsevents.com/" rel="noopener noreferrer"&gt;AWS re:Invent&lt;/a&gt; with the help of &lt;a href="https://v0.dev/" rel="noopener noreferrer"&gt;V0&lt;/a&gt;, &lt;a href="https://claude.ai/" rel="noopener noreferrer"&gt;Claude&lt;/a&gt;, and &lt;a href="https://openai.com/index/chatgpt/" rel="noopener noreferrer"&gt;ChatGPT&lt;/a&gt;.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Fh2j27mf2nqmyotbtaeyn.png" 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.amazonaws.com%2Fuploads%2Farticles%2Fh2j27mf2nqmyotbtaeyn.png" alt="shopping app chat UI" width="800" height="715"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The challenge&lt;/strong&gt;&lt;br&gt;
The DataStax Developer Relations team wanted to showcase how &lt;a href="https://www.datastax.com/products/langflow?utm_medium=byline&amp;amp;utm_source=datastaxmedium&amp;amp;utm_campaign=app-demo&amp;amp;utm_content=app-demo" rel="noopener noreferrer"&gt;Langflow&lt;/a&gt;, a low-code, visual IDE, can be used with a local database. A backend developer spun up a Langflow instance working with an Apache Cassandra® database. He used Create React App for a quick frontend POC to query inventory of company swag.&lt;/p&gt;

&lt;p&gt;My goal as a product designer: get the experience ready to demo in a very short amount of time.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Being able to drop visual references into tools to facilitate iteration is a game changer for designers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I dropped a screenshot of the proof of concept UI into V0 to start rapid ideation. By adjusting results with a series of prompts, I updated the styling and layout of components. This generated React code for components that I could use as a starting point.&lt;/p&gt;

&lt;p&gt;Not so fast, though. V0 uses &lt;a href="https://ui.shadcn.com/" rel="noopener noreferrer"&gt;shadcn&lt;/a&gt;, which isn’t fully compatible with &lt;a href="https://create-react-app.dev/" rel="noopener noreferrer"&gt;Create React App&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚫 Errors&lt;/strong&gt;&lt;br&gt;
AI tools can speed up troubleshooting to get apps to runtime faster. I used Claude to fix the errors and switched over to ChatGPT at times for another perspective, when it felt like Claude was spinning its wheels.&lt;/p&gt;

&lt;p&gt;After fixing all of the errors and getting the app back up and running, I realized that styling was going to be a challenge with the existing options. So, I decided to try out &lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;Tailwind&lt;/a&gt;. It was my first time using it, so being able to query Claude about getting all dependencies and set up in place sped up the change. Up and running again, I shared the app with stakeholders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sorry, Figma&lt;/strong&gt;&lt;br&gt;
The ability to share an app running in real time blasted away the gap between design and development. Stakeholders didn’t have to imagine how flat drawings of the UI or a basic click through prototype would translate to real world functionality.&lt;/p&gt;

&lt;p&gt;Building everything in code made it easy to reuse components and styles across projects, letting us launch new apps rapidly. This came in handy when the DevRel team needed a quick chat UI for another demo.&lt;/p&gt;

&lt;p&gt;This approach also gave the team the flexibility to adjust the demos for different lighting conditions by adding a theme mode toggle — a feature that would have been much trickier to implement within the tight timeframe using a traditional design and development workflow.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Fuwgrfdx78rdc63657060.png" 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.amazonaws.com%2Fuploads%2Farticles%2Fuwgrfdx78rdc63657060.png" alt="shopping app chat UI light theme toggled on" width="800" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bring on the parsing&lt;/strong&gt;&lt;br&gt;
We realized that even though this was a demo meant to showcase backend functionality, it would be necessary to include images of inventory items to make it feel more realistic. This introduced some formatting challenges.&lt;/p&gt;

&lt;p&gt;I switched between Claude and ChatGPT dropping in screenshots from results of code changes, making adjustments, and running the app to view results. Formatting was much improved after working in iterative cycles. Queries still didn’t return consistent results, however.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Know when to tag in a teammate&lt;/strong&gt;&lt;br&gt;
The app was 95% of the way there, but I would have to wrap up soon. I asked a front-end dev for help troubleshooting the consistency issue. They quickly wrote a parsing function, and we were ready to go live! 🚀&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Fnd19ahsbzqjv16pkzr7d.png" 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.amazonaws.com%2Fuploads%2Farticles%2Fnd19ahsbzqjv16pkzr7d.png" alt="shopping app chat UI parsed response" width="800" height="713"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design 🤝 development&lt;/strong&gt;&lt;br&gt;
AI tools are flattening learning curves for new frameworks and making troubleshooting more efficient. The core skills of problem-solving, collaboration, and knowing when to use which tool remain crucial. What’s most exciting is that the gap between design and development is shrinking, and that’s something worth celebrating!&lt;/p&gt;

</description>
      <category>design</category>
      <category>frontend</category>
      <category>ai</category>
      <category>product</category>
    </item>
  </channel>
</rss>
