<?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: AmyXandra</title>
    <description>The latest articles on Forem by AmyXandra (@amyxandra).</description>
    <link>https://forem.com/amyxandra</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%2F76077%2F8a9b128c-e1f1-4054-ae25-35cd7db3beb0.jpeg</url>
      <title>Forem: AmyXandra</title>
      <link>https://forem.com/amyxandra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/amyxandra"/>
    <language>en</language>
    <item>
      <title>How I Used Kiro to Turn a Simple Three.js Scene into a Playable Game World</title>
      <dc:creator>AmyXandra</dc:creator>
      <pubDate>Fri, 05 Dec 2025 19:40:45 +0000</pubDate>
      <link>https://forem.com/amyxandra/how-i-used-kiro-to-turn-a-simple-threejs-scene-into-a-playable-game-world-1hi8</link>
      <guid>https://forem.com/amyxandra/how-i-used-kiro-to-turn-a-simple-threejs-scene-into-a-playable-game-world-1hi8</guid>
      <description>&lt;p&gt;What started as a simple haunted house scene in a Three.js tutorial became my most ambitious hackathon project yet. Armed with React Three Fiber and Kiro (an AI-powered dev tool), I spent one week transforming static 3D scenery into Haunted House Party — a fully interactive Halloween game where the doors lead to unpredictable mini-games.&lt;/p&gt;

&lt;p&gt;This is the story of how I built it, what went wrong, and what I learned about shipping 3D web experiences fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Classroom to Game World
&lt;/h2&gt;

&lt;p&gt;Earlier this year, I built a basic haunted house scene in a Three.js course. Nothing fancy, just a house surrounded by graves. When Kiro asked us to build a spooky app for Kiroween, that scene came first to mind, and I asked myself:&lt;/p&gt;

&lt;p&gt;"What if the house wasn't just scenery? What if the door hid a mystery like in Halloween movies?"&lt;/p&gt;

&lt;p&gt;That question became Haunted House Party, a Halloween-themed world where the door teleports you into a random mini-game. To modernize the workflow and gain component flexibility, I rebuilt everything from scratch in React Three Fiber.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Core Mechanic
&lt;/h2&gt;

&lt;p&gt;The gameplay loop is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Knock three times on any door in the foggy graveyard&lt;/li&gt;
&lt;li&gt;Get transported into a random 3D mini-game inside a dark room&lt;/li&gt;
&lt;li&gt;Fail? Retry or get kicked back to the hub world&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Mini-games include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slicing flying pumpkins mid-air&lt;/li&gt;
&lt;li&gt;Sprinting through endless tomb tunnels&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Build Process
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Migrating to React Three Fiber with Kiro&lt;/strong&gt;&lt;br&gt;
Kiro accelerated my migration from vanilla Three.js to React Three Fiber. Instead of manually rewriting geometry and materials, I wrote steering documents upfront to establish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The atmospheric vibe and tone&lt;/li&gt;
&lt;li&gt;Core game mechanics&lt;/li&gt;
&lt;li&gt;Lighting and fog parameters&lt;/li&gt;
&lt;li&gt;Design rules for future rooms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gave the AI clear context for generating better code suggestions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Rapid Prototyping with AI-Assisted Development&lt;/strong&gt;&lt;br&gt;
React Three Fiber doesn't include Three.js's built-in GUI helpers, which can slow down iteration. I used Kiro's vibe chat for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Previewing animations before implementing them&lt;/li&gt;
&lt;li&gt;Testing asset placement and scaling&lt;/li&gt;
&lt;li&gt;Troubleshooting material and shader issues&lt;/li&gt;
&lt;li&gt;Getting real-time optimization suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This conversational debugging style saved hours of trial and error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Building Structured Mini-Game Specs&lt;/strong&gt;&lt;br&gt;
Before writing any game logic, I created detailed specs for each mini-game:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Objective: What's the win condition?&lt;/li&gt;
&lt;li&gt;Player controls: Keyboard? Mouse? Both?&lt;/li&gt;
&lt;li&gt;Asset list: Models, textures, sounds needed&lt;/li&gt;
&lt;li&gt;Win/fail conditions: Clear success/failure states&lt;/li&gt;
&lt;li&gt;Expected animations: Entry, gameplay, exit
These specs dramatically improved the quality of AI-generated code and reduced back-and-forth iterations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Automated Repository Cleanup&lt;/strong&gt;&lt;br&gt;
As I experimented with different assets and approaches, my repo became cluttered. I created Kiro agent hooks that automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deleted unused files after each iteration&lt;/li&gt;
&lt;li&gt;Removed outdated test assets&lt;/li&gt;
&lt;li&gt;Kept the codebase lean and navigable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This automation was crucial for maintaining velocity during the hackathon crunch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Performance Optimization (The Never-Ending Battle)&lt;/strong&gt;&lt;br&gt;
Every iteration included aggressive optimization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplifying shaders to reduce GPU load&lt;/li&gt;
&lt;li&gt;Baking lights instead of real-time shadows&lt;/li&gt;
&lt;li&gt;Compressing textures with minimal quality loss&lt;/li&gt;
&lt;li&gt;Replacing heavy models with sub-8MB alternatives&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges That Nearly Broke Me (and My Laptop)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Performance Bottlenecks&lt;/strong&gt;&lt;br&gt;
3D assets get heavy fast. My laptop froze multiple times before I finally replaced most of the assets with much lighter versions. The loading screen became a necessity, not a feature.&lt;/p&gt;

