<?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: Safae</title>
    <description>The latest articles on DEV Community by Safae (@kaiha1).</description>
    <link>https://dev.to/kaiha1</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%2F4191867%2F204cfca8-45dd-4e39-b957-f1deae2daf85.jpg</url>
      <title>DEV Community: Safae</title>
      <link>https://dev.to/kaiha1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kaiha1"/>
    <language>en</language>
    <item>
      <title>Life's Too Short to Stand in Line 💚</title>
      <dc:creator>Safae</dc:creator>
      <pubDate>Sun, 18 Oct 2026 10:30:15 +0000</pubDate>
      <link>https://dev.to/kaiha1/lifes-too-short-to-stand-in-line-22n2</link>
      <guid>https://dev.to/kaiha1/lifes-too-short-to-stand-in-line-22n2</guid>
      <description>&lt;h1&gt;
  
  
  Life's Too Short to Stand in Line 💚
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/mlh-hackathon"&gt;MLH x DEV Writing Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What We Built
&lt;/h2&gt;

&lt;p&gt;Imagine visiting London, finding a restaurant you've been wanting to try, and discovering a massive queue outside. Suddenly, you're faced with two choices: spend the next hour standing in line or leave.&lt;/p&gt;

&lt;p&gt;But what if there were a third option?&lt;/p&gt;

&lt;p&gt;That's the question that inspired &lt;strong&gt;LazyQ&lt;/strong&gt;, a virtual queuing web application we built during the &lt;strong&gt;IKU Womxn in STEM Hackathon 2026&lt;/strong&gt; for Wise's &lt;em&gt;Max Ease&lt;/em&gt; challenge.&lt;/p&gt;

&lt;p&gt;The idea is simple: &lt;strong&gt;your place in line should be saved, not your entire day.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With LazyQ, customers can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scan:&lt;/strong&gt; Scan a QR code displayed at a restaurant, café, or other venue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Join:&lt;/strong&gt; Receive a digital ticket showing their position and estimated waiting time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roam:&lt;/strong&gt; Explore the area while their queue position updates automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Return:&lt;/strong&gt; Head back when their turn is approaching.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No app downloads, no account creation, and no unnecessary complications.&lt;/p&gt;

&lt;p&gt;It's a win-win: customers get their time back, while businesses can manage queues more efficiently and reduce crowds around their entrances.&lt;/p&gt;

&lt;h3&gt;
  
  
  How We Built It
&lt;/h3&gt;

&lt;p&gt;We wanted LazyQ to be lightweight, accessible, and easy to use, so we chose a straightforward tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML5 and CSS3&lt;/strong&gt; for the frontend structure and design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript&lt;/strong&gt; for interactive features and QR-code generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python 3&lt;/strong&gt; for backend logic and queue management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server-Sent Events (SSE)&lt;/strong&gt; to send live queue updates to customers without requiring page refreshes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON&lt;/strong&gt; for storing queue information during the prototype stage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git and GitHub&lt;/strong&gt; for team collaboration and version control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render&lt;/strong&gt; for deploying the application online.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One interesting technical decision was choosing Server-Sent Events instead of building a more complicated real-time communication system.&lt;/p&gt;

&lt;p&gt;When staff call the next customer, our Python backend updates the queue and sends the new information to connected browsers through SSE. This allows customer tickets and the venue screen to update automatically.&lt;/p&gt;

&lt;p&gt;We also implemented QR codes that rotate approximately every 30 seconds, making the joining process dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  What We Learned
&lt;/h3&gt;

&lt;p&gt;Our biggest lesson was that &lt;strong&gt;building something simple isn't always simple&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At one point, we tried making the staff dashboard more secure.&lt;/p&gt;

&lt;p&gt;However, this introduced unexpected problems with the dashboard and QR-code functionality. After plenty of debugging, we decided to return to our original working prototype and prioritize the core experience.&lt;/p&gt;

&lt;p&gt;It was frustrating, but it taught us the importance of understanding technical trade-offs and knowing when to simplify.&lt;/p&gt;

