<?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>Forem: Laura Norwood</title>
    <description>The latest articles on Forem by Laura Norwood (@lanthanum89).</description>
    <link>https://forem.com/lanthanum89</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%2F3223395%2F09743f6b-a550-4bd5-9133-ba974e7003c9.jpg</url>
      <title>Forem: Laura Norwood</title>
      <link>https://forem.com/lanthanum89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lanthanum89"/>
    <language>en</language>
    <item>
      <title>Women in Tech: Global Map 🌍💖</title>
      <dc:creator>Laura Norwood</dc:creator>
      <pubDate>Fri, 17 Apr 2026 15:11:07 +0000</pubDate>
      <link>https://forem.com/lanthanum89/women-in-tech-global-map-3f0p</link>
      <guid>https://forem.com/lanthanum89/women-in-tech-global-map-3f0p</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Women in Tech — Global Map&lt;/strong&gt; 🌍💖&lt;/p&gt;

&lt;p&gt;An interactive, pixelated 3D globe that visualizes the percentage of the tech workforce that is female in countries around the world. The project highlights the global gender gap in technology through a beautiful pink-themed, retro-pixel aesthetic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3D Rotating Globe&lt;/strong&gt; — A low-poly, flat-shaded icosahedron globe that auto-rotates and can be dragged to explore&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;57 Country Data Points&lt;/strong&gt; — Pixelated box columns rise from each country, with height and color mapped to female tech participation rates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Tooltips&lt;/strong&gt; — Hover over any country marker to see its name, percentage, region, and a progress bar&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stats Panel&lt;/strong&gt; — Live stats including global average, country count, highest (Philippines 46%), and lowest (Pakistan 9%)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pixelated Retro Style&lt;/strong&gt; — Low pixel ratio rendering, flat shading, scanline overlay, "Press Start 2P" pixel font, and crisp-edges rendering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pink Aesthetic&lt;/strong&gt; — Entire color palette in shades of pink, magenta, and rose — from the deep dark background to glowing markers and star field&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Open &lt;code&gt;index.html&lt;/code&gt; in any modern browser — no build step or server required!&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%2Fqb5n2qe6vdborlsthrln.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%2Fqb5n2qe6vdborlsthrln.png" alt="a pixelated pink globe showing percentage of females in tech jobs across different countries " width="800" height="918"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/Lanthanum89/earth-day-dev-submission" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A single &lt;code&gt;index.html&lt;/code&gt; file using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Three.js&lt;/strong&gt; (v0.170) for 3D rendering via ES module imports from CDN&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OrbitControls&lt;/strong&gt; for drag-to-rotate and scroll-to-zoom interaction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pure CSS&lt;/strong&gt; for the pixel UI, scanline overlay, and pink theme&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inline data&lt;/strong&gt; sourced from World Bank, UNESCO, Deloitte, and McKinsey reports (approximate figures)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The globe is an &lt;code&gt;IcosahedronGeometry&lt;/code&gt; with flat shading to get a low-poly, pixelated look. The renderer pixel ratio is intentionally set low (&lt;code&gt;1/3&lt;/code&gt;) so the entire canvas renders at a fraction of screen resolution and is scaled up with &lt;code&gt;image-rendering: pixelated&lt;/code&gt; — giving everything that chunky retro-pixel feel.&lt;/p&gt;

&lt;p&gt;Each country is represented by a &lt;code&gt;BoxGeometry&lt;/code&gt; column positioned on the globe surface using lat/lon → spherical coordinate conversion. Column height and color both encode the female tech workforce percentage, creating a gradient from deep magenta (low %) to bright pink (high %).&lt;/p&gt;

&lt;p&gt;A raycaster handles mouse hover detection on the 3D markers, showing a pixel-bordered tooltip with country details. The scene includes a pink star field, latitude/longitude grid lines, a glow shell, and a CSS scanline overlay for extra retro vibes.&lt;/p&gt;

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

&lt;p&gt;Best Use of GitHub Copilot&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>womenintech</category>
      <category>wecoded</category>
    </item>
    <item>
      <title>Useless Enterprise App</title>
      <dc:creator>Laura Norwood</dc:creator>
      <pubDate>Tue, 07 Apr 2026 11:31:25 +0000</pubDate>
      <link>https://forem.com/lanthanum89/useless-enterprise-app-4dib</link>
      <guid>https://forem.com/lanthanum89/useless-enterprise-app-4dib</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&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%2F4rm70cman31ygfz5vhjz.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%2F4rm70cman31ygfz5vhjz.png" alt="a tacky noughties business app" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built a Useless Enterprise App™ that looks dangerously close to something you’d be forced to use at work… but is entirely designed to waste your time.&lt;/p&gt;