&lt;p&gt;Lesson learned: Start with performance budgets. Know your target framerates and file size limits before importing that beautiful 50MB haunted tree model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slow Iteration Cycles&lt;/strong&gt;&lt;br&gt;
Writing comprehensive specs meant Kiro sometimes processed 15-17 tasks before I could test anything. This cost me a lot of hours wh&lt;/p&gt;

&lt;p&gt;Lesson learned: Balance spec detail with iteration speed. It's faster to create only the important tasks for the specs and skip the tests initially.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asset Hunting&lt;/strong&gt;&lt;br&gt;
Finding good quality, lightweight, Halloween-themed 3D assets was harder than expected. Many free models were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Too polygon-heavy&lt;/li&gt;
&lt;li&gt;Poorly rigged&lt;/li&gt;
&lt;li&gt;Missing textures&lt;/li&gt;
&lt;li&gt;Over 10MB &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lesson learned: Budget time for asset sourcing. Consider creating simple custom models instead of hunting for the "perfect" free asset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wins I'm Proud Of
&lt;/h2&gt;

&lt;p&gt;Despite the struggles, I shipped several features I'm genuinely excited about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A perfect eerie loading animation that sets the mood immediately&lt;/li&gt;
&lt;li&gt;Fully functional mini-games with distinct mechanics&lt;/li&gt;
&lt;li&gt;Strong visual identity for each room (fog, lighting, materials all cohesive)&lt;/li&gt;
&lt;li&gt;Smooth gameplay after aggressive optimization&lt;/li&gt;
&lt;li&gt;The zoom-into-the-door transition — this took many revisions but nails the vibe&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ship Fast, Fix Fast&lt;/strong&gt;&lt;br&gt;
When one approach failed, I pivoted immediately instead of trying to salvage it. This mentality kept momentum alive during the hackathon.&lt;/p&gt;

&lt;p&gt;**React Three Fiber is Powerful (and Different)&lt;br&gt;
I leveled up massively in R3F and learned how scene management differs from vanilla Three.js. The component model is brilliant once you embrace it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Accelerates Development When Used Intentionally&lt;/strong&gt;&lt;br&gt;
Kiro wasn't magic — it was most effective when I gave it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clear context through steering documents&lt;/strong&gt;&lt;br&gt;
Structured specs for complex features&lt;br&gt;
Specific debugging questions instead of vague prompts&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3D Game Development is a Skill Stack&lt;/strong&gt;&lt;br&gt;
I now understand the full pipeline: modeling, texturing, animation, optimization, gameplay programming, and performance profiling. Each piece matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://r3f.docs.pmnd.rs/getting-started/introduction" rel="noopener noreferrer"&gt;React Three Fiber Documentation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://threejs-journey.com/lessons/haunted-house" rel="noopener noreferrer"&gt;Three.js Journey Course &lt;/a&gt;(where the original scene came from)&lt;br&gt;
&lt;a href="https://kiro.dev/" rel="noopener noreferrer"&gt;Kiro AI Dev Tool&lt;/a&gt; (hackathon sponsor)&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Study Group Connector: Automating Learning Community Discovery with Runner H</title>
      <dc:creator>AmyXandra</dc:creator>
      <pubDate>Mon, 07 Jul 2025 00:14:38 +0000</pubDate>
      <link>https://forem.com/amyxandra/study-group-connector-automating-learning-community-discovery-with-runner-h-3mg0</link>
      <guid>https://forem.com/amyxandra/study-group-connector-automating-learning-community-discovery-with-runner-h-3mg0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/runnerh"&gt;Runner H "AI Agent Prompting" Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Built&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Study Group Connector uses Runner H and Surfer H to scrape public LinkedIn groups, Reddit subreddits, and Discord servers for active study groups and free bootcamps (keywords: “free bootcamp,” “study group,” “coding”). It compiles 10–20 communities into a Google Sheet and emails the results, saving students hours searching for peer support.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/xuEP3tpZ0Wo" rel="noopener noreferrer"&gt;https://youtu.be/xuEP3tpZ0Wo&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%2Fzpxezsan2lflx44sw8we.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%2Fzpxezsan2lflx44sw8we.png" alt="Study Group Google Sheet" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How I Used Runner H&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I leveraged Runner H’s Surfer H web-scraping capabilities and Google Sheets/Gmail integrations to automate community discovery. Here’s how to replicate it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Access Runner H&lt;/strong&gt;: Sign up at &lt;a href="https://runner.hcompany.ai/" rel="noopener noreferrer"&gt;https://runner.hcompany.ai/&lt;/a&gt; using your Google account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input the Prompt&lt;/strong&gt;: Create a new run in Runner H and paste the following prompt:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. **Initialize Parameters**:
   - Use the predefined email: “[your-email]” (replace with your actual Gmail address and authenticate in H-Studio before running).
   - Search for communities offering free bootcamps or study groups using keywords: “free bootcamp,” “study group,” “coding bootcamp,” “learning community.”
   - Target platforms: LinkedIn groups, Reddit subreddits, Discord servers.
