<?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: Charli Alexender</title>
    <description>The latest articles on DEV Community by Charli Alexender (@charlialexender).</description>
    <link>https://dev.to/charlialexender</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%2F4092702%2F77b9b372-34f9-498f-9686-12a199ab08e4.png</url>
      <title>DEV Community: Charli Alexender</title>
      <link>https://dev.to/charlialexender</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/charlialexender"/>
    <language>en</language>
    <item>
      <title>Vibe Coding, AI-Driven Development, and the Power of Specialized Micro-Tools</title>
      <dc:creator>Charli Alexender</dc:creator>
      <pubDate>Tue, 22 Sep 2026 13:10:35 +0000</pubDate>
      <link>https://dev.to/charlialexender/vibe-coding-ai-driven-development-and-the-power-of-specialized-micro-tools-4glm</link>
      <guid>https://dev.to/charlialexender/vibe-coding-ai-driven-development-and-the-power-of-specialized-micro-tools-4glm</guid>
      <description>&lt;p&gt;Modern software development is undergoing a massive paradigm shift. For decades, writing code meant memorizing syntax, manually managing boilerplate, debugging subtle memory leaks, and spending hours configuring build environments. Today, we have entered the era of vibe coding—a development philosophy where human intent takes the driver's seat, and generative artificial intelligence handles the heavy lifting of code synthesis, architecture scaffolding, and syntax generation.&lt;/p&gt;

&lt;p&gt;This comprehensive guide explores the rise of vibe coding, how AI-driven tools are reshaping engineering workflows, and why developers and creators are increasingly building lightweight, highly specialized web utilities. We will also examine three practical applications built on this philosophy: the RPE Calculator, the North Node Calculator, and the Prostate Volume Calculator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Vibe Coding?&lt;/strong&gt;&lt;br&gt;
The term "vibe coding" emerged as a cultural descriptor for how developers interact with modern AI models like Claude, GPT-4, and specialized coding agents. Instead of meticulously typing out every single function, loop, and stylesheet rule character by character, a vibe coder acts more like a product manager, architect, or director.&lt;/p&gt;

&lt;p&gt;You describe the "vibe," the logic, and the end goal in natural language. The AI generates the implementation, and you review, test, and iterate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Vibe Coding Works&lt;/strong&gt;&lt;br&gt;
Speed to Prototype: Ideas that once took weeks to prototype can now be spun up in a single afternoon.&lt;/p&gt;

&lt;p&gt;Reduced Cognitive Load: Developers no longer need to keep syntax manuals or obscure library methods memorized; they can focus entirely on system design and user experience.&lt;/p&gt;

&lt;p&gt;Democratization of Tech: Individuals with domain expertise in fitness, astrology, or medicine can build software solutions without needing a formal computer science degree.&lt;/p&gt;

&lt;p&gt;The Shift Toward Micro-SaaS and Specialized Web Utilities&lt;br&gt;
As AI lowers the barrier to entry for coding, the software landscape is shifting away from monolithic, bloated applications toward hyper-focused micro-tools. Users no longer want to navigate complex dashboards for a single calculation. They want instant, single-purpose web pages that load in milliseconds and deliver precise results.&lt;/p&gt;

&lt;p&gt;Building these tools requires combining clean front-end frameworks (like Tailwind CSS and Vanilla JavaScript) with accurate mathematical or logical formulas. Below, we look at three distinct micro-tools that exemplify this trend, each serving a unique niche.&lt;/p&gt;

&lt;p&gt;Tool 1: Fitness and Performance Tracking — The RPE Calculator&lt;br&gt;
In strength training and athletics, tracking load and intensity is critical to preventing overtraining and ensuring continuous progress. Traditional percentage-based loading (using a static 1-Rep Max) often fails because an athlete's daily strength fluctuates based on sleep, stress, and nutrition.&lt;br&gt;
&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__cover"&gt;
          &lt;a href="https://rpescalculator.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Frpescalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2FRPE-Set-Calculator-2.webp" height="400" class="m-0" width="400"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://rpescalculator.com/" rel="noopener noreferrer" class="c-link"&gt;
            RPE Calculator - Estimate 1RM &amp;amp; Backoff Sets
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Free RPE calculator to estimate your 1RM, plan backoff sets, and convert RPE to percentage. Built for lifters who train by feel, not fixed numbers.
          &lt;/p&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/https%3A%2F%2Frpescalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2FRPE-Set-Calculator-2-150x150.webp" width="150" height="150"&gt;
          rpescalculator.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This is where the RPE Calculator comes in. RPE stands for Rate of Perceived Exertion, paired with Reps in Reserve (RIR). It allows lifters to quantify how difficult a set felt on a scale of 1 to 10.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works Under the Hood&lt;/strong&gt;&lt;br&gt;
