<?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: Alverto Ortega-Garcia</title>
    <description>The latest articles on DEV Community by Alverto Ortega-Garcia (@aortega).</description>
    <link>https://dev.to/aortega</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%2F1322655%2F0a373ac6-26eb-4ec1-be5c-db219325320b.jpg</url>
      <title>DEV Community: Alverto Ortega-Garcia</title>
      <link>https://dev.to/aortega</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aortega"/>
    <language>en</language>
    <item>
      <title>Kinetix Fitness AI: Your Fitness Journey, Elevated by Gemini AI.</title>
      <dc:creator>Alverto Ortega-Garcia</dc:creator>
      <pubDate>Mon, 15 Sep 2025 04:00:12 +0000</pubDate>
      <link>https://dev.to/aortega/kinetix-fitness-ai-1d63</link>
      <guid>https://dev.to/aortega/kinetix-fitness-ai-1d63</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-ai-studio-2025-09-03"&gt;Google AI Studio Multimodal Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Introducing Kinetix Fitness AI: an intelligent training partner and Fitness tracker that solves the biggest problem with fitness apps: generic, one-size-fits-all plans. It creates a truly personalized and adaptive workout experience that grows and changes right alongside you.&lt;/p&gt;

&lt;p&gt;The app guides the user through a seamless, AI-driven fitness journey:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A Plan That's Truly Yours&lt;/strong&gt;: The experience begins with a detailed profile. You tell the AI your fitness level, goals, available equipment, and even your height, weight, and any injuries. The AI uses this to craft a plan that is 100% yours.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smart &amp;amp; Safe Sessions&lt;/strong&gt;: Each workout begins with a custom, AI-generated warm-up. During the session, an automated rest timer guides you. If an exercise doesn't feel right, you can instantly swap it for an AI-suggested alternative.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Effortless Progression&lt;/strong&gt;: After each exercise, you give simple feedback ("Easy", "Good", "Hard"). When you finish your weekly plan, the AI analyzes your performance and this feedback to automatically generate your next, more challenging plan. You never plateau.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Motivation &amp;amp; Insights&lt;/strong&gt;: To keep you engaged, the app tracks your workout streak and provides AI-powered summaries of your performance, highlighting your achievements.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Kinetix stands out by creating a smart feedback loop. Your performance directly informs the AI's next move, making every plan a precise, effective, and safe step forward in your fitness journey.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live App Link:&lt;/strong&gt; &lt;a href="https://kinetix-fitness-ai-1083848138513.us-west1.run.app/" rel="noopener noreferrer"&gt;https://kinetix-fitness-ai-1083848138513.us-west1.run.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github Repo Link:&lt;/strong&gt; &lt;a href="https://github.com/Alverto-Ortega/kinetic-fitness-ai.git" rel="noopener noreferrer"&gt;https://github.com/Alverto-Ortega/kinetic-fitness-ai.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video(YouTube) Link:&lt;/strong&gt; &lt;a href="https://youtu.be/FWn5_AlVph4?si=pdPQ3Tzz1LUFxrjM" rel="noopener noreferrer"&gt;https://youtu.be/FWn5_AlVph4?si=pdPQ3Tzz1LUFxrjM&lt;/a&gt;&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/FWn5_AlVph4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Screenshots:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Planner - Deep Customization&lt;/th&gt;
&lt;th&gt;Dashboard - Your Week at a Glance&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27i4qrg5u8r053ndfi9v.PNG" rel="noopener noreferrer"&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%2F27i4qrg5u8r053ndfi9v.PNG" alt="filled-out planner showing advanced options"&gt;&lt;/a&gt; &lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dfhv2mauap0ei46nuo9n.PNG" rel="noopener noreferrer"&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%2Fdfhv2mauap0ei46nuo9n.PNG" alt="filled-out planner showing advanced options"&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bpc9w2nxjxm0b2mkpm1.PNG" rel="noopener noreferrer"&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%2F8bpc9w2nxjxm0b2mkpm1.PNG" alt="Screenshot of the main dashboard with a generated plan"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Active Workout - Guided Session&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AI Physique Analysis - Visual Progress&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzg2ln6fqibrxk9nzow5.PNG" rel="noopener noreferrer"&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%2Fwzg2ln6fqibrxk9nzow5.PNG" alt="Screenshot of the active workout screen, logging a set"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q97rwaavj0y8510qupm8.PNG" rel="noopener noreferrer"&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%2Fq97rwaavj0y8510qupm8.PNG" alt="Screenshot of uploaded image for AI Physique Analysis"&gt;&lt;/a&gt; &lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhmudnochyiqgtz1h1d4.PNG" rel="noopener noreferrer"&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%2Fjhmudnochyiqgtz1h1d4.PNG" alt="Screenshot of the AI generated Physique Analysis Text Summary"&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How I Used Google AI Studio
&lt;/h2&gt;