2. **Scrape LinkedIn Groups**:
   - Navigate to https://www.linkedin.com/search/results/groups/?keywords=free%20bootcamp%20study%20group.
   - Extract up to 10 groups, including: group name, platform (“LinkedIn”), description (first 50 words), join link (URL to group page).
   - Filter for public groups with keywords “free bootcamp,” “study group,” or “coding” in name or description, and active status (e.g., member count &amp;gt;100 or recent posts).
3. **Scrape Reddit Subreddits**:
   - Navigate to https://www.reddit.com/r/learnprogramming, https://www.reddit.com/r/coding, and https://www.reddit.com/r/learnpython.
   - Extract up to 10 posts or subreddit descriptions mentioning “free bootcamp” or “study group,” including: subreddit name (e.g., r/learnprogramming), platform (“Reddit”), description (first 50 words), join link (subreddit or post URL).
   - Use public RSS feeds (e.g., https://www.reddit.com/r/learnprogramming/.rss) if direct scraping fails.
   - Filter for posts or subreddits with recent activity (e.g., posted within 30 days).
4. **Scrape Discord Servers**:
   - Navigate to https://disboard.org/servers/tag/study or https://discord.me/servers.
   - Search for “coding,” “bootcamp,” or “study group.”
   - Extract up to 10 servers, including: server name, platform (“Discord”), description (first 50 words), join link (invite URL).
   - Filter for public servers with keywords “free bootcamp” or “study group” and active status (e.g., member count &amp;gt;50).
5. **Filter Relevant Communities**:
   - Keep communities with:
     - Keywords “free bootcamp,” “study group,” “coding bootcamp,” or “learning community” in name or description.
     - Active status (e.g., recent posts within 30 days, member count &amp;gt;50 for Discord/LinkedIn).
   - Remove duplicates (same group name and platform).
   - Aim for 10-20 total communities across platforms.
6. **Store Results in Google Sheet**:
   - Create a Google Sheet titled “Study Group Communities” with columns: Group Name, Platform, Description, Join Link.
   - Populate with filtered communities, ensuring no duplicates.
7. **Email Results**:
   - Send an email via Gmail to [your-email] with the subject: “Free Bootcamp and Study Group Communities”.
   - Email content: “Hi [Your Name], Found [number] communities offering free bootcamps or study groups. View details: [Google Sheet link]. Regards, Study Group Connector”
   - Include the Google Sheet link.
8. **Error Handling**:
   - If fewer than 5 communities are found, email [your-email]: “Warning: Insufficient communities found. Try again later or check search terms.”
   - If scraping fails for any platform, retry 3 times. If still failing, skip to the next platform or use fallback URLs: https://www.linkedin.com/search/results/content/?keywords=study%20group, https://www.reddit.com/search/?q=free%20bootcamp, https://disboard.org/servers.
   - If Google Sheet creation fails, output community data as a text summary in H-Studio with columns: Group Name, Platform, Description, Join Link.
   - Log errors in H-Studio (e.g., “Error: Unable to scrape [platform] for communities”).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run the Workflow&lt;/strong&gt;: Hit “Run” in Runner H. The agent will scrape LinkedIn, Reddit, and Discord, filter communities, populate the Google Sheet, and send an email.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check Outputs&lt;/strong&gt;: Verify the Google Sheet (“Study Group Communities”) in your Google Drive and the email in your Gmail inbox. Check for error logs or fallback text output if issues occur.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Case &amp;amp; Impact&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Study Group Connector helps students and learners find active study groups and free bootcamps on LinkedIn, Reddit, and Discord, saving 1–2 hours weekly. It fosters peer collaboration for coders, data scientists, and educators, streamlining community discovery and enhancing engagement in learning ecosystems.&lt;/p&gt;

</description>
      <category>runnerhchallenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Don't miss events near you: Automated Tech Events Data Collection with Runner H</title>
      <dc:creator>AmyXandra</dc:creator>
      <pubDate>Sun, 06 Jul 2025 20:05:50 +0000</pubDate>
      <link>https://forem.com/amyxandra/dont-miss-events-near-you-automated-tech-events-data-collection-with-runner-h-2lha</link>
      <guid>https://forem.com/amyxandra/dont-miss-events-near-you-automated-tech-events-data-collection-with-runner-h-2lha</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/runnerh"&gt;Runner H "AI Agent Prompting" Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Built&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tech Event Finder uses Runner H and Surfer H to scrape tech events (keywords: “tech,” “developer,” “hackathon,” “coding”) from Eventbrite and Meetup for July 6–September 31, 2025. It organizes up to 40 events into a Google Sheet and emails a summary, saving time for tech enthusiasts and organizers.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/XkfkD0Eoi7M" rel="noopener noreferrer"&gt;https://youtu.be/XkfkD0Eoi7M&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%2Funj6qv7klqopc456sqnb.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%2Funj6qv7klqopc456sqnb.png" alt="Tech events email notification" width="800" height="301"&gt;&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%2Fkl5cnaaxquyl0inuttz6.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%2Fkl5cnaaxquyl0inuttz6.png" alt="Tech events google sheet" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How I Used Runner H&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I leveraged Runner H’s Surfer H web-scraping capabilities and integration with Google Sheets and Gmail to build an end-to-end automation workflow. Here’s how to replicate it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Access Runner H&lt;/strong&gt;: Sign up at &lt;a href="https://runner.hcompany.ai/" rel="noopener noreferrer"&gt;https://runner.hcompany.ai/&lt;/a&gt; using your Google account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input the Prompt&lt;/strong&gt;: Create a new run in Runner H and paste the following prompt:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. **Initialize Parameters**:
   - Use my email for notifications.
   - Search for tech events with keywords: “tech,” “developer,” “hackathon,” “coding”.
   - Filter for events from July 6, 2025, to September 31, 2025.
2. **Scrape Eventbrite Events**:
   - Navigate to https://www.eventbrite.com/directory.
   - Search for “tech” or “hackathon” events.
   - Extract up to 20 events, including: event title, date, location (or “Online”), description, URL.
   - Store results in a Google Sheet titled ‘Tech Events’.
3. **Scrape Meetup Events**:
   - Navigate to https://www.meetup.com/find.
   - Search for “tech” or “developer” events.
   - Extract up to 20 events, including: event title, date, location (or “Online”), description, URL.
   - Append to the ‘Tech Events’ Google Sheet.
4. **Filter Relevant Events**:
   - Keep events occurring between July 6, 2025, and September 31, 2025.
   - Include only tech-related events (keywords: “tech,” “developer,” “hackathon,” “coding” in title or description).
   - Remove duplicates (same title and date).
5. **Store Results in Google Sheet**:
   - Create a Google Sheet titled ‘Tech Events’ with columns: Event Title, Date, Location, Description, URL.
   - Populate with filtered events, ensuring no duplicates.
6. **Email Results**:
   - Send an email via Gmail to my email with the subject: “Upcoming Tech Events”.
   - Email content: “Hi [My Name], Found [number] tech events for July–September 2025. View details: [Google Sheet link]. Regards, Tech Event Finder”
   - Attach or include the Google Sheet link.
7. **Error Handling**:
   - If fewer than 5 events are found, email: “Warning: Insufficient tech events found. Try again later or check search terms.”
   - If scraping fails, retry 3 times. If still failing, use fallback URLs: https://www.eventbrite.com/explore or https://www.meetup.com/explore.
   - If Google Sheet creation fails, output event data as a text summary in H-Studio with columns: Event Title, Date, Location, Description, URL.
   - Output errors in H-Studio (e.g., “Error: Unable to scrape events from [site]”).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run the Workflow&lt;/strong&gt;: Hit “Run” in Runner H. The agent will scrape Eventbrite and Meetup, filter events, populate the Google Sheet, and send an email.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check Outputs&lt;/strong&gt;: Verify the Google Sheet (‘Tech Events’) in your Google Drive and the email in your Gmail inbox. If errors occur, check H-Studio for logs or fallback text output.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Case &amp;amp; Impact&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tech Event Finder helps developers, tech enthusiasts, and organizers by automating event discovery from Eventbrite and Meetup. It saves hours of manual searching, delivering a curated, deduplicated list of events in a Google Sheet. Developers find hackathons, organizers optimize scheduling, and community managers share event lists, streamlining planning and networking.&lt;/p&gt;

</description>
      <category>runnerhchallenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
