<?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: Angela</title>
    <description>The latest articles on DEV Community by Angela (@angelayu).</description>
    <link>https://dev.to/angelayu</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%2F232193%2Ff45d071a-19ab-4acf-8a25-26201350f337.jpg</url>
      <title>DEV Community: Angela</title>
      <link>https://dev.to/angelayu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/angelayu"/>
    <language>en</language>
    <item>
      <title>Intranet: The Office Edition</title>
      <dc:creator>Angela</dc:creator>
      <pubDate>Mon, 28 Jul 2025 15:44:25 +0000</pubDate>
      <link>https://dev.to/angelayu/intranet-the-offic-edition-1k7k</link>
      <guid>https://dev.to/angelayu/intranet-the-offic-edition-1k7k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend/axero"&gt;Frontend Challenge: Office Edition sponsored by Axero, Holistic Webdev: Office Space&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I created a fully functional intranet for &lt;strong&gt;Thunder Tifflin Paper Company&lt;/strong&gt;, a fictional paper manufacturer inspired by classic office culture. The intranet features five working pages (HR, Sales, Warehouse, Accounting, Reception) with real functionality like employee directory search, expense forms, and visitor management.&lt;/p&gt;

&lt;p&gt;The design balances professional corporate needs with subtle humor - think early 2000s intranet aesthetic but with smooth animations, responsive design, and easter eggs that reward exploration without breaking the user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-page navigation with working forms and search&lt;/li&gt;
&lt;li&gt;Responsive 3-column → single-column mobile layout
&lt;/li&gt;
&lt;li&gt;Employee directory with 12 Office-inspired characters (legally spoofed names)&lt;/li&gt;
&lt;li&gt;Interactive widgets: HR chatbot, safety counter, office status tracking&lt;/li&gt;
&lt;li&gt;Easter eggs: stuck vending machine, "World's Best Boss" certificate, hidden teapot&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://angelacyu.github.io/thunder-tifflin-intranet/" rel="noopener noreferrer"&gt;Thunder Tifflin Intranet&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/angelacyu/thunder-tifflin-intranet" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://angelacyu.github.io/thunder-tifflin-intranet/" rel="noopener noreferrer"&gt;
      angelacyu.github.io
    &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Collaboration Process
&lt;/h3&gt;

&lt;p&gt;This project was built through an interesting human-AI collaboration. I worked with Claude (Anthropic's AI) to brainstorm concepts, develop the design system, and iterate on features. Claude helped generate the initial code structure and styling, while I used Windsurf (Codeium's IDE) to refine UI elements, test responsiveness, and make detailed adjustments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development Flow:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Concept &amp;amp; Planning:&lt;/strong&gt; Brainstormed with Claude on The Office theme and corporate intranet requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture:&lt;/strong&gt; Designed the multi-page structure and responsive grid system&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implementation:&lt;/strong&gt; Claude generated initial HTML/CSS/JS, I refined in Windsurf&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iteration:&lt;/strong&gt; Used Windsurf's AI features to select and adjust UI elements for better UX&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polish:&lt;/strong&gt; Fine-tuned animations, responsiveness, and easter egg interactions&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Design Decisions I'm Proud Of
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Legal Safety with Creative Freedom:&lt;/strong&gt; Instead of using actual character names, we created "spoofed" versions (Mitchell Scotts, Tim Halpert, Tony Flenderson) that capture the essence while avoiding copyright issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functional Easter Eggs:&lt;/strong&gt; Every humorous element serves a purpose. The HR chatbot gives unhelpful responses (just like real corporate bots), the safety counter actually resets, and vending machine B6 is stuck - but these don't interfere with the intranet's utility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsive Without Compromise:&lt;/strong&gt; The 3-column desktop layout gracefully collapses to single-column mobile while maintaining all functionality. No features are hidden or broken on smaller screens.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technical Choices
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Vanilla JavaScript:&lt;/strong&gt; No frameworks or dependencies. This keeps the code lightweight and demonstrates fundamental skills while ensuring fast loading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS Grid + Flexbox:&lt;/strong&gt; Modern layout techniques that provide clean, maintainable responsive design without media query complexity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Progressive Enhancement:&lt;/strong&gt; The intranet works with JavaScript disabled (basic navigation and forms), then enhances with JS for better interactions.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;AI-Assisted Development:&lt;/strong&gt; Working with Claude showed me how AI can accelerate initial development while human oversight ensures quality and prevents the "AI feel" in the final product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windsurf Integration:&lt;/strong&gt; Using Windsurf's AI features to select and modify specific UI elements was incredibly efficient for fine-tuning responsive behavior and visual polish.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Balancing Humor and Functionality:&lt;/strong&gt; The biggest challenge was making something genuinely funny without sacrificing usability. Every joke had to earn its place by not breaking the user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Claude (Anthropic):&lt;/strong&gt; Initial architecture, code generation, concept development&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windsurf (Codeium):&lt;/strong&gt; Code refinement, UI adjustments, responsive testing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; Version control and deployment via GitHub Pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser DevTools:&lt;/strong&gt; Cross-browser testing and performance optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Human Touch
&lt;/h3&gt;

&lt;p&gt;While AI helped with the heavy lifting, the creative decisions, user experience flow, and quality control were entirely human-driven. The result feels authentic because the humor and functionality choices came from understanding what makes both good software and good comedy.&lt;/p&gt;

&lt;p&gt;This project proves that AI can be a powerful collaborator in development, but the human element remains essential for creating something that truly resonates with users.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Try the demo and see if you can find all the easter eggs!&lt;/strong&gt; 🫖&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts on AI-assisted development and balancing humor with functionality in workplace tools.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