&lt;p&gt;Kinetix is powered by the Gemini API, using the &lt;code&gt;gemini-2.5-flash&lt;/code&gt; model as the application's core "brain." My main goal was to make the AI not just a feature, but a reliable and intelligent foundation for the entire user experience.&lt;/p&gt;

&lt;p&gt;My core strategy was to master Gemini's &lt;strong&gt;JSON Mode&lt;/strong&gt;. Instead of asking the AI for plain text and trying to guess its structure, I command it to respond with perfectly formatted, structured data. This transforms the AI from a creative writer into a dependable backend, which is the key to the app's stability.&lt;/p&gt;

&lt;p&gt;Here are the key ways Kinetix uses the Gemini API:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Structured Plan Generation&lt;/strong&gt;: My main prompt is a detailed set of instructions for an "expert fitness coach" persona. It combines the user's profile, critical safety rules for injuries, and past performance data to generate a complete workout plan as a clean JSON object that the app can use instantly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;On-the-Fly Intelligence&lt;/strong&gt;: This JSON-first approach powers all the small, smart features that make the app feel alive, from generating tailored warm-ups to finding context-aware exercise alternatives on the spot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multimodal Physique Analysis&lt;/strong&gt;: I used Gemini's ability to understand images and text simultaneously. By sending a user's photo along with a prompt containing strict safety rules, the AI can provide a motivational visual assessment.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Multimodal Features
&lt;/h2&gt;

&lt;p&gt;I implemented two distinct multimodal functionalities that are critical to the app's success: one for a key user feature, and one for ensuring the app is incredibly reliable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature 1: AI Physique Analysis, Image + Text
&lt;/h3&gt;

&lt;p&gt;This feature demonstrates the classic multimodal capability of combining different data types in a single prompt.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it Enhances the Experience&lt;/strong&gt;: This feature brings progress to life. It gives users a way to track their transformation that's more tangible and motivational than just numbers on a screen. By combining the image with a text-based safety prompt, the feature is delivered in a responsible and encouraging way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it Works&lt;/strong&gt;: The user uploads a photo. The app sends the image data to Gemini along with a text prompt that sets the rules for the analysis (e.g., "be motivational," "do not give medical advice"). The AI processes both at once to provide its textual feedback.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feature 2: Reliable AI with Structured JSON Output (Text to JSON)
&lt;/h3&gt;

