<?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: NIKITHA S</title>
    <description>The latest articles on DEV Community by NIKITHA S (@nikitha_s_3a42baaa72fd15a).</description>
    <link>https://dev.to/nikitha_s_3a42baaa72fd15a</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%2F3976139%2F8ad615d7-1e84-4b97-bee6-44fefb842d18.jpg</url>
      <title>DEV Community: NIKITHA S</title>
      <link>https://dev.to/nikitha_s_3a42baaa72fd15a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nikitha_s_3a42baaa72fd15a"/>
    <language>en</language>
    <item>
      <title>Check out my submission for the #Hacktoberfest conducted by MLH x Dev community! Would love to hear your thoughts on this.Thank you</title>
      <dc:creator>NIKITHA S</dc:creator>
      <pubDate>Mon, 05 Oct 2026 07:14:29 +0000</pubDate>
      <link>https://dev.to/nikitha_s_3a42baaa72fd15a/check-out-my-submission-for-the-hacktoberfest-conducted-by-mlh-x-dev-community-would-love-to-hear-kc5</link>
      <guid>https://dev.to/nikitha_s_3a42baaa72fd15a/check-out-my-submission-for-the-hacktoberfest-conducted-by-mlh-x-dev-community-would-love-to-hear-kc5</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684" class="crayons-story__hidden-navigation-link"&gt;GetOut!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/nikitha_s_3a42baaa72fd15a" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3976139%2F8ad615d7-1e84-4b97-bee6-44fefb842d18.jpg" alt="nikitha_s_3a42baaa72fd15a profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/nikitha_s_3a42baaa72fd15a" class="crayons-story__secondary fw-medium m:hidden"&gt;
              NIKITHA S
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                NIKITHA S
                
                
              
              &lt;div id="story-author-preview-content-4796955" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/nikitha_s_3a42baaa72fd15a" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3976139%2F8ad615d7-1e84-4b97-bee6-44fefb842d18.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;NIKITHA S&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 5&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684" id="article-link-4796955"&gt;
          GetOut!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/weekendchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;weekendchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hf26challenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hf26challenge&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>GetOut!</title>
      <dc:creator>NIKITHA S</dc:creator>
      <pubDate>Mon, 05 Oct 2026 06:40:42 +0000</pubDate>
      <link>https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684</link>
      <guid>https://dev.to/nikitha_s_3a42baaa72fd15a/getout-1684</guid>
      <description>&lt;h2&gt;
  
  
  🚶 GetOut! — Draw Your Route, Not Just Your Steps
&lt;/h2&gt;

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

&lt;p&gt;&lt;strong&gt;GetOut!&lt;/strong&gt; is a multiplayer walking/cycling game that turns a simple outdoor activity into a challenge.&lt;/p&gt;

&lt;p&gt;The idea came from a very simple problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes you want to go outside with a friend, but you don't really know what to do once you're out there.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of just tracking steps or following a predefined route, &lt;strong&gt;GetOut! gives both players a shape to complete&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One player creates a session and shares a short join code with their friend. Once both players join, the game generates a challenge such as a &lt;strong&gt;triangle, square, or other geometric shape&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each player gets the same challenge, but it is &lt;strong&gt;anchored around their own starting location&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The actual walking route is generated using real-world roads, so the challenge becomes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start → Checkpoint A → Checkpoint B → ... → Finish&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Players can see their progress, reach checkpoints, check in, and try to complete the challenge as quickly as possible.&lt;/p&gt;

&lt;p&gt;The goal isn't to create the perfect geometric line on a map.&lt;/p&gt;

&lt;p&gt;It's to turn:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Let's go for a walk."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;into:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Let's see who can complete the triangle first."&lt;/strong&gt; 🏃‍♀️&lt;/p&gt;




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

