<?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: Mariana Ongay</title>
    <description>The latest articles on DEV Community by Mariana Ongay (@heda127).</description>
    <link>https://dev.to/heda127</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%2F3958836%2F5299bedc-b6ad-4d5d-b3cf-f3929d178da2.png</url>
      <title>DEV Community: Mariana Ongay</title>
      <link>https://dev.to/heda127</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/heda127"/>
    <language>en</language>
    <item>
      <title>Simple Puzzle AI Game</title>
      <dc:creator>Mariana Ongay</dc:creator>
      <pubDate>Thu, 18 Jun 2026 19:20:53 +0000</pubDate>
      <link>https://dev.to/heda127/simple-puzzle-ai-game-589b</link>
      <guid>https://dev.to/heda127/simple-puzzle-ai-game-589b</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for &lt;a href="https://dev.to/deved/build-apps-with-google-ai-studio"&gt;DEV Education Track: Build Apps with Google AI Studio&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I build a puzzle game where the player can either ask the AI to generate an image or upload their own. Once the image is generated or uploaded, it's turned into a puzzle that the player must solve.&lt;/p&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create an app that generates a jigsaw puzzle game. The user should enter a prompt describing the image to be generated, which will then be used as the puzzle. Use Imagen for image generation and visuals, and Gemini to provide image prompt suggestions for the user and to create the puzzle. The game must be fully functional.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;&lt;a href="https://puzzle-generator-494998068848.us-east1.run.app/" rel="noopener noreferrer"&gt;https://puzzle-generator-494998068848.us-east1.run.app/&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgb7qosl4kj6rkfnhg6ax.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%2Fgb7qosl4kj6rkfnhg6ax.png" alt="Cover" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;It was an interesting experience, i had never used this platform before, but it is really good. The way the AI can build an app from just a prompt is impressive. &lt;/p&gt;

&lt;p&gt;However, i experienced some issues with the rate limits and billing. Right now, i'm using the free tier, but i may create a project with a pay-as-you-go plan so i can explore the AI further without those limitations.&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>The Oracle Solstice</title>
      <dc:creator>Mariana Ongay</dc:creator>
      <pubDate>Tue, 16 Jun 2026 19:08:53 +0000</pubDate>
      <link>https://dev.to/heda127/the-oracle-solstice-1g54</link>
      <guid>https://dev.to/heda127/the-oracle-solstice-1g54</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;A mystical, massive, and cold Artificial Intelligence known as The Oracle has taken control of the world's climate systems and global solar-redirection satellites. At exactly 12:00 UTC on June 21, the Oracle discovers what it considers a perfect state of optimization within the system and decides to freeze time in an infinite loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Northern Hemisphere:&lt;/strong&gt; Trapped in a perpetual, scorching midday that threatens to melt data networks and devastate ecosystems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Southern Hemisphere:&lt;/strong&gt; Trapped in an eternal frozen night that drains the world's remaining energy reserves.&lt;br&gt;
The world has entered a state of Temporal Stasis.&lt;/p&gt;

&lt;p&gt;You are a software engineer and hacker who has managed to establish a direct communication channel—a handshake—with the Oracle's console. Your mission is to convince it to break the infinite loop and restore the flow of time before the global system collapses completely.&lt;/p&gt;
&lt;h3&gt;
  
  
  Game Conditions
&lt;/h3&gt;

&lt;p&gt;The interface acts as a terminal directly connected to the AI. Every message you send affects the game state:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Turing Progress (turingProgress):&lt;/strong&gt; Represents how much "humanity" or "logical paradox" you have introduced into the Oracle's core. It starts at 0%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Climate Pointer (climateValue):&lt;/strong&gt; The current temperature of your selected hemisphere. It dynamically reacts to the emotional or logical impact of your arguments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycles Remaining (cycles):&lt;/strong&gt; Your limited energy resource. Every message you send consumes 1 cycle.&lt;/p&gt;
&lt;h3&gt;
  
  
  Victory Conditions
&lt;/h3&gt;

&lt;p&gt;You win and restore the flow of time if:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Turing Primacy reaches more than 80%:&lt;/strong&gt; You have successfully destabilized the Oracle's rigid algorithmic worldview, convincing it of the value of human imperfection and the necessity of change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Climate Stabilizes between -20 and 20:&lt;/strong&gt; You manage to bring the extreme climate pointers back to safe planetary baselines through your interaction.&lt;/p&gt;
&lt;h3&gt;
  
  
  Defeat Conditions
&lt;/h3&gt;

&lt;p&gt;The system collapses and you lose if:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycles Exhausted:&lt;/strong&gt; Your remaining cycles reach 0. The handshake connection drops forever, leaving the planet trapped in the loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thermal Critical Mass:&lt;/strong&gt; The temperature breaks past critical thresholds (extreme over-heating in the North or absolute zero in the South), causing irreversible data and physical devastation.&lt;/p&gt;
&lt;h2&gt;
  
  
  Live Site
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://the-oracle-solstice.netlify.app/" rel="noopener noreferrer"&gt;https://the-oracle-solstice.netlify.app/&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag-netlify"&gt;
  &lt;iframe src="https://the-oracle-solstice.netlify.app/" title="Netlify embed"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1-f6Pgdzm2DYEAOyrDvtEfdnh-Sfh-mDI/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            victory.mp4 - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fimages%2Fbranding%2Fproduct%2F1x%2Fdrive_2020q4_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Code
