<?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: Nicolas A. R.</title>
    <description>The latest articles on DEV Community by Nicolas A. R. (@nalarconrapela).</description>
    <link>https://dev.to/nalarconrapela</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%2F3745851%2Fbd6294f2-7b31-4b20-9a7e-a48a0fe828af.png</url>
      <title>DEV Community: Nicolas A. R.</title>
      <link>https://dev.to/nalarconrapela</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nalarconrapela"/>
    <language>en</language>
    <item>
      <title>AnMemoryNest: A Place to Preserve the Stories Behind Our Photographs</title>
      <dc:creator>Nicolas A. R.</dc:creator>
      <pubDate>Mon, 13 Jul 2026 06:15:15 +0000</pubDate>
      <link>https://dev.to/nalarconrapela/anmemorynest-a-place-to-preserve-the-stories-behind-our-photographs-2oed</link>
      <guid>https://dev.to/nalarconrapela/anmemorynest-a-place-to-preserve-the-stories-behind-our-photographs-2oed</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;This time, I decided to create an application that, although it is not directly connected to my main professional field, is deeply related to something I truly care about: &lt;strong&gt;memories&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A photograph has the ability to freeze time. It can preserve a journey, a friendship, a family celebration, or an ordinary moment that becomes incredibly valuable years later.&lt;/p&gt;

&lt;p&gt;However, today we take hundreds or even thousands of photographs that are often forgotten. They get lost among countless files, remain hidden inside a backup, or gather digital dust on an old hard drive.&lt;/p&gt;

&lt;p&gt;Many images also stay on our phones and are never shared with the friends or family members who experienced those moments with us.&lt;/p&gt;

&lt;p&gt;That is why I decided to create &lt;strong&gt;MemoryNest&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;MemoryNest is an application designed to bring together, organize, and preserve photographs, memories, and stories among families and groups of friends.&lt;/p&gt;

&lt;p&gt;I did not want to create just another photo gallery or another cloud storage service.&lt;/p&gt;

&lt;p&gt;I wanted to create a space where photographs could recover their context, their stories, and their connection to the people who appear in them.&lt;/p&gt;

&lt;p&gt;A place where memories are not only stored, but also shared, completed, and preserved over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  What MemoryNest Offers
&lt;/h3&gt;

&lt;p&gt;MemoryNest allows users to create collaborative albums where family members and friends can contribute their own photographs, add stories, and rebuild memories together.&lt;/p&gt;

&lt;p&gt;The application can be used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collect photographs from a trip with friends.&lt;/li&gt;
&lt;li&gt;Create collaborative family albums.&lt;/li&gt;
&lt;li&gt;Preserve stories from parents and grandparents.&lt;/li&gt;
&lt;li&gt;Organize weddings, celebrations, and family gatherings.&lt;/li&gt;
&lt;li&gt;Build travel journals and document important life stages.&lt;/li&gt;
&lt;li&gt;Add context, dates, locations, and people.&lt;/li&gt;
&lt;li&gt;Keep memories inside a private space.&lt;/li&gt;
&lt;li&gt;Preserve a digital legacy for the future.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, after an Interrail trip, each person may have different photographs stored on their phone.&lt;/p&gt;

&lt;p&gt;One person may have the landscapes, another the meals, another the train journeys, and someone else those spontaneous moments that nobody else managed to capture.&lt;/p&gt;

&lt;p&gt;Normally, all those images remain scattered across several devices, messaging conversations, and cloud services.&lt;/p&gt;

&lt;p&gt;With MemoryNest, all those different perspectives can be brought together in one place and transformed into a shared story.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Role of Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;Artificial intelligence is part of MemoryNest as a support tool for organizing and recovering memories.&lt;/p&gt;

&lt;p&gt;When someone has hundreds or thousands of photographs, reviewing every image, sorting it, and adding information can become an endless task.&lt;/p&gt;

&lt;p&gt;AI helps reduce that workload.&lt;/p&gt;