&lt;p&gt;🌐 &lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://get-out-nine.vercel.app/" rel="noopener noreferrer"&gt;https://get-out-nine.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The frontend is deployed on &lt;strong&gt;Vercel&lt;/strong&gt;, while the multiplayer FastAPI backend runs on &lt;strong&gt;Render&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  How to try it
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open GetOut!&lt;/li&gt;
&lt;li&gt;Create a session.&lt;/li&gt;
&lt;li&gt;Share the generated 6-character code with a friend.&lt;/li&gt;
&lt;li&gt;Your friend joins using the code.&lt;/li&gt;
&lt;li&gt;Start the challenge.&lt;/li&gt;
&lt;li&gt;Follow the generated checkpoints.&lt;/li&gt;
&lt;li&gt;Complete the shape and compare your time!&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/stargalax/GetOut-" rel="noopener noreferrer"&gt;https://github.com/stargalax/GetOut&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is split into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FastAPI&lt;/strong&gt; multiplayer backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3&lt;/strong&gt; running locally in the browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valhalla / OpenStreetMap&lt;/strong&gt; for road routing&lt;/li&gt;
&lt;li&gt;WebSockets for real-time player communication&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The most important part of GetOut! is that the AI isn't running on my backend.&lt;/p&gt;

&lt;p&gt;I use &lt;strong&gt;Qwen3 locally in the user's browser&lt;/strong&gt; through Hugging Face Transformers.&lt;/p&gt;

&lt;p&gt;The architecture looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌─────────────────────┐
                 │      Player         │
                 │   React Frontend    │
                 └──────────┬──────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │       Qwen3         │
                 │  Local Browser AI   │
                 └──────────┬──────────┘
                            │
                    Spatial Plan
                            │
                            ▼
                 ┌─────────────────────┐
                 │    FastAPI Backend  │
                 │      Render         │
                 └──────────┬──────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │      Valhalla       │
                 │   OSM Road Routing  │
                 └─────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Qwen3 creates the challenge
&lt;/h3&gt;

&lt;p&gt;When the challenge starts, Qwen3 is loaded directly in the browser.&lt;/p&gt;

&lt;p&gt;It receives the challenge context and produces a semantic description such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"shape"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"triangle"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"size"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"large"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"pace"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"normal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Triangle Challenge"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend then converts that semantic response into a structured &lt;strong&gt;spatial plan&lt;/strong&gt; containing the shape, checkpoints, rotation, and target dimensions.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;START
  ↓
CHECKPOINT A
  ↓
CHECKPOINT B
  ↓
START / FINISH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. The backend handles multiplayer coordination
&lt;/h3&gt;

&lt;p&gt;The FastAPI backend doesn't run the AI model.&lt;/p&gt;

&lt;p&gt;Instead, it receives the spatial plan from the browser and handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;session creation&lt;/li&gt;
&lt;li&gt;join codes&lt;/li&gt;
&lt;li&gt;player connections&lt;/li&gt;
&lt;li&gt;WebSocket communication&lt;/li&gt;
&lt;li&gt;player locations&lt;/li&gt;
&lt;li&gt;challenge synchronization&lt;/li&gt;
&lt;li&gt;route generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sessions are synchronized in real time using WebSockets.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Real roads replace impossible straight lines
&lt;/h3&gt;

&lt;p&gt;A geometric triangle looks great mathematically, but you can't necessarily walk in a perfectly straight line through buildings, rivers, highways, or private property.&lt;/p&gt;

&lt;p&gt;So instead of forcing the road network to literally draw a triangle, GetOut! treats the generated shape as a &lt;strong&gt;checkpoint challenge&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Valhalla then finds walkable/cyclable routes between those checkpoints.&lt;/p&gt;

&lt;p&gt;This makes the challenge work in the real world.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Each player gets their own version of the challenge
&lt;/h3&gt;

&lt;p&gt;This was one of my favorite parts to implement.&lt;/p&gt;

&lt;p&gt;If two friends start several kilometers apart, they shouldn't have to travel to the same physical triangle.&lt;/p&gt;

&lt;p&gt;Instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             Player A
              /\
             /  \
            /____\


                       Player B
                        /\
                       /  \
                      /____\
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both players get the &lt;strong&gt;same type of challenge&lt;/strong&gt;, but it is generated relative to their own starting locations.&lt;/p&gt;

&lt;p&gt;That makes the competition fair while still letting both people start from wherever they are.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For me, the biggest advantage of open innovation was &lt;strong&gt;control&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A closed AI API could have generated the challenge description, but then the entire experience would depend on sending a user's location and prompt to an external service.&lt;/p&gt;