The application maps RPE values against the number of completed repetitions to estimate the athlete's true 1-Rep Max (1RM) for that specific session.&lt;/p&gt;

&lt;p&gt;Tool 2: Astrology and Karmic Alignment — The North Node Calculator&lt;br&gt;
Moving from physical sciences into esoteric and metaphysical web applications, astrology tools have seen a massive surge in digital engagement. Users are constantly looking for automated ways to map their natal charts without manually plotting planetary coordinates.&lt;/p&gt;

&lt;p&gt;The North Node Calculator determines the exact zodiac sign and house position of the Moon's North Node at the exact date, time, and location of a person's birth.&lt;br&gt;
&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__cover"&gt;
          &lt;a href="https://northnodescalculator.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/http%3A%2F%2Fnorthnodescalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2Fcropped-cropped-North-Node-Calculator-2.webp" height="512" class="m-0" width="512"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://northnodescalculator.com/" rel="noopener noreferrer" class="c-link"&gt;
            North Node Calculator | Your True Life Path &amp;amp; Destiny Sign
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Find your North Node sign instantly with this free calculator. Get insights into your astrology chart and explore your life path and personal growth.
          &lt;/p&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/https%3A%2F%2Fnorthnodescalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2Fcropped-cropped-North-Node-Calculator-2-32x32.webp" width="32" height="32"&gt;
          northnodescalculator.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The Significance of the North Node&lt;/strong&gt;&lt;br&gt;
In astrological philosophy, the North Node represents your soul's evolutionary path, the lessons you are meant to learn, and the future direction of personal growth in this lifetime (contrasted with the South Node, which represents past habits and comfort zones).&lt;br&gt;
**&lt;br&gt;
Technical Implementation Challenges**&lt;br&gt;
Building this tool requires integrating ephemeris data or astronomical calculation libraries (such as Swiss Ephemeris ports) to compute celestial mechanics accurately. A clean, responsive user interface accepts user inputs (birth date, time, and coordinates) and outputs a detailed breakdown of karmic archetypes, making ancient astrological wisdom accessible via modern web architecture.&lt;/p&gt;

&lt;p&gt;Tool 3: Clinical and Medical Estimation — The Prostate Volume Calculator&lt;br&gt;
In healthcare and urological diagnostics, precision is paramount. Clinicians often need a quick, reliable way to estimate prostate volume during screenings (such as assessing Benign Prostatic Hyperplasia or tracking PSA density trends) based on ultrasound imaging dimensions.&lt;br&gt;
&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__cover"&gt;
          &lt;a href="https://prostatesvolumecalculator.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fprostatesvolumecalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2FProstate-calculator-2.webp" height="450" class="m-0" width="450"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://prostatesvolumecalculator.com/" rel="noopener noreferrer" class="c-link"&gt;
            Prostate Volume Calculator - Ellipsoid &amp;amp; Bullet Formula
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Free prostate volume and PSA density calculator using ellipsoid and bullet formulas. For clinicians, students and patients reviewing ultrasound or MRI results.
          &lt;/p&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%2Fprostatesvolumecalculator.com%2Fwp-content%2Fuploads%2F2026%2F01%2Fcropped-cropped-Prostate_calculator_-removebg-preview-32x32.png" width="32" height="32"&gt;
          prostatesvolumecalculator.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The Prostate Volume Calculator uses standard geometric formulas to estimate total volume from physical dimensions measured in centimeters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Standard Ellipsoid Formula&lt;/strong&gt;&lt;br&gt;
The most widely accepted medical formula for calculating prostate volume is the ellipsoid formula, which multiplies the three orthogonal dimensions (height, width, and length) by an empirical correction factor:&lt;/p&gt;

&lt;p&gt;Why a Dedicated Web Tool Matters&lt;br&gt;
While medical professionals have access to hospital suite software, having an instant, web-accessible calculator allows residents, researchers, and clinicians to double-check calculations securely and rapidly on any device. Clean input validation, error handling for zero or negative values, and clear output formatting ensure that clinical workflows remain error-free.&lt;/p&gt;