&lt;p&gt;This leverages the model's ability to output a different &lt;em&gt;modality&lt;/em&gt; of data (structured JSON) from a text input, which is a powerful and technically sophisticated use of multimodality.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it Enhances the Experience&lt;/strong&gt;: This is the secret to the app's professional feel. It eliminates the errors and unpredictable formatting common in many AI apps, ensuring the user gets a perfect workout plan every time. Especially useful for importing and exporting your complete personal fitness journey data used on this app to keep your workout history. This technical choice results in a seamless, trustworthy, and frustration-free experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it Works&lt;/strong&gt;: For almost every AI request, I provide a detailed text prompt but instruct the Gemini API to respond in the "modality" of structured JSON, not plain text. I provide it with a strict schema, and the model's output is guaranteed to match my app's data structures perfectly, making it a robust and dependable backend for the application.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Example of the AI-Generated JSON for Users’ Fitness Data Before Starting a Workout
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Workout plan: One day per week, Beginner fitness level, barbell equipment, and other optional choices auto-generated by AI. Includes AI-analyzed summary of the user's initial 'before' picture.: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;{&lt;br&gt;
  "plan": [&lt;br&gt;
    {&lt;br&gt;
      "day": "Wednesday",&lt;br&gt;
      "goal": "Full Body Strength",&lt;br&gt;
      "targetBodyParts": "Chest, Back, Legs, Shoulders, Arms",&lt;br&gt;
      "exercises": [&lt;br&gt;
        {&lt;br&gt;
          "name": "Barbell Squats",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "8-10",&lt;br&gt;
          "rest": 90,&lt;br&gt;
          "suggestedWeight": "65 lbs"&lt;br&gt;
        },&lt;br&gt;
        {&lt;br&gt;
          "name": "Barbell Bench Press",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "8-10",&lt;br&gt;
          "rest": 90,&lt;br&gt;
          "suggestedWeight": "65 lbs"&lt;br&gt;
        },&lt;br&gt;
        {&lt;br&gt;
          "name": "Bent-Over Barbell Rows",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "8-10",&lt;br&gt;
          "rest": 90,&lt;br&gt;
          "suggestedWeight": "45 lbs"&lt;br&gt;
        },&lt;br&gt;
        {&lt;br&gt;
          "name": "Standing Barbell Overhead Press",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "8-10",&lt;br&gt;
          "rest": 90,&lt;br&gt;
          "suggestedWeight": "45 lbs"&lt;br&gt;
        },&lt;br&gt;
        {&lt;br&gt;
          "name": "Barbell Bicep Curls",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "10-12",&lt;br&gt;
          "rest": 60,&lt;br&gt;
          "suggestedWeight": "40 lbs"&lt;br&gt;
        },&lt;br&gt;
        {&lt;br&gt;
          "name": "Barbell Triceps Extensions (Skullcrushers)",&lt;br&gt;
          "sets": "3",&lt;br&gt;
          "reps": "10-12",&lt;br&gt;
          "rest": 60,&lt;br&gt;
          "suggestedWeight": "30 lbs"&lt;br&gt;
        }&lt;br&gt;
      ]&lt;br&gt;
    }&lt;br&gt;
  ],&lt;br&gt;
  "workoutHistory": [],&lt;br&gt;
  "analysisHistory": [&lt;br&gt;
    {&lt;br&gt;
      "date": "2025-09-15T03:58:04.179Z",&lt;br&gt;
      "result": "Here's a Kinetix analysis of your impressive physique:\n\n1.  **Overall Impression:** You've clearly put in dedicated effort, building a solid and balanced foundation!\n2.  **Key Strengths:**\n    *   **Shoulder Definition:** Your deltoids show good shape and development, particularly in the anterior and lateral heads, contributing to a strong upper body silhouette.\n    *   **Arm Muscularity:** There's noticeable size and shape in your arms, indicating consistent work on both biceps and triceps.\n    *   **Forearm Strength &amp;amp; Leanness:** Your forearms exhibit impressive leanness and visible vascularity, highlighting your overall conditioning and grip strength.\n3.  **Areas for Focus:**\n    *   **Core Definition:** Focusing on targeted core exercises can further enhance abdominal separation and overall midsection leanness.\n    *   **Upper Chest Development:** Incorporating movements that specifically target the upper pectorals can add more fullness and balance to your chest, complementing your strong shoulders.\n    *   **Triceps Detail:** While your arms are strong, isolating the triceps more intensely could bring out greater detail and separation, enhancing arm aesthetics.\n4.  **Actionable Tip:** To boost your upper chest development, try incorporating **Incline Dumbbell Presses** with a controlled tempo into your routine."&lt;br&gt;
    }&lt;br&gt;
  ],&lt;br&gt;
  "streak": {&lt;br&gt;
    "current": 0,&lt;br&gt;
    "lastWorkoutDate": ""&lt;br&gt;
  },&lt;br&gt;
  "preferences": {&lt;br&gt;
    "fitnessLevel": "Beginner",&lt;br&gt;
    "daysPerWeek": "1",&lt;br&gt;
    "duration": "",&lt;br&gt;
    "equipment": [&lt;br&gt;
      "Barbell"&lt;br&gt;
    ],&lt;br&gt;
    "desiredGoals": [&lt;br&gt;
      ""&lt;br&gt;
    ],&lt;br&gt;
    "excludedGoals": [],&lt;br&gt;
    "specificDays": [],&lt;br&gt;
    "height": "5'9",&lt;br&gt;
    "weight": "150",&lt;br&gt;
    "injuries": ""&lt;br&gt;
  },&lt;br&gt;
  "completedDays": [],&lt;br&gt;
  "hasCompletedFirstPhase": false&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example JSON showing post-workout data.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;
  "workoutHistory": [
    {
      "date": "2025-09-15T06:05:50.249Z",
      "day": "Monday",
      "exercises": [
        {
          "exerciseName": "Barbell Squat",
          "sets": [
            {
              "reps": 9,
              "weight": 50
            },
            {
              "reps": 8,
              "weight": 55
            }
          ]
        }
      ]
    }
  ],
  "analysisHistory": [],
  "streak": {
    "current": 1,
    "lastWorkoutDate": "2025-09-15T06:05:50.249Z"
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Try the app yourself, it’s a wonderful experience that can greatly enhance your fitness journey. I’m already following the plan generated by this elegant Fitness AI, and it’s been both motivating and easy to use. &lt;/p&gt;

&lt;p&gt;Peace, love and good Health! :)&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>WebGL's Animation loop, gaming on browsers - One Byte Explainer</title>
      <dc:creator>Alverto Ortega-Garcia</dc:creator>
      <pubDate>Wed, 25 Sep 2024 04:50:10 +0000</pubDate>
      <link>https://dev.to/aortega/webgls-animation-loop-gaming-on-browsers-one-byte-explainer-4o1h</link>
      <guid>https://dev.to/aortega/webgls-animation-loop-gaming-on-browsers-one-byte-explainer-4o1h</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/webgame"&gt;Web Game Challenge&lt;/a&gt;: One Byte Explainer&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;WebGL's &lt;em&gt;animation loop&lt;/em&gt; concept powers browser games, creating smooth motion by rapidly rendering frames. Imagine flipping through pages of an illustrated book quickly, creating a fluid sequence of images as animated. This is the magic behind animations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I remember creating little booklets as a kid, filling the pages with images and symbols. When I flipped through them quickly, the pictures seemed to come alive, just like a simple animation. This is similar to how objects appear to move on a screen: images are refreshed rapidly, creating the illusion of motion..&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Web Development Algorithms...</title>
      <dc:creator>Alverto Ortega-Garcia</dc:creator>
      <pubDate>Mon, 16 Sep 2024 22:04:25 +0000</pubDate>
      <link>https://dev.to/aortega/web-development-algorithms-5gee</link>
      <guid>https://dev.to/aortega/web-development-algorithms-5gee</guid>
      <description>&lt;p&gt;These are algorithms that I consider very important, in particular for Web Development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Web Development Algorithms
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Algorithm types
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sorting, Search, Hashing, Graph, Tree Traversal, Dynamic programming, Catching, Compression, Security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bonus:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Regular Expressions for pattern matching and text processing. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concurrency and Asynchronous programming.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Patterns and Algorithms to focus on most for the Front-end of Web Development:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Debounce: A Pattern technique used for search inputs or API calls where there may be a heavy usage of user inputs that can overwork the system.&lt;/li&gt;
&lt;li&gt;Throttle: A Pattern technique used for optimizing performance when handling continuous events. Examples: scrolling, mouse movements...&lt;/li&gt;
&lt;li&gt;Merge Sort: A sorting algorithm that is reliable and efficient, implemented by JavaScript as a .sort() method. Examples: Optimize data-heavy User Interfaces.&lt;/li&gt;
&lt;li&gt;Binary Search : searching in sorted arrays/lists. In larger datasets this is more efficient than Linear search. Example usage: search filters, autocomplete suggestions.&lt;/li&gt;
&lt;li&gt;Regular expressions(regex): A technique used for String validation and pattern matching. Examples: Form validations for emails and passwords, search bars, and text formatting.&lt;/li&gt;
&lt;li&gt;Depth-first search(DFS) and Preorder Traversal: These two recursion Tree-traversal algorithms are useful for traversing, manipulating or rendering nested components like React component trees and DOM. Example: Rendering hierarchical UIs such as menus.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to add more to this list of Web Development algorithms in the comments below! :D&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>algorithms</category>
      <category>frontend</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Simple Food Recipe-sharing Starter Kit (vite, react, express, graphql, neon)</title>
      <dc:creator>Alverto Ortega-Garcia</dc:creator>
      <pubDate>Mon, 02 Sep 2024 06:58:11 +0000</pubDate>
      <link>https://dev.to/aortega/simple-food-recipe-sharing-starter-kit-26bp</link>
      <guid>https://dev.to/aortega/simple-food-recipe-sharing-starter-kit-26bp</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/neon"&gt;Neon Open Source Starter Kit Challenge &lt;/a&gt;: Ultimate Starter Kit&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Kit
