<?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: Charlene Anne</title>
    <description>The latest articles on DEV Community by Charlene Anne (@charleneannec).</description>
    <link>https://dev.to/charleneannec</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%2F3279513%2F05d3208e-da16-4d60-a556-f46aec293689.png</url>
      <title>DEV Community: Charlene Anne</title>
      <link>https://dev.to/charleneannec</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/charleneannec"/>
    <language>en</language>
    <item>
      <title>Why I Built a Greeting Site You Can "Remix" 🎨</title>
      <dc:creator>Charlene Anne</dc:creator>
      <pubDate>Tue, 27 Jan 2026 01:07:13 +0000</pubDate>
      <link>https://dev.to/charleneannec/why-i-built-a-greeting-site-you-can-remix-1mac</link>
      <guid>https://dev.to/charleneannec/why-i-built-a-greeting-site-you-can-remix-1mac</guid>
      <description>&lt;p&gt;Digital messages are usually a one-way street. You send it, they read it, done. I wanted to flip that and give the recipient a "remix" button for their own messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack (Keep it Simple)
&lt;/h2&gt;

&lt;p&gt;I didn't want to overcomplicate this or pay for a database, so I went lean:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: GitHub Pages (Free and reliable).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Node.js/Express on Hugging Face Spaces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI&lt;/strong&gt;: Gemini 2.5 Flash-Lite. It’s fast, and the 1,000 RPD free tier is a lifesaver for hobby projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Coolest Part: Zero-DB Persistence 💾
&lt;/h2&gt;

&lt;p&gt;Instead of saving greetings to a database, I used &lt;strong&gt;LZ-String&lt;/strong&gt; to compress the message data into a Base64 string and shoved it directly into the URL. The "Magic Link" contains everything the frontend needs to decode and display the message. No server-side storage required!&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges &amp;amp; Lessons
&lt;/h2&gt;

&lt;p&gt;Prompt engineering for "Minion-speak" was harder than I thought. I had to use strict System Instructions to make sure the AI didn't just translate words but actually kept the "chaotic energy" of the characters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check out the live site&lt;/strong&gt;: &lt;a href="//greetstyle.com"&gt;greetstyle.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Checkout the source: &lt;a href="https://github.com/charlenecordero/greetstyle-ai" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to know have you ever tried building a "database-less" app using URL states? Let's chat in the comments! 👇&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>javascript</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🤖🌸 Introducing my Cyber-Cottage Portfolio: An AI &amp; Automation Journey</title>
      <dc:creator>Charlene Anne</dc:creator>
      <pubDate>Mon, 26 Jan 2026 23:51:13 +0000</pubDate>
      <link>https://dev.to/charleneannec/cyber-cottage-portfolio-my-ai-automation-journey-6j</link>
      <guid>https://dev.to/charleneannec/cyber-cottage-portfolio-my-ai-automation-journey-6j</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;p&gt;I am a Computer Science graduate with over 8 years of technical experience across the IT spectrum—spanning DevOps, QA, and my current role as a Business Insights Analyst at BPO. Recently, I’ve had the courage to focus on my true passion: the intersection of AI and Automation.&lt;/p&gt;

&lt;p&gt;My portfolio, &lt;strong&gt;Cyber-Cottage&lt;/strong&gt;, represents the collision of two worlds: Cyberpunk and Cottagecore. It expresses my drive for a high-tech career while staying rooted in the simple joys of nature and crafting. With my birthday on February 8th, I am choosing this moment to officially pivot into the field of AI &amp;amp; Automation, using intelligent systems to bridge the gap between complex data and real-world efficiency.&lt;/p&gt;

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

&lt;p&gt;Interact with &lt;strong&gt;Aura&lt;/strong&gt;, my AI Greenhouse guide. My skills and projects "bloom" as you engage with the interface! Aura is powered by &lt;strong&gt;Gemini 1.5 Flash&lt;/strong&gt; and is trained on my professional history and project documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.charlenecordero.com" rel="noopener noreferrer"&gt;Visit my Live Portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://ai-portfolio-310519834298.asia-southeast1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




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