&lt;p&gt;Conclusion: Why We Build This Way&lt;br&gt;
Vibe coding and AI-assisted development have fundamentally changed what it means to be a creator on the web. Whether you are building a fitness utility like the RPE Calculator, an esoteric navigation app like the North Node Calculator, or a medical helper like the Prostate Volume Calculator, the bottleneck is no longer how fast you can type code—it is the clarity of your vision.&lt;/p&gt;

&lt;p&gt;By leveraging AI to handle syntax and structure, developers can focus entirely on solving real-world problems, one micro-tool at a time. The future belongs to those who can combine clear problem statements with smart AI collaboration to ship valuable products faster than ever before.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Next Evolution and Cultural Shift in Software Development</title>
      <dc:creator>Charli Alexender</dc:creator>
      <pubDate>Mon, 21 Sep 2026 08:22:39 +0000</pubDate>
      <link>https://dev.to/charlialexender/the-next-evolution-and-cultural-shift-in-software-development-4mea</link>
      <guid>https://dev.to/charlialexender/the-next-evolution-and-cultural-shift-in-software-development-4mea</guid>
      <description>&lt;p&gt;Software development is undergoing a massive, irreversible cultural shift. For decades, writing code meant grinding through syntax errors, manually scaffolding boilerplate files, configuring complex environments, and getting bogged down in repetitive, tedious boilerplate setup. Developers spent hours wrestling with configuration files and syntax rather than focusing on actual logic and user value. Today, however, a brand-new philosophy is taking over the developer community: Vibe Coding.&lt;/p&gt;

&lt;p&gt;Instead of obsessing over every individual line of code or getting lost in low-level implementation details, developers are increasingly acting as high-level orchestrators. They guide AI coding agents, collaborate with conversational models, and let the overall "vibe" and architectural intent drive the project forward from inception to deployment.&lt;/p&gt;

&lt;p&gt;What is Vibe Coding?&lt;br&gt;
Coined and popularized within modern hacker and developer circles, Vibe Coding describes a unique workflow where humans lean entirely on AI generation tools—such as LLM-powered IDE plugins, autonomous coding agents, and terminal assistants—to build fully functional applications. Instead of writing raw syntax character by character, you describe what you want in plain, conversational language. The AI generates, tests, and modifies the codebase, while you review, steer, and merge the changes.&lt;br&gt;
&lt;a href="https://onlinebillsplit.com/" rel="noopener noreferrer"&gt;https://onlinebillsplit.com/&lt;/a&gt;&lt;br&gt;
Rather than acting as a traditional syntax typist, the modern developer's daily routine under a Vibe Coding framework shifts toward:&lt;/p&gt;

&lt;p&gt;Prompt Engineering &amp;amp; Directional Guidance: Directing the agent on how different components, modules, and APIs should interact with one another.&lt;/p&gt;

&lt;p&gt;Architecture &amp;amp; Code Review: Evaluating whether the generated code meets performance, security, maintainability, and scalability standards.&lt;/p&gt;

&lt;p&gt;Rapid Iteration Loops: Reviewing agent outputs, refining error handling, testing edge cases, and pushing the product forward at unprecedented speeds.&lt;/p&gt;

&lt;p&gt;This approach democratizes software creation. It allows domain experts, product managers, and indie hackers to build robust applications by focusing purely on what needs to be built rather than how every single semicolon is placed.&lt;/p&gt;

&lt;p&gt;The Rise of AI-First Development Tools&lt;br&gt;
To truly understand Vibe Coding, we have to look at the tools that power it. The transition from reactive tab-completion to autonomous agents has transformed local development environments (IDEs).&lt;/p&gt;

&lt;p&gt;Developers now routinely deploy local-first coding agents, Model Context Protocol (MCP) servers, and terminal-native assistants that can read entire repository structures, execute shell commands, run tests, and fix their own bugs in iterative loops. When you combine models like Claude, GPT, or open-source weights running locally via Ollama with powerful runtime environments, the barrier to shipping software drops close to zero.&lt;/p&gt;

&lt;p&gt;However, this immense power brings a new set of engineering challenges. When an agent can spin up a full MERN stack template, configure a database, and write hundreds of lines of code in seconds, the bottleneck shifts away from typing speed and moves directly toward project coordination, resource management, and team collaboration.&lt;/p&gt;