&lt;p&gt;It can suggest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Album titles.&lt;/li&gt;
&lt;li&gt;Photograph descriptions.&lt;/li&gt;
&lt;li&gt;Tags and categories.&lt;/li&gt;
&lt;li&gt;Groups of related images.&lt;/li&gt;
&lt;li&gt;Possible dates or locations.&lt;/li&gt;
&lt;li&gt;Duplicate or highly similar photographs.&lt;/li&gt;
&lt;li&gt;Memories that are still incomplete.&lt;/li&gt;
&lt;li&gt;An initial structure for the story of a trip or event.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MemoryNest also includes a memory assistant that can help users explore their albums, find specific memories, and draft stories based on the information already preserved.&lt;/p&gt;

&lt;p&gt;For example, a user could ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What memories do we have from our trip to Italy?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Help me write a short story about this family album.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Artificial intelligence is not intended to replace people or invent memories.&lt;/p&gt;

&lt;p&gt;It can help recognize that several photographs belong to the same trip, but only the people who lived that moment can explain why it mattered.&lt;/p&gt;

&lt;p&gt;That is why AI acts as an assistant inside MemoryNest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artificial intelligence helps organize the photographs.&lt;br&gt;
People preserve the meaning of the memory.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can try MemoryNest using the following links:&lt;/p&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 flex items-center justify-between"&gt;
        &lt;a href="https://anmemorynest.ai.studio" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;anmemorynest.ai.studio&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The demo is prepared so that users can explore the application without creating an account.&lt;/p&gt;

&lt;p&gt;It includes sample albums, family stories, trips, and memories to demonstrate how the collaborative experience works.&lt;/p&gt;

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

&lt;p&gt;MemoryNest was developed as a modern full-stack web application.&lt;/p&gt;

&lt;p&gt;The main technologies used are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;Google Cloud Firestore&lt;/li&gt;
&lt;li&gt;Google AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The artificial intelligence integration runs on the server to protect credentials and keep sensitive information away from the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;/p&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/anappwilos" rel="noopener noreferrer"&gt;
        anappwilos
      &lt;/a&gt; / &lt;a href="https://github.com/anappwilos/AnMemoryNest" rel="noopener noreferrer"&gt;
        AnMemoryNest
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/86bcf8eed3617be69c1d9c85006886e151bb77c49fe9e80ae334ebeaef6d098a/68747470733a2f2f61692e676f6f676c652e6465762f7374617469632f736974652d6173736574732f696d616765732f73686172652d6169732d3531333331353331382e706e67"&gt;&lt;img width="1200" height="475" alt="GHBanner" src="https://camo.githubusercontent.com/86bcf8eed3617be69c1d9c85006886e151bb77c49fe9e80ae334ebeaef6d098a/68747470733a2f2f61692e676f6f676c652e6465762f7374617469632f736974652d6173736574732f696d616765732f73686172652d6169732d3531333331353331382e706e67" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Run and deploy your AI Studio app&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;This contains everything you need to run your app locally.&lt;/p&gt;
&lt;p&gt;View your app in AI Studio: &lt;a href="https://ai.studio/apps/ad2fb8cf-3728-4ab7-8970-91ec637ca344" rel="nofollow noopener noreferrer"&gt;https://ai.studio/apps/ad2fb8cf-3728-4ab7-8970-91ec637ca344&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run Locally&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;  Node.js&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install dependencies:
&lt;code&gt;npm install&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set the &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; in &lt;a href="https://github.com/anappwilos/AnMemoryNest/.env.local" rel="noopener noreferrer"&gt;.env.local&lt;/a&gt; to your Gemini API key&lt;/li&gt;
&lt;li&gt;Run the app:
&lt;code&gt;npm run dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/anappwilos/AnMemoryNest" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;p&gt;One of the main goals during development was to make sure that MemoryNest did not feel like a traditional file manager.&lt;/p&gt;

&lt;p&gt;I did not want to create a cold or overly technical interface.&lt;/p&gt;

&lt;p&gt;The application uses a warm and calm visual style inspired by family albums, journals, and memory books.&lt;/p&gt;

&lt;p&gt;Photographs and stories are given more visual importance than technical metadata.&lt;/p&gt;