&lt;p&gt;For a production version, secure staff authentication and persistent database storage would be essential.&lt;/p&gt;

&lt;p&gt;We also learned that the best technologies aren't always the most complicated ones. Sometimes, using a smaller stack makes a project easier to build, understand, and maintain.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Try LazyQ here:&lt;/strong&gt; &lt;a href="https://lazyq.vodka" rel="noopener noreferrer"&gt;lazyq.vodka&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/RZ481/lazyQ" rel="noopener noreferrer"&gt;RZ481/lazyQ&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Venue Screen
&lt;/h3&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%2Fulndbltv0hm2vh4t79ew.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fulndbltv0hm2vh4t79ew.png" alt="The venue displays a QR code that customers can scan to join the queue." width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Customer Experience
&lt;/h3&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%2Fryswcwtugnsprmvmi52r.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fryswcwtugnsprmvmi52r.png" alt="After scanning, the customer receives a digital ticket with their queue position and estimated waiting time." width="800" height="1733"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Staff Dashboard
&lt;/h3&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%2F1m0qoanth2e42yx6830n.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1m0qoanth2e42yx6830n.png" alt="Staff manage the queue through a dashboard, calling the next customer while the other screens update automatically." width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The entire experience runs in a browser, and customer-facing pages support six languages, including Arabic with right-to-left text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Partner Technologies
&lt;/h2&gt;

&lt;p&gt;Our project was developed for the &lt;strong&gt;Wise Max Ease challenge&lt;/strong&gt;, which encouraged us to remove friction from everyday experiences.&lt;/p&gt;

&lt;p&gt;This influenced one of our biggest design decisions: customers shouldn't need to download an application or create an account just to wait for their turn.&lt;/p&gt;

&lt;p&gt;We built LazyQ around that principle, using QR codes and live browser updates to make the process as effortless as possible.&lt;/p&gt;

&lt;p&gt;For development and deployment, we used &lt;strong&gt;GitHub&lt;/strong&gt; to collaborate and manage changes, and &lt;strong&gt;Render&lt;/strong&gt; to make our Python application accessible online.&lt;/p&gt;

&lt;p&gt;We did not integrate a Wise API or SDK into our prototype.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hackathon Experience
&lt;/h2&gt;

&lt;p&gt;We built LazyQ at the &lt;strong&gt;IKU Womxn in STEM Hackathon 2026&lt;/strong&gt; in London.&lt;/p&gt;

&lt;p&gt;One of the best parts of the experience was working together as a team, sharing ideas, solving unexpected problems, and seeing our concept become a real web application.&lt;/p&gt;

&lt;p&gt;Originally, we wanted to use an Arduino-powered physical button that staff could press to call the next customer. When we learned that hardware wasn't allowed, we had to rethink our approach and build a software-based alternative.&lt;/p&gt;

&lt;p&gt;That experience reminded us that hackathons aren't just about writing code. They're about creativity, adaptability, communication, and finding solutions under time pressure.&lt;/p&gt;

&lt;p&gt;We also used AI tools throughout development. &lt;strong&gt;Claude Pro&lt;/strong&gt; assisted us with HTML, CSS, and JavaScript frontend code, while &lt;strong&gt;ChatGPT Plus&lt;/strong&gt; supported backend development, debugging, and deployment. Our team developed the idea and design, made technical decisions, integrated the components, and reviewed and adapted AI-assisted code.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's Next?
&lt;/h3&gt;

&lt;p&gt;We'd love to take LazyQ further by introducing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secure staff authentication and persistent database storage.&lt;/li&gt;
&lt;li&gt;Support for multiple businesses.&lt;/li&gt;
&lt;li&gt;Google Maps integration to discover nearby participating venues and their waiting times.&lt;/li&gt;
&lt;li&gt;A Gemini-powered chatbot to answer customer questions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our goal is to make waiting in line a thing of the past, one QR code at a time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LazyQ — Your spot is saved. Your time isn't wasted. 💚&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>mlhacks</category>
      <category>devchallenge</category>
      <category>hackathon</category>
    </item>
  </channel>
</rss>