&lt;p&gt;Managing the Real-World Side of Tech Projects&lt;br&gt;
While Vibe Coding makes building software faster, cheaper, and more accessible than ever, running a modern tech stack or a collaborative freelance project still comes with traditional administrative hurdles.&lt;/p&gt;

&lt;p&gt;When you and your team are spinning up new web applications, buying domain names, purchasing API keys, sharing cloud server subscriptions, and scaling repositories, keeping track of shared expenses can quickly become a major headache. Collaborative development often involves splitting costs for premium developer tools, hosting tiers, testing environments, and design assets.&lt;/p&gt;

&lt;p&gt;To keep your projects organized without letting administrative friction slow down your creative momentum, you can easily manage and divide shared development tool costs, hosting plans, and team expenses using Online Bill Split. It eliminates the awkward math of splitting subscription fees and keeps your team focused entirely on building great software.&lt;/p&gt;

&lt;p&gt;Best Practices for Embracing Vibe Coding Safely&lt;br&gt;
As exciting as Vibe Coding is, leaning entirely on AI generation requires discipline. If not managed correctly, rapid code generation can lead to technical debt, security vulnerabilities, and bloated codebases. To make the most of this movement while keeping your projects clean, consider the following best practices:&lt;/p&gt;

&lt;p&gt;Maintain Architectural Clarity: Always have a clear mental model or blueprint of your application before letting an agent write code. Randomly generating files without a cohesive architecture leads to unmaintainable spaghetti code.&lt;/p&gt;

&lt;p&gt;Enforce Strict Code Reviews: Treat AI-generated code like code written by a junior developer. Always review pull requests, check for security flaws, validate input sanitization, and ensure proper error handling.&lt;/p&gt;

&lt;p&gt;Write Robust Tests: Let your AI agents write unit and integration tests alongside your core logic. Automated test suites are your safety net when rapidly iterating through massive code changes.&lt;/p&gt;

&lt;p&gt;Keep Your Stack Organized: Track your dependencies, API keys, and shared cloud resources carefully. Use clean repository structures and efficient tools to manage shared team budgets so nothing falls through the cracks.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Vibe Coding is more than just a passing internet meme—it represents a fundamental shift in how humans interact with computers to create software. By moving away from tedious syntax memorization and stepping up into architectural orchestration, developers can bring ambitious ideas to life in days instead of months.&lt;/p&gt;

&lt;p&gt;Embrace the incredible speed of modern AI workflows, keep your code clean, ensure your team's resources and shared expenses are neatly organized, and let the code flow!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Built an AI-Powered Portfolio with Gemini, Cloud Run, Firestore &amp; Terraform</title>
      <dc:creator>Charli Alexender</dc:creator>
      <pubDate>Tue, 08 Sep 2026 13:58:12 +0000</pubDate>
      <link>https://dev.to/charlialexender/i-built-an-ai-powered-portfolio-with-gemini-cloud-run-firestore-terraform-4j19</link>
      <guid>https://dev.to/charlialexender/i-built-an-ai-powered-portfolio-with-gemini-cloud-run-firestore-terraform-4j19</guid>
      <description>&lt;p&gt;Building a portfolio website sounds simple—until you decide to make it more than just a collection of links.&lt;/p&gt;

&lt;p&gt;I wanted to build a portfolio that could automatically collect my projects and articles, store them in the cloud, and let visitors interact with an AI-powered chatbot.&lt;/p&gt;

&lt;p&gt;So I decided to combine Google Cloud, Gemini, Terraform, Firestore, Cloud Run, and a React frontend into one project.&lt;/p&gt;

&lt;p&gt;Here’s how the journey went.&lt;/p&gt;

&lt;p&gt;☁️** The Architecture**&lt;/p&gt;

&lt;p&gt;The project is built around a few key components:&lt;/p&gt;

&lt;p&gt;React + Vite for the frontend&lt;br&gt;
FastAPI for the backend&lt;br&gt;
Gemini for the AI chatbot&lt;br&gt;
Firestore for portfolio data&lt;br&gt;
Google Cloud Storage for images and assets&lt;br&gt;
Cloud Run for deployment&lt;br&gt;
Terraform for infrastructure&lt;br&gt;
Cloud Build for CI/CD&lt;/p&gt;