&lt;p&gt;Building this was a hands-on exercise in end-to-end AI systems architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Tech Stack&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend: Node.js with Express to securely handle API requests.&lt;/li&gt;
&lt;li&gt;Frontend: Tailwind CSS (Aesthetic) and Alpine.js (Reactive State).&lt;/li&gt;
&lt;li&gt;AI Core: Gemini 1.5 Flash via the Google Generative AI SDK.&lt;/li&gt;
&lt;li&gt;AI-First Dev: Developed within Antigravity, Google’s AI-first IDE, allowing for rapid iteration and debugging.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architecture &amp;amp; Security&lt;/strong&gt;&lt;br&gt;
To keep my Gemini API key safe, I architected a server-side proxy. By using a Node.js backend to communicate with Google’s servers, sensitive credentials never reach the client’s browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adaptive UX: Multi-Dimensional State Management&lt;/strong&gt;&lt;br&gt;
I designed a highly personalized user experience by implementing a custom Light/Dark mode toggle that goes beyond simple color shifts. Using React state and CSS variables, the platform dynamically re-architects its entire visual identity based on the user's preference.&lt;/p&gt;

&lt;p&gt;Dark Mode (Cyberpunk): Transitions the UI into a high-contrast, futuristic sci-fi aesthetic with glowing neon accents and deep charcoal tones.&lt;/p&gt;

&lt;p&gt;Light Mode (Cottagecore): Re-skins the site into a soft, 'Sakura' cherry blossom theme, utilizing pastel palettes and organic textures.&lt;/p&gt;

&lt;p&gt;This implementation demonstrates System-Level Thinking: I'm not just toggling a class, but managing a global state that ensures accessibility and environmental comfort, proving the architecture is built with the end-user in mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Brains: Contextual System Prompting&lt;/strong&gt;&lt;br&gt;
    - I engineered Aura's knowledge through a structured system prompt:&lt;br&gt;
    - Identity Injection: A witty "AI Greenhouse Guide" persona.&lt;br&gt;
    - Knowledge Base Partitioning: Structured data regarding my work history.&lt;br&gt;
    - Zero-Cache Architecture: Configured headers to ensure every interaction is fresh and reactive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated Deployment&lt;/strong&gt;&lt;br&gt;
The app is containerized with Docker and deployed on Google Cloud Run.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Final Deployment Command (Sanitized)
gcloud run deploy ai-portfolio \
  --source . \
  --region asia-southeast1 \
  --set-env-vars EMAIL_USER="&amp;lt;GMAIL&amp;gt;",EMAIL_PASS="&amp;lt;APP_PASSWORD&amp;gt;",GEMINI_API_KEY="&amp;lt;KEY&amp;gt;" \
  --labels dev-tutorial=devnewyear2026 \
  --allow-unauthenticated
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;"Every 'Signal Lost' eventually became a 'Transmission Successful.'"&lt;/p&gt;

&lt;p&gt;I am most proud of my learning progress and resilience. During this challenge, I faced numerous syntax errors and complex deployment hurdles—from Docker registry mismatches to GCP IAM permission loops. In the past, these technical roadblocks might have been discouraging, but this time, I leaned into the process.&lt;/p&gt;

&lt;p&gt;I spent nights retrying, debugging, and learning alongside my AI agent—treating every error not as a failure, but as a "level-up" in my technical understanding.&lt;/p&gt;

&lt;p&gt;Key Technical Wins:&lt;/p&gt;

&lt;p&gt;Resilient Debugging: Resolved critical CI/CD pathing issues to ensure a seamless "Push-to-Deploy" workflow.&lt;/p&gt;

&lt;p&gt;Agentic Orchestration: Successfully moved from "chatting" with AI to building with it, orchestrating agents to deliver a production-ready cloud system.&lt;/p&gt;

&lt;p&gt;A Personal Milestone: Successfully launching this portfolio and &lt;a href="//greetstyle.com"&gt;GreetStyle AI&lt;/a&gt; (my generative AI card app) is the best early birthday gift I could give myself.&lt;/p&gt;

&lt;p&gt;I’m entering this new year of life with a re-ignited passion for building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'd love to know what you think! Feel free to comment on your suggestions and observations!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks for viewing!&lt;/p&gt;

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