&lt;/h2&gt;

&lt;p&gt;Welcome to my Food Recipe-sharing Starter Kit, a full-stack recipe management application designed to help you quickly start your own recipe-sharing platform. This starter kit is built with a modern tech stack including React for the frontend, Apollo Client for GraphQL interactions, and NEON as the PostgreSQL database. It features real-time updates with GraphQL subscriptions, a clean and responsive UI, and is structured to be easily extendable and customizable.&lt;/p&gt;

&lt;p&gt;Key Features:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Full-Stack Integration: Utilizes Apollo Server with GraphQL for data management, and React for a dynamic and responsive user interface.&lt;br&gt;
Real-Time Updates: Implements GraphQL subscriptions to provide real-time updates for new recipe additions.&lt;br&gt;
Simple Design: Not much to feature here lol Unfortunately, I didn't have enough time to implement the design aspect of my starter kit.&lt;br&gt;
NEON Database: Uses NEON, a powerful PostgreSQL database, for reliable and scalable data management.&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;Watch the demo video &lt;a href="https://www.youtube.com/watch?v=8dGL2bLkKOc" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
or directly on here:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/8dGL2bLkKOc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Kit
&lt;/h2&gt;

&lt;p&gt;You can explore the Recipe Starter Kit and its source code &lt;a href="https://github.com/Alverto-Ortega/recipe-starterkit.git" rel="noopener noreferrer"&gt;here. &lt;/a&gt;The repository includes a comprehensive README with detailed instructions on how to set up and run the project. Make sure to review the setup guidelines to get started quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Journey
&lt;/h2&gt;