&lt;p&gt;With a local open-weight model, I could experiment with running the AI directly on the user's device.&lt;/p&gt;

&lt;p&gt;That creates some interesting possibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; location-based challenge generation doesn't require sending the AI inference itself to a third-party AI API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower backend cost:&lt;/strong&gt; my server doesn't need to run an expensive model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline potential:&lt;/strong&gt; the AI component can potentially work without a separate inference server once the model is available locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experimentation:&lt;/strong&gt; I can change the prompt and challenge logic without being tied to a proprietary API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency:&lt;/strong&gt; I can see exactly where the model's output ends and my application logic begins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also made the architecture more interesting.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Cloud AI → Backend → Map
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I could build:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
Local AI
 ↓
Spatial Plan
 ↓
Backend
 ↓
Real-world route
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI becomes part of the application itself rather than just an API call hidden behind the server.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I didn't use an agent for this project, so I don't have an Agent Session to include here.&lt;/p&gt;

&lt;p&gt;Instead, the AI component is &lt;strong&gt;Qwen3 running locally in the browser&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted to keep the architecture intentionally simple: the model generates the semantic challenge, while deterministic application code handles the geometry, multiplayer state, and routing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🏆 Best Use of Render
&lt;/h3&gt;

&lt;p&gt;GetOut!'s multiplayer backend is deployed on &lt;strong&gt;Render&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Render hosts the FastAPI server responsible for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multiplayer session creation&lt;/li&gt;
&lt;li&gt;join-code management&lt;/li&gt;
&lt;li&gt;WebSocket connections&lt;/li&gt;
&lt;li&gt;synchronizing the two players&lt;/li&gt;
&lt;li&gt;receiving spatial plans&lt;/li&gt;
&lt;li&gt;generating real-world routes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend is deployed separately on Vercel, while Render acts as the real-time backend that connects the players together.&lt;/p&gt;




&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Part&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + Vite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maps&lt;/td&gt;
&lt;td&gt;React Leaflet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local AI&lt;/td&gt;
&lt;td&gt;Qwen3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Runtime&lt;/td&gt;
&lt;td&gt;Hugging Face Transformers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;FastAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real-time communication&lt;/td&gt;
&lt;td&gt;WebSockets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Routing&lt;/td&gt;
&lt;td&gt;Valhalla&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Map data&lt;/td&gt;
&lt;td&gt;OpenStreetMap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend hosting&lt;/td&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend hosting&lt;/td&gt;
&lt;td&gt;Render&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I started with the idea of making something that would simply encourage two people to &lt;strong&gt;get outside&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But while building it, I became much more interested in the boundary between &lt;strong&gt;AI-generated ideas and deterministic real-world systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Qwen doesn't need to know how to navigate a city.&lt;/p&gt;

&lt;p&gt;Valhalla doesn't need to know what a "fun challenge" is.&lt;/p&gt;

&lt;p&gt;The frontend doesn't need to understand how an LLM works.&lt;/p&gt;

&lt;p&gt;Each part does one thing, and together they turn a generated idea into something you can actually &lt;strong&gt;walk&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And that's the whole point of &lt;strong&gt;GetOut!&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't just go for a walk. Give yourself somewhere to go.&lt;/strong&gt; 🚶‍♀️🗺️&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can check out a sample I did with my friend here!&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/WVvTZfiIQ8M" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;br&gt;
My friend was able to complete the challenge before me! lol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F06dxmj6rp2sbwu66b1qy.jpeg" 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%2F06dxmj6rp2sbwu66b1qy.jpeg" alt=" " width="722" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading my submission!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Decrypting with Ghosts</title>
      <dc:creator>NIKITHA S</dc:creator>
      <pubDate>Sun, 21 Jun 2026 16:18:29 +0000</pubDate>
      <link>https://dev.to/nikitha_s_3a42baaa72fd15a/decrypting-with-ghosts-4op5</link>
      <guid>https://dev.to/nikitha_s_3a42baaa72fd15a/decrypting-with-ghosts-4op5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/june-game-jam-2026-06-03"&gt;June Solstice Game Jam&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built an atmospheric, web-based cryptographic puzzle game using Twine (Harlowe 3). Together with the ghost of Alan Turing! you must crack five distinct historical and digital ciphers to unlock a mysterious mechanical core. &lt;/p&gt;