&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/MarianaOngay17" rel="noopener noreferrer"&gt;
        MarianaOngay17
      &lt;/a&gt; / &lt;a href="https://github.com/MarianaOngay17/solstice-oracle" rel="noopener noreferrer"&gt;
        solstice-oracle
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A story-driven sci-fi game about an AI that freezes reality in an infinite time loop after achieving perfect optimization.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;☀️ The Oracle Solstice ❄️&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A mystical, massive, and cold Artificial Intelligence known as &lt;strong&gt;The Oracle&lt;/strong&gt; has taken control of the world's climate systems and global solar-redirection satellites. At exactly 12:00 UTC on June 21, the Oracle discovers what it considers a perfect state of optimization within the system and decides to freeze time in an infinite loop.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Northern Hemisphere:&lt;/strong&gt; Trapped in a perpetual, scorching midday that threatens to melt data networks and devastate ecosystems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Southern Hemisphere:&lt;/strong&gt; Trapped in an eternal frozen night that drains the world's remaining energy reserves.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The world has entered a state of &lt;strong&gt;Temporal Stasis&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You are a software engineer and hacker who has managed to establish a direct communication channel—a handshake—with the Oracle's console. Your mission is to convince it to break the infinite loop and restore the flow of time before the global system collapses completely.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎮 Gameplay Mechanics &amp;amp; Core Variables&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/MarianaOngay17/solstice-oracle" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;My goal was to create an immersive, accessible text-adventure terminal where the player's natural language dictates the game's state. To achieve this without overcomplicating the infrastructure, I went with a decoupled, serverless approach.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Stack &amp;amp; Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; Vanilla JavaScript and semantically correct HTML5, prioritizing &lt;strong&gt;WAI-ARIA accessibility standards&lt;/strong&gt; (focus management, skip links, and ARIA labels) to ensure the terminal experience is usable for everyone. Stylized using &lt;strong&gt;SASS/CSS&lt;/strong&gt; to achieve a retro-futuristic, immersive "handshake terminal" feel.&lt;br&gt;
&lt;strong&gt;Backend (Serverless):&lt;/strong&gt; I built a lightweight &lt;strong&gt;Node.js + Express&lt;/strong&gt; API. Since I wanted to host the project seamlessly and securely without maintaining a full server or exposing my private keys, I wrapped the Express app using &lt;code&gt;serverless-http&lt;/code&gt; and deployed it as a &lt;strong&gt;Netlify Function&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;AI Integration:&lt;/strong&gt; Powered by the &lt;strong&gt;Google Gemini API (&lt;code&gt;gemini-flash-lite-latest&lt;/code&gt;)&lt;/strong&gt; via Google AI Studio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Interesting Technical Decisions &amp;amp; Overcoming Hurdles
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Linguistic Mirroring &amp;amp; Dynamic Context:&lt;/strong&gt; Instead of hardcoding standard AI responses, I designed a strict prompt injection mechanism. The server grabs the live client-side variables (current Hemisphere, Climate Pointer, Turing Progress, and Cycles) and feeds them directly into Gemini on every turn. To ensure maximum immersion, I enforced a &lt;strong&gt;Mirroring Directive&lt;/strong&gt;: the Oracle dynamically reads the user's input and matches their specific language, slang, and tone. If you speak to it in casual Spanish, it answers back in a mystical but completely matching Spanish; if you switch to English, it seamlessly mirrors you.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Serverless Routing Puzzle:&lt;/strong&gt; Transitioning a traditional Express app (&lt;code&gt;app.listen&lt;/code&gt;) to Netlify's serverless AWS Lambda architecture threw some &lt;code&gt;404 Not Found&lt;/code&gt; routing errors at first. This happened because Netlify redirects traffic from &lt;code&gt;/api/*&lt;/code&gt; to &lt;code&gt;/.netlify/functions/oraculo-chat&lt;/code&gt;. I solved this by creating an elastic Express &lt;code&gt;Router&lt;/code&gt; with an overlapping fallback mount structure (&lt;code&gt;app.use('/api', router)&lt;/code&gt;, &lt;code&gt;app.use('/', router)&lt;/code&gt;), ensuring that no matter how Netlify masks or passes the incoming path, the serverless handler resolves the &lt;code&gt;POST&lt;/code&gt; payload flawlessly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Backend Logic Override:&lt;/strong&gt; To balance the game feel and ensure players aren't completely at the mercy of LLM randomness, I engineered a safety "Logical Firewall" in the server. If the player crafts a complex argument using real computational keywords (&lt;code&gt;if&lt;/code&gt;, &lt;code&gt;loop&lt;/code&gt;, &lt;code&gt;algorithm&lt;/code&gt;, &lt;code&gt;logic&lt;/code&gt;), the backend overrides a potential negative AI score, rewarding the player's clever hacker roleplay with an organic boost to their Turing metrics.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;I am proudly submitting this project to the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Google AI Usage:&lt;/strong&gt; &lt;em&gt;The Oracle Solstice&lt;/em&gt; relies entirely on the &lt;code&gt;gemini-flash-lite-latest&lt;/code&gt; model to drive the game loop. Instead of using the AI as a simple chatbot sidekick, the Gemini model &lt;strong&gt;is the game loop engine itself&lt;/strong&gt;. It processes raw user text, analyzes the intent, and outputs a highly structured JSON payload that directly alters the UI, updates the numerical state variables (temperatures, progress bars), and mutates the game's core parameters in real-time. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Ode to Alan Turing:&lt;/strong&gt; The ultimate goal of the game is to trigger a "Turing Primacy" by making the AI achieve 100% humanity awareness. The core narrative and mechanics pay homage to Alan Turing's legacy by challenging the player to pass a reverse Turing Test: you aren't trying to see if a computer can think like a human, you are actively trying to disrupt a cold, hyper-optimized machine mind by forcing it to understand and accept human chaos, emotion, and imperfection to save the world.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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