&lt;p&gt;The experience is designed so that anyone can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explore memories.&lt;/li&gt;
&lt;li&gt;Create albums.&lt;/li&gt;
&lt;li&gt;Invite family members or friends.&lt;/li&gt;
&lt;li&gt;Add photographs.&lt;/li&gt;
&lt;li&gt;Complete stories.&lt;/li&gt;
&lt;li&gt;Use AI to organize content.&lt;/li&gt;
&lt;li&gt;Collaborate with other people.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Privacy was also treated as a priority.&lt;/p&gt;

&lt;p&gt;Photographs, family stories, and personal memories should remain protected and accessible only to authorized people.&lt;/p&gt;

&lt;p&gt;MemoryNest is designed as a private and collaborative space, not as a public social network.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Best Use of Google AI 🏆
&lt;/h3&gt;

&lt;p&gt;MemoryNest uses Google AI to help transform large collections of photographs into memories that are organized, accessible, and easier to share.&lt;/p&gt;

&lt;p&gt;Artificial intelligence can assist with image classification, duplicate detection, title generation, and the creation of descriptions or stories.&lt;/p&gt;

&lt;p&gt;The memory assistant can also answer questions related to albums and help users recover information stored inside their collection.&lt;/p&gt;

&lt;p&gt;The main idea is not to use AI to create artificial memories.&lt;/p&gt;

&lt;p&gt;Its purpose is to help people find, organize, and preserve their real memories.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why MemoryNest Is Different
&lt;/h2&gt;

&lt;p&gt;There are many applications for storing photographs.&lt;/p&gt;

&lt;p&gt;However, storing an image does not mean preserving its story.&lt;/p&gt;

&lt;p&gt;A photograph can remain inside a folder for years without anyone remembering who appears in it, where it was taken, or what happened that day.&lt;/p&gt;

&lt;p&gt;MemoryNest tries to recover that context.&lt;/p&gt;

&lt;p&gt;It does not focus only on saving files, but on preserving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;People.&lt;/li&gt;
&lt;li&gt;Relationships.&lt;/li&gt;
&lt;li&gt;Places.&lt;/li&gt;
&lt;li&gt;Stories.&lt;/li&gt;
&lt;li&gt;Emotions.&lt;/li&gt;
&lt;li&gt;Different perspectives of the same memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A gallery stores photographs.&lt;/p&gt;

&lt;p&gt;MemoryNest tries to preserve everything that exists behind them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next
&lt;/h2&gt;

&lt;p&gt;In the future, I would like to expand MemoryNest with features such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audio memories.&lt;/li&gt;
&lt;li&gt;Transcription of family stories.&lt;/li&gt;
&lt;li&gt;Interactive travel maps.&lt;/li&gt;
&lt;li&gt;Automatic timelines.&lt;/li&gt;
&lt;li&gt;People grouping with explicit consent.&lt;/li&gt;
&lt;li&gt;Importing collections from old hard drives.&lt;/li&gt;
&lt;li&gt;Restoration of damaged photographs.&lt;/li&gt;
&lt;li&gt;Digital time capsules.&lt;/li&gt;
&lt;li&gt;Family trees connected to memories.&lt;/li&gt;
&lt;li&gt;Printable album exports.&lt;/li&gt;
&lt;li&gt;Mobile applications.&lt;/li&gt;
&lt;li&gt;Advanced digital legacy options.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of my future goals is for MemoryNest to help recover old collections stored on hard drives, inside disorganized folders, and in forgotten backups.&lt;/p&gt;

&lt;p&gt;The idea is to transform all that content into albums that families and friends can rediscover together.&lt;/p&gt;

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

&lt;p&gt;MemoryNest was born from a simple idea.&lt;/p&gt;

&lt;p&gt;Today, we have an extraordinary ability to capture moments, but we do not always know how to preserve them.&lt;/p&gt;

&lt;p&gt;Photographs remain on our phones, disappear inside backups, or are forgotten on old hard drives.&lt;/p&gt;

&lt;p&gt;Over time, their context also disappears.&lt;/p&gt;

&lt;p&gt;We stop remembering who appears in them, where they were taken, or why that moment was important.&lt;/p&gt;