&lt;p&gt;My goal was to blend historical text-based cryptography with rewarding visual mechanics. Every time the player solves an encrypted message, a digital flower dynamically sprouts and blossoms in unison with their achievements, populating a persistent garden.&lt;/p&gt;

&lt;p&gt;You can give the game a go here : {&lt;a href="https://stargalax.github.io/June-Solstice-Game-Jam/" rel="noopener noreferrer"&gt;https://stargalax.github.io/June-Solstice-Game-Jam/&lt;/a&gt;}&lt;/p&gt;

&lt;h3&gt;
  
  
  Relation to the Theme
&lt;/h3&gt;

&lt;p&gt;The game embraces the &lt;strong&gt;June Solstice&lt;/strong&gt; theme through a deliberate aesthetic contrast and its core gameplay loop. While the background is locked in terminal darkness, your progress acts as a digital solstice. The entire experience mirrors a time-lapse organic transformation: by overriding security locks, the player coaxes digital life out of a cold machine, culminating in a fully bloomed, glowing neon summer garden at the absolute peak of the solstice loop.&lt;/p&gt;




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

&lt;p&gt;Below is a brief look at the custom-engineered visual reward loop in action. &lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/2omojtAa4go"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As seen in the video, the game tracks player victories with precision. When a cryptographic multiple-choice question is answered correctly, a flower blooms.&lt;/p&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;You can explore the full interactive framework, the custom Twine macro logic, and our custom CSS animation stylesheet here:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/stargalax" rel="noopener noreferrer"&gt;
        stargalax
      &lt;/a&gt; / &lt;a href="https://github.com/stargalax/June-Solstice-Game-Jam" rel="noopener noreferrer"&gt;
        June-Solstice-Game-Jam
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/h2&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Building an interactive fiction experience with persistent, fluid animations presented unique challenges in Twine's default browser rendering engine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;The Cryptographic Loop:&lt;/strong&gt; Rather than standard general knowledge trivia, I converted the interactive loop into quick-thinking cryptographic hurdles, featuring &lt;strong&gt;Caesar Shifts (-3)&lt;/strong&gt;, &lt;strong&gt;Reverse Ciphers&lt;/strong&gt;, ancient &lt;strong&gt;Atbash Ciphers&lt;/strong&gt;, &lt;strong&gt;8-bit Binary ASCII streams&lt;/strong&gt;, and a matrix-style &lt;strong&gt;Grid Cipher&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Defeating the Animation Glitch:&lt;/strong&gt; In early iterations, changing rooms forced the browser to re-render all CSS items from &lt;code&gt;0px&lt;/code&gt; to &lt;code&gt;100px&lt;/code&gt;, causing a frantic, messy "double-growth" loop on screen. To solve this, I decoupled static flowers from active ones using an intentional &lt;code&gt;.bloom-now&lt;/code&gt; class state.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dreamy Ambience Integration:&lt;/strong&gt; To combat aggressive modern browser auto-play blocks on music elements, I routed a soft, floating ambient pad track through global JavaScript triggered dynamically by the player's very first interaction click. &lt;/li&gt;
&lt;/ul&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%2Fic27r6zinp52yaei8l8j.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%2Fic27r6zinp52yaei8l8j.png" alt="Snapshot of the twinery build " width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎖️ Best Ode to Alan Turing
&lt;/h3&gt;

&lt;p&gt;This project was built from the ground up to celebrate the legacy and intellectual brilliance of Alan Turing. Instead of a passive biography, players step directly into his footsteps. &lt;/p&gt;

&lt;p&gt;By interpreting raw binary bitstreams , navigating morphological patterns, and working side-by-side with his digital phantom, the game acts as a living, breathing monument to his foundational contributions to computer science and cryptography. The bittersweet finale on the solstice peak serves as a heartfelt thank you to his enduring legacy.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
