<?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: Pedro Monteiro</title>
    <description>The latest articles on DEV Community by Pedro Monteiro (@pedacos).</description>
    <link>https://dev.to/pedacos</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%2F3718412%2Fb08572a7-eafd-41ed-a2bb-d720820597ea.jpeg</url>
      <title>DEV Community: Pedro Monteiro</title>
      <link>https://dev.to/pedacos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pedacos"/>
    <language>en</language>
    <item>
      <title>Play My Resume: A Destructible Space Invaders Portfolio</title>
      <dc:creator>Pedro Monteiro</dc:creator>
      <pubDate>Sat, 31 Jan 2026 14:43:50 +0000</pubDate>
      <link>https://dev.to/pedacos/play-my-resume-a-destructible-space-invaders-portfolio-1124</link>
      <guid>https://dev.to/pedacos/play-my-resume-a-destructible-space-invaders-portfolio-1124</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'm Pedro da Costa e Silva Monteiro, a Full Cycle Developer and Cadet at 42 School in Brazil.&lt;/p&gt;

&lt;p&gt;My goal with this portfolio was to create something more than just a static resume. I wanted an interactive experience that reflects my love for retro gaming and solid engineering. It's designed to be fun, accessible, and robust.&lt;/p&gt;

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


&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://portfolio-1007770668071.us-central1.run.app/"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


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

&lt;p&gt;This portfolio is built with &lt;strong&gt;Svelte 5 (Runes)&lt;/strong&gt; and &lt;strong&gt;SvelteKit&lt;/strong&gt;, styled with &lt;strong&gt;TailwindCSS v4&lt;/strong&gt;, and written in &lt;strong&gt;TypeScript&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework&lt;/strong&gt;: SvelteKit (Svelte 5) for a truly reactive and modern developer experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling&lt;/strong&gt;: TailwindCSS v4 with a custom "Space Invaders" neon theme.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment&lt;/strong&gt;: Containerized with Docker and deployed to &lt;strong&gt;Google Cloud Run&lt;/strong&gt; for scalability and performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing&lt;/strong&gt;: Playwright for End-to-End testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Google AI Integration
&lt;/h3&gt;

&lt;p&gt;I didn't build this alone. I pair-programmed with &lt;strong&gt;Google's Gemini-powered coding assistant&lt;/strong&gt; (Antigravity). We worked together in a highly agentic workflow where Gemini helped:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architect the "DOM Destruction" game engine.&lt;/li&gt;
&lt;li&gt;Refactor complex game logic into clean, testable controllers.&lt;/li&gt;
&lt;li&gt;Ensure the site met strict accessibility standards (WCAG 2.2 AA), including generating descriptive alt text for images.&lt;/li&gt;
&lt;li&gt;Debug intricate audio state management and game loop timing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Design &amp;amp; Architecture
&lt;/h3&gt;

&lt;p&gt;The design is a tribute to the arcade era. I used a pixelated aesthetic but implemented it with modern CSS filters and responsive layouts. The core architecture separates the "Game Layer" from the "Content Layer", allowing them to interact—when you play the game, you are literally destroying the HTML elements of my resume!&lt;/p&gt;

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

&lt;p&gt;I'm most proud of the &lt;strong&gt;"DOM Destruction" mechanic&lt;/strong&gt;. It solves the problem of "boring portfolios" by turning the site itself into a destructible environment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Gameplay&lt;/strong&gt;: The portfolio transforms into a Space Invaders-style game where the aliens are the content, and your shots actually remove DOM nodes from the page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean State Management&lt;/strong&gt;: Using Svelte 5's Runes (&lt;code&gt;$state&lt;/code&gt;, &lt;code&gt;$derived&lt;/code&gt;, &lt;code&gt;$effect&lt;/code&gt;) made handling the complex game state (entities, projectiles, collisions, audio) incredibly intuitive and performant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility&lt;/strong&gt;: Despite the heavy visual effects, we ensured the site remains usable and accessible, with proper ARIA labels and semantic HTML.&lt;/li&gt;
&lt;/ul&gt;

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