&lt;p&gt;MemoryNest tries to change that.&lt;/p&gt;

&lt;p&gt;It aims to provide a space where family members and friends can bring their photographs together, complete their stories, and preserve a shared legacy.&lt;/p&gt;

&lt;p&gt;Because saving a photograph is important.&lt;/p&gt;

&lt;p&gt;But sharing its story is what truly preserves the memory.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>AnGithubManager: an application for my day-to-day life as a developer</title>
      <dc:creator>Nicolas A. R.</dc:creator>
      <pubDate>Wed, 04 Mar 2026 14:27:22 +0000</pubDate>
      <link>https://dev.to/nalarconrapela/angithubmanager-an-application-for-my-day-to-day-life-as-a-developer-9if</link>
      <guid>https://dev.to/nalarconrapela/angithubmanager-an-application-for-my-day-to-day-life-as-a-developer-9if</guid>
      <description>&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%2Fab214t66yx659tgnrgnw.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%2Fab214t66yx659tgnrgnw.png" alt="Logo AngithubManager" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built with Google Gemini
&lt;/h2&gt;

&lt;p&gt;My last few months have been focused on creating various projects as part of my AI learning journey.&lt;/p&gt;

&lt;p&gt;I'm a Git and GitHub enthusiast, but I didn't interact much with the interface. Lately, however, I've found myself needing to use it, but working on multiple projects simultaneously made navigating the GitHub interface quite cumbersome. To address this, I started the AnGithubManager project using Google AI Studio.&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%2Fbhbewjf07vbh6afijupk.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%2Fbhbewjf07vbh6afijupk.png" alt="Login" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where Gemini solves my main problem: creating a simple pull request without having to think about it automatically, saving a significant amount of time, and above all, providing invaluable support when my head is spinning with problems.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&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%2Fnl9olr7z4sru4uy12zgf.png" alt="Image 1" width="543" height="490"&gt;&lt;br&gt;
      Welcome
    &lt;/td&gt;
    &lt;td&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%2Fhw22878bmkmzyhaazo07.png" alt="Image 2" width="800" height="2940"&gt;&lt;br&gt;
      Lista
    &lt;/td&gt;
    &lt;td&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%2Fwiy1auo3cdlh8hv04573.png" alt="Image 3" width="800" height="559"&gt;&lt;br&gt;
      Navegación
    &lt;/td&gt;
    &lt;td&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%2Fucawf7qg64qhytoq2ltg.png" alt="Image 4" width="800" height="435"&gt;&lt;br&gt;
      Detalle
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

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

&lt;p&gt;&lt;a href="https://angithubmanagerbeta.onrender.com/" rel="noopener noreferrer"&gt;https://angithubmanagerbeta.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Images creating PR: &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%2F8kdkqcj298359j2jkj7t.jpg" 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%2F8kdkqcj298359j2jkj7t.jpg" width="800" height="1733"&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%2Fh3owminppbz8dbod9l1n.jpg" 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%2Fh3owminppbz8dbod9l1n.jpg" alt=" " width="800" height="1733"&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%2Fu6k5e1wn7t942k7axsry.jpg" 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%2Fu6k5e1wn7t942k7axsry.jpg" alt=" " width="800" height="1733"&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%2Fn5doqtmcjku6z8g3l45y.jpg" 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%2Fn5doqtmcjku6z8g3l45y.jpg" alt=" " width="800" height="1733"&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%2F0ktf2bwrk8ib2qqhmx14.jpg" 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%2F0ktf2bwrk8ib2qqhmx14.jpg" alt=" " width="800" height="1733"&gt;&lt;/a&gt;&lt;br&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%2F4d8qmvp6366wwsalcf4f.jpg" 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%2F4d8qmvp6366wwsalcf4f.jpg" alt=" " width="800" height="1733"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I learned about the real-world, production implementation of Gemeni services.&lt;br&gt;
As a side effect, I also learned to use Google AI Studio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Gemini Feedback
&lt;/h2&gt;