&lt;p&gt;The goal was to keep the application simple while still making the infrastructure reproducible and scalable.&lt;/p&gt;

&lt;p&gt;🤖** Adding an AI Chatbot&lt;br&gt;
**&lt;br&gt;
One of the main features I wanted was an AI assistant that could answer questions about my portfolio.&lt;/p&gt;

&lt;p&gt;Instead of hardcoding information into the prompt, I connected the agent to Firestore.&lt;/p&gt;

&lt;p&gt;This allows the chatbot to search my projects and articles and retrieve relevant information when answering questions.&lt;/p&gt;

&lt;p&gt;Conceptually, the agent looks like this:&lt;/p&gt;

&lt;p&gt;root_agent = Agent(&lt;br&gt;
    name="portfolio_agent",&lt;br&gt;
    model=Gemini(model=settings.model),&lt;br&gt;
    instruction=settings.system_prompt,&lt;br&gt;
    tools=[&lt;br&gt;
        search_portfolio,&lt;br&gt;
        get_content_details,&lt;br&gt;
    ],&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;This makes the chatbot much more useful than a simple static AI prompt.&lt;/p&gt;

&lt;p&gt;📚** Automatically Ingesting My Content**&lt;/p&gt;

&lt;p&gt;I also wanted to avoid manually adding every project and article to my portfolio.&lt;/p&gt;

&lt;p&gt;So I created an ingestion system that can pull content from different sources.&lt;/p&gt;

&lt;p&gt;The connectors can handle things such as:&lt;/p&gt;

&lt;p&gt;GitHub repositories&lt;br&gt;
Blog posts&lt;br&gt;
Dev.to content&lt;br&gt;
Custom portfolio entries&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The data is then normalized and stored in Firestore.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also made the ingestion process idempotent, so running it multiple times doesn't create duplicate records.&lt;br&gt;
**&lt;br&gt;
📝 Processing Blog Content with Gemini**&lt;/p&gt;

&lt;p&gt;Another interesting part was processing blog content.&lt;/p&gt;

&lt;p&gt;Instead of simply storing the title and URL, I use Gemini to generate:&lt;/p&gt;

&lt;p&gt;Short summaries&lt;br&gt;
Relevant tags&lt;br&gt;
Structured metadata&lt;/p&gt;

&lt;p&gt;This means the portfolio can display useful information without requiring me to manually write descriptions for every article.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏗️ Infrastructure with Terraform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wanted the infrastructure to be reproducible, so I used Terraform rather than creating everything manually through the Google Cloud Console.&lt;/p&gt;

&lt;p&gt;Terraform manages resources such as:&lt;/p&gt;

&lt;p&gt;Cloud Run&lt;br&gt;
Firestore&lt;br&gt;
Cloud Storage&lt;br&gt;
Service accounts&lt;br&gt;
IAM permissions&lt;br&gt;
Secret Manager&lt;br&gt;
Domain mappings&lt;/p&gt;

&lt;p&gt;This makes it much easier to recreate or modify the environment later.&lt;br&gt;
**&lt;br&gt;
🚀 Deploying with Cloud Run**&lt;/p&gt;

&lt;p&gt;The application is packaged into a Docker image containing both the frontend and backend.&lt;/p&gt;

&lt;p&gt;The frontend is built first:&lt;/p&gt;

&lt;p&gt;FROM node:20-slim AS frontend-builder&lt;/p&gt;

&lt;p&gt;WORKDIR /app/frontend&lt;/p&gt;

&lt;p&gt;COPY frontend/package*.json ./&lt;br&gt;
RUN npm install&lt;/p&gt;

&lt;p&gt;COPY frontend/ ./&lt;br&gt;
RUN npm run build&lt;/p&gt;

&lt;p&gt;Then the production container runs the FastAPI application.&lt;/p&gt;

&lt;p&gt;Finally, Cloud Run handles the deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔐 Secrets &amp;amp; Security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn't want sensitive configuration or AI prompts sitting directly in the source code.&lt;/p&gt;

&lt;p&gt;So I used Google Secret Manager and injected the required secrets into Cloud Run as environment variables.&lt;/p&gt;

&lt;p&gt;I also added rate limiting to protect the API and reduce the risk of unexpected AI usage costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛡️ Protecting the AI Agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An AI chatbot also introduces another interesting problem: prompt injection.&lt;/p&gt;

&lt;p&gt;Since users can send arbitrary input to the chatbot, I added defensive checks and tests to make sure users cannot easily manipulate the agent into ignoring its intended behavior.&lt;/p&gt;

&lt;p&gt;This is something I think is easy to overlook when building AI applications.&lt;/p&gt;

&lt;p&gt;🎨 Building the Frontend&lt;/p&gt;

&lt;p&gt;The frontend is built with React and Vite.&lt;/p&gt;

&lt;p&gt;I wanted a clean dark-themed portfolio with sections for:&lt;/p&gt;

&lt;p&gt;Projects&lt;br&gt;
Articles&lt;br&gt;
Applications&lt;br&gt;
AI chatbot&lt;/p&gt;

&lt;p&gt;The chatbot appears as an interactive UI component so visitors can ask questions without leaving the portfolio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌐 Custom Domain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once everything was running successfully on Cloud Run, I mapped the service to my custom domain.&lt;/p&gt;

&lt;p&gt;Terraform makes this particularly straightforward because the domain mappings can also be managed as infrastructure.&lt;/p&gt;

&lt;p&gt;After the DNS configuration was updated, Google provisioned the SSL certificates automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project taught me that building an AI application isn't just about calling an LLM API.&lt;/p&gt;

&lt;p&gt;You also need to think about:&lt;/p&gt;

&lt;p&gt;Data architecture&lt;br&gt;
Authentication and permissions&lt;br&gt;
Secrets&lt;br&gt;
Rate limiting&lt;br&gt;
Deployment&lt;br&gt;
Testing&lt;br&gt;
Prompt injection&lt;br&gt;
Infrastructure&lt;br&gt;
Monitoring&lt;br&gt;
Content ingestion&lt;/p&gt;

&lt;p&gt;The AI is only one part of the overall system.&lt;br&gt;
**&lt;br&gt;
🚀 What's Next?&lt;br&gt;
**&lt;br&gt;
There are still plenty of things I'd like to improve.&lt;/p&gt;

&lt;p&gt;Some ideas on my roadmap include:&lt;/p&gt;

&lt;p&gt;Vector search&lt;br&gt;
Better RAG capabilities&lt;br&gt;
More content sources&lt;br&gt;
Improved chatbot memory&lt;br&gt;
Better analytics&lt;br&gt;
More advanced portfolio personalization&lt;/p&gt;

&lt;p&gt;The project is still evolving, but that's what makes building it fun.&lt;br&gt;
While working on this project, I also started building a small collection of fun web-based calculators focused on love, relationships, friendship, and compatibility.&lt;/p&gt;

&lt;p&gt;The idea is to create simple tools that people can use instantly without complicated setup or registration. You can explore the project and try the different calculators here:&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__cover"&gt;
          &lt;a href="https://lovescalculators.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Flovescalculators.com%2Fwp-content%2Fuploads%2F2025%2F12%2Flove-calculator.webp" height="500" class="m-0" width="500"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://lovescalculators.com/" rel="noopener noreferrer" class="c-link"&gt;
            Love Calculator – Love Tester &amp;amp; Percentage by Name
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Free love calculator &amp;amp; love tester in one. Enter two names for an instant love percentage, compatibility score, and relationship match – no sign-up.
          &lt;/p&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/https%3A%2F%2Flovescalculators.com%2Fwp-content%2Fuploads%2F2025%2F12%2Flove-calculator-150x150.webp" width="150" height="150"&gt;
          lovescalculators.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;It includes tools such as Love Calculator, Crush Calculator, Friendship Calculator, Soulmate Calculator, Zodiac Match, Relationship Calculator, and Love Calculator by Date of Birth.&lt;/p&gt;

&lt;p&gt;I’m continuing to experiment with new ideas and improve the tools based on how people use them. ❤️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What started as a simple portfolio idea turned into a much bigger experiment with AI, cloud infrastructure, automation, and modern web development.&lt;/p&gt;

&lt;p&gt;The most interesting part wasn't any individual technology—it was seeing how all of these pieces could work together to create something genuinely useful.&lt;/p&gt;

&lt;p&gt;If you're building something similar, I'd love to hear about it. Share your project in the comments! 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>react</category>
      <category>terraform</category>
    </item>
  </channel>
</rss>