&lt;p&gt;It’s a React-based “Business Request Alignment Interface” that simulates a full corporate workflow, complete with forms, approvals, dashboards, and system feedback. None of it actually achieves anything.&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Key features (all technically functional, strategically pointless): &lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Save button that runs away from you when you try to click it&lt;/li&gt;
&lt;li&gt;A form that introduces new mandatory fields after submission&lt;/li&gt;
&lt;li&gt;A fake approval process requiring an “Approval Readiness Reference Code” that never existed&lt;/li&gt;
&lt;li&gt;A progress bar that confidently tracks nothing&lt;/li&gt;
&lt;li&gt;A system status panel that cycles through corporate nonsense like “Consulting the alignment committee…”&lt;/li&gt;
&lt;li&gt;Error messages such as: “Success could not be completed successfully”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not broken. It’s just… like this.&lt;/p&gt;

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

&lt;p&gt;Demo: Best experienced emotionally rather than functionally.&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Run locally and experience: &lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fill in the form like a responsible adult&lt;/li&gt;
&lt;li&gt;Try to click “Save” while it actively avoids you&lt;/li&gt;
&lt;li&gt;Discover a new required field that wasn’t there before&lt;/li&gt;
&lt;li&gt;Finally submit… and get a failure toast anyway&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s basically every bad internal system distilled into one app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&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/Lanthanum89" rel="noopener noreferrer"&gt;
        Lanthanum89
      &lt;/a&gt; / &lt;a href="https://github.com/Lanthanum89/useless-enterprise-app" rel="noopener noreferrer"&gt;
        useless-enterprise-app
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026" rel="nofollow"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What I Built&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;I built a Useless Enterprise App™ that looks dangerously close to something you’d be forced to use at work… but is entirely designed to waste your time.&lt;/p&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/204180622/574638329-f97e5d17-fbad-4832-bd43-96072072f4d0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzY0MzkwNzUsIm5iZiI6MTc3NjQzODc3NSwicGF0aCI6Ii8yMDQxODA2MjIvNTc0NjM4MzI5LWY5N2U1ZDE3LWZiYWQtNDgzMi1iZDQzLTk2MDcyMDcyZjRkMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQxN1QxNTEyNTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMGY1YmM1M2JhMzEyYWZkNWFiM2FkNzE2Y2FjNzQwYjQwZTlkOGMyYzcyNDI1NTczYzMxNDA4YTlhNjIzYTIwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.6hLHWE0gmxARmbpxHb1-S3DrIgNE6hOm4U1I-lGELFA"&gt;&lt;img width="2000" height="1897" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F204180622%2F574638329-f97e5d17-fbad-4832-bd43-96072072f4d0.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzY0MzkwNzUsIm5iZiI6MTc3NjQzODc3NSwicGF0aCI6Ii8yMDQxODA2MjIvNTc0NjM4MzI5LWY5N2U1ZDE3LWZiYWQtNDgzMi1iZDQzLTk2MDcyMDcyZjRkMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQxN1QxNTEyNTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMGY1YmM1M2JhMzEyYWZkNWFiM2FkNzE2Y2FjNzQwYjQwZTlkOGMyYzcyNDI1NTczYzMxNDA4YTlhNjIzYTIwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.6hLHWE0gmxARmbpxHb1-S3DrIgNE6hOm4U1I-lGELFA" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;p&gt;It’s a React-based “Business Request Alignment Interface” that simulates a full corporate workflow, complete with forms, approvals, dashboards, and system feedback. None of it actually achieves anything.&lt;/p&gt;
&lt;p&gt;Key features (all technically functional, strategically pointless):&lt;/p&gt;
&lt;p&gt;A Save button that runs away from you when you try to click it
A form that introduces new mandatory fields after submission
A fake approval process requiring an “Approval Readiness Reference Code” that never existed
A progress bar that confidently tracks nothing
A system status panel that cycles through corporate nonsense like “Consulting the alignment committee…”
Error messages such as: “Success could not be completed successfully”&lt;/p&gt;
&lt;p&gt;It’s not broken. It’s just… like this.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Demo…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Lanthanum89/useless-enterprise-app" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Everything behaves exactly as designed, which is the problem.&lt;/p&gt;

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

&lt;p&gt;&lt;b&gt; Tech stack: &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;React (functional components + hooks)&lt;br&gt;
Pure frontend state, no backend, no persistence, no consequences&lt;br&gt;
Tailwind for layout, plus aggressively offensive inline styling&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Approach: &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Model real enterprise UX patterns (forms, approvals, dashboards), then deliberately sabotage them&lt;br&gt;
Focus on process over outcome, just like real enterprise software&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Design choices were intentional: &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Comic Sans + pastel gradients to simulate “legacy system that somehow still exists”&lt;br&gt;
Overcomplicated UI hierarchy with zero payoff&lt;br&gt;
Feedback loops that sound important but do nothing&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;p&gt;Community Favourite&lt;/p&gt;

&lt;p&gt;Because nothing unites developers faster than shared trauma from systems like this.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