&lt;p&gt;What worked best was that it could be implemented from day one.&lt;br&gt;
The most complicated part at the time was keeping it running in different environments such as Google AI Studio, local, and production, due to technical limitations in Google AI Studio, which didn't support enviorments by default. Therefore, I had to hardcode a backend URL to call if it couldn't find a valid environments.&lt;/p&gt;

&lt;h1&gt;
  
  
  gemini #googleaistudio #github #anappwilos
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>geminireflections</category>
      <category>gemini</category>
    </item>
    <item>
      <title>🛒Shopping list to make shopping faster - AnQuickMerca</title>
      <dc:creator>Nicolas A. R.</dc:creator>
      <pubDate>Mon, 02 Mar 2026 06:53:57 +0000</pubDate>
      <link>https://dev.to/nalarconrapela/lista-de-la-compra-para-hacer-mas-rapido-las-compras-anquickmerca-4ea9</link>
      <guid>https://dev.to/nalarconrapela/lista-de-la-compra-para-hacer-mas-rapido-las-compras-anquickmerca-4ea9</guid>
      <description>&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;I don't know if my community exists, but if it doesn't, it wouldn't be bad to create one; it's simply about going shopping.&lt;/p&gt;

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

&lt;p&gt;What I created (or what I tried to create 😅) is a shopping list app, but with a key difference compared to other apps: it optimizes your route within the supermarket. The idea is to shop more quickly and efficiently, avoiding that feeling of wandering around thirty times to pick up three things… or worse, arriving at a new supermarket and getting lost in the aisles looking for a loaf of bread or even a stocker, who's always there… until you need them and they mysteriously disappear 🫥.&lt;/p&gt;

&lt;p&gt;The app is based on a very popular supermarket in Spain (Mercadona), mainly because of its physical layout, data availability, and because it's the one I frequent most (hehe). Even so, the approach can easily be applied to any other store.&lt;/p&gt;

&lt;p&gt;And this is where the community comes in: it would be responsible for updating locations, notifying users of stock shortages, or other details that a company normally can't (or doesn't want to) share. &lt;em&gt;It's true that I still need to polish this part a bit (hehe), but the idea is clear&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Remember that this is a demo; therefore, some data may not be 100% accurate, and it's not yet available to end users. But if it's successful, and the community supports it, we could develop it further and implement it for real-world use. 🙂&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fajmhc62on63dcxuzwnyp.jpg" 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%2Fajmhc62on63dcxuzwnyp.jpg" alt=" "&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%2F4ouxhb7vu3myotccb2st.jpg" 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%2F4ouxhb7vu3myotccb2st.jpg" alt=" "&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%2F81mip9gsld940tag7ue4.jpg" 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%2F81mip9gsld940tag7ue4.jpg" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Idea
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzysqcbljk6rmtahgi45.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%2Frzysqcbljk6rmtahgi45.png" alt=" "&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%2Fwoadzyeb6tesniwwp5og.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%2Fwoadzyeb6tesniwwp5og.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;

&lt;/p&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/nicolasalarconrapela" rel="noopener noreferrer"&gt;
        nicolasalarconrapela
      &lt;/a&gt; / &lt;a href="https://github.com/nicolasalarconrapela/AnQuickMerca" rel="noopener noreferrer"&gt;
        AnQuickMerca
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Un gestor de compras en supermercado fisico
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nicolasalarconrapela/AnQuickMerca/public/icon.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fnicolasalarconrapela%2FAnQuickMerca%2Fpublic%2Ficon.svg" alt="AnQuickMerca Logo" width="120" height="120"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;AnQuickMerca&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Optimize your shopping in seconds&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/nicolasalarconrapela/AnQuickMerca/./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://github.com/nicolasalarconrapela/AnQuickMerca/./public/manifest.json" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9508337e240bf025c7720dc5d8e830ab4aa88c08595aa91c36bac743e85ca9f6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5057412d72656164792d707572706c65" alt="PWA"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nicolasalarconrapela/AnQuickMerca/imgs/image-3.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fnicolasalarconrapela%2FAnQuickMerca%2Fimgs%2Fimage-3.png" alt="loading" width="140"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nicolasalarconrapela/AnQuickMerca/imgs/image.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fnicolasalarconrapela%2FAnQuickMerca%2Fimgs%2Fimage.png" alt="welcome" width="140"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nicolasalarconrapela/AnQuickMerca/imgs/image-1.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fnicolasalarconrapela%2FAnQuickMerca%2Fimgs%2Fimage-1.png" alt="lista gazpacho" width="140"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nicolasalarconrapela/AnQuickMerca/imgs/image-2.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fnicolasalarconrapela%2FAnQuickMerca%2Fimgs%2Fimage-2.png" alt="navegacion" width="136"&gt;&lt;/a&gt;
&lt;/p&gt;