&lt;p&gt;Choosing this stack was a deliberate decision to leverage cutting-edge technologies and best practices. React was selected for its flexibility and efficiency in building interactive UIs, while Apollo Client and Apollo Server provide a robust solution for managing GraphQL queries and real-time data. The integration of NEON as the PostgreSQL database ensures a reliable backend with scalability in mind.&lt;/p&gt;

&lt;p&gt;Throughout the development process, I learned the intricacies of combining these technologies into a cohesive system. Implementing GraphQL subscriptions for real-time updates was a significant learning curve, as it involved managing both client-side and server-side state seamlessly. Additionally, integrating NEON as the database allowed me to explore advanced features of PostgreSQL and understand the benefits of a managed database solution.&lt;/p&gt;

&lt;p&gt;This project not only helped me on my journey to mastering the use of modern development tools but also in appreciating the importance of designing scalable and maintainable applications. I hope this starter kit serves as a valuable resource for others looking to build similar applications.&lt;/p&gt;

&lt;p&gt;Soon, I will further improve this starter kit and implement a User account profile, sign up/login system, and food image input. I will then build my own official food-recipe sharing platform from this starter kit. Look out for an upcoming blog post on updates! &lt;br&gt;
Peace :}&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>neonchallenge</category>
      <category>postgres</category>
      <category>database</category>
    </item>
    <item>
      <title>Introvertish to Extrovertish</title>
      <dc:creator>Alverto Ortega-Garcia</dc:creator>
      <pubDate>Fri, 05 Apr 2024 19:40:06 +0000</pubDate>
      <link>https://dev.to/aortega/introvertish-to-extrovertish-110c</link>
      <guid>https://dev.to/aortega/introvertish-to-extrovertish-110c</guid>
      <description>&lt;p&gt;Through my self-awareness, I have noticed a strange phenomenon occurring within my personality. Ever since I entered the field of Computer Science and started working with Web/Software Technology, my time spent with computers—both at work and during my leisure time—has increased significantly. I don’t mind this at all since it’s my passion; however, it seems that something deep within me did get affected, as my personality trait has shifted from the introverted side of the spectrum to somewhere in the middle, leaning towards the extroverted side. &lt;/p&gt;

&lt;p&gt;I’ve noticed this change in myself as I now initiate conversations more often, even with strangers in public. This is not to say that I used to be anti-social (I'm more inclined to be anti-social-media, hehe); I enjoy socializing, but I didn’t often initiate conversations before. Maybe it's just an age thing as I start my new chapter of life in my 30s :') or perhaps the Web Development field lowkey improves your social skills, which is certainly not a bad thing! I'm not complaining, but I worried that this field would make me even more introverted, which is not entirely a bad thing.&lt;/p&gt;

&lt;p&gt;This evolution, however, has proven advantageous, particularly in my role as a front-end web developer. Effective communication is paramount in understanding clients’ needs and collaborating with a development team to devise solutions. The ability to step forward and connect with others has enriched these professional exchanges and I look forward to applying myself in my career.&lt;/p&gt;

&lt;p&gt;I’m curious to know if other introverts have experienced a similar transformation or conversely, have any extroverts found themselves gravitating towards introversion? Either way, you're all cool :)&lt;/p&gt;

&lt;p&gt;(PS - my first post, salud!)&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>programming</category>
      <category>introvert</category>
    </item>
  </channel>
</rss>