&lt;/div&gt;

&lt;p&gt;🌐 &lt;a href="https://anquickmerca-frontend.onrender.com" rel="nofollow noopener noreferrer"&gt;https://anquickmerca-frontend.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is AnQuickMerca?&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;AnQuickMerca is a &lt;strong&gt;Progressive Web App (PWA)&lt;/strong&gt; built to optimize your Mercadona shopping in real time. Create smart shopping lists, get an efficient in-store route, and search products with AI assistance.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Key Features&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;🛒 &lt;strong&gt;Shopping lists&lt;/strong&gt; — Create, edit, and organize multiple lists&lt;/li&gt;
&lt;li&gt;🗺️ &lt;strong&gt;In-store navigation&lt;/strong&gt; — Optimized aisle routes to reduce time and backtracking&lt;/li&gt;
&lt;li&gt;🔍 &lt;strong&gt;AI-assisted search&lt;/strong&gt; — Find products using Google Gemini assistance&lt;/li&gt;
&lt;li&gt;🌍 &lt;strong&gt;Store picker&lt;/strong&gt; — Interactive Spain map with Mercadona locations&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;Installable PWA&lt;/strong&gt; — Works offline and feels like a native app on mobile&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Bilingual UI&lt;/strong&gt; — Full interface in Spanish and English&lt;/li&gt;
&lt;li&gt;🔁 &lt;strong&gt;Recurring lists&lt;/strong&gt; — Schedule daily, weekly, monthly, or yearly shopping&lt;/li&gt;
&lt;li&gt;💰 &lt;strong&gt;Estimated total&lt;/strong&gt; — Real-time cost estimate as you build your list&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech Stack&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;&lt;div class="table-wrapper-paragraph"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;table&gt;

&lt;thead&gt;

&lt;tr&gt;

&lt;th&gt;Technology&lt;/th&gt;

&lt;th&gt;Purpose&lt;/th&gt;

&lt;/tr&gt;

&lt;/thead&gt;

&lt;tbody&gt;

&lt;tr&gt;

&lt;td&gt;React 19 + TypeScript&lt;/td&gt;

&lt;td&gt;Frontend framework&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;Vite 6&lt;/td&gt;

&lt;td&gt;Build tool &amp;amp; dev server&lt;/td&gt;

&lt;/tr&gt;

&lt;/tbody&gt;

&lt;/table&gt;&lt;/div&gt;…&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/nicolasalarconrapela/AnQuickMerca" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





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

&lt;p&gt;It is a Vite and Typescript project with persistence in localstorage &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>devnewyear2026 Portfolio - Nicolás Alarcón Rapela</title>
      <dc:creator>Nicolas A. R.</dc:creator>
      <pubDate>Mon, 02 Feb 2026 07:33:43 +0000</pubDate>
      <link>https://dev.to/nalarconrapela/devnewyear2026-portfolio-nicolas-alarcon-rapela-40fn</link>
      <guid>https://dev.to/nalarconrapela/devnewyear2026-portfolio-nicolas-alarcon-rapela-40fn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Portfolio
&lt;/h2&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://anportafolioia-66989787089.us-west1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;p&gt;Don't forget to include the dev label!GC&lt;/p&gt;

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

&lt;p&gt;I have used Google AI Studio and AnGravity&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;Well, what I'm most proud of is being able to put it together with such short notice, since I only found out last week, but honestly, it turned out much better than I could have ever imagined.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/nicolasalarconrapela/AnPortafolioIA" rel="noopener noreferrer"&gt;https://github.com/nicolasalarconrapela/AnPortafolioIA&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
