This is a submission for Frontend Challenge: Office Edition sponsored by Axero, Holistic Webdev: Office Space
๐ What I Built
I created AetherDesk, my dream intranet and allโinโone digital workspace. Built with HTML, CSS, and JavaScript, itโs a deeply personalized hub where I can:
- Track projects & team stats
- Run Pomodoro sessions & set daily goals
- Access my favorite learning content
- Take quick wellness breaks with workouts, music, and miniโgames
Inspired by Axero and tailored to my workflow as a web developer, AetherDesk keeps everything I need in one place: work, focus, learning, and play.
๐ฏ The Vision
Iโm a web dev who hates juggling tabs (who likes it anyways, right). I wanted one space to:
- ๐ Get all my work info in one glance with a Dashboard that shows key dev stats, quick actions, events, team updates, and a launchpad.
- ๐ฏ Focus deeply and track my productivity with tools that keep me on task
- ๐ Learn new skills from the content Iโve saved across docs, videos, and platforms
- ๐ฎ Refresh with quick games, short & energizing workouts, or ambient music
- ๐ Switch modes from work โก๏ธ focus โก๏ธ learn โก๏ธ play, all in the same space, no tab hopping
AetherDesk mirrors my natural flow as a developer: getting things done, staying curious, and remembering to breathe in between.
๐งฉ Key Sections
๐ข Dashboard
- ๐ Dev Metrics: commits, code reviews, uptime
- โก Quick Actions: deploy, review, create projects
- ๐ฌ Message Center: previews & timestamps
- โญ Team Spotlight: employee of the week/month
- ๐ Events: meeting reminders
- ๐ Launchpad: GitHub, VSโฏCode, Figma & many more
๐ง Focus Mode
- ๐ Productivity Stats: daily focus score & tasks done
- ๐ Pomodoro Timer: presets + custom sessions
- ๐ Kanban Board: dragโandโdrop task flow
- ๐ฏ Daily Goal: set & track one big objective
๐ Learning Mode
A personalized space to grow, upskill, and access everything Iโve saved for learning:
- ๐บ Curated YouTube Playlists - React, Node, CSS Grid, and more
- ๐ Doc Hub โ official docs like React, TypeScript, Next.js
- ๐งช Dev Tools & Platforms - CodePen, LeetCode, freeCodeCamp
- ๐ GitHub Repositories - helpful codebases & open-source gems
- ๐ฐ Articles & Blogs - saved insights, guides, and dev reads
๐ฎ Play Mode
- ๐ฑ Social Dock: X, LinkedIn, Discord
- ๐ช Workouts: desk stretches & HIIT bursts
- ๐งโโ๏ธ Music & Ambience: focus playlists, rain sounds
- ๐งฉ MiniโฏGames: Sudoku, Snake, Wordle
๐ฝ๏ธ Demo & Code
๐ Launch AetherDesk Live:
Step into the full experience, explore all features, themes, and sections in action. Click the image below ๐โฌ๏ธ

๐ป View the Code here:
Curious how it's built? Peek into the codebase, see how the sections work, or fork it for yourself.
๐๐ฏ๐ AetherDesk - Personalized All-In-One Digital Intranet Workspace
A beautiful, feature-rich developer workspace dashboard built with vanilla HTML, CSS, and JS
๐ Table of Contents
- โจ Features
- ๐ ๏ธ Tech Stack
- ๐จ Themes & Customization
- โฟ Accessibility
- ๐ Getting Started
- ๐ Project Structure
- ๐ฏ Usage Guide
- ๐ง Customization
- ๐ค Contributing
- ๐ License
- ๐ Acknowledgments
โจ Features
๐ Dashboard
- Real-time Welcome Section with dynamic greetings based on time of day
- Quick Actions Panel for common developer tasks
- Enhanced Message Center with unread indicators and real-time updates
- Team Spotlight showcasing team achievements
- Upcoming Events Calendar with visual date indicators
- Development Metrics with live statistics and progress tracking
๐ฏ Focus Mode
- Productivity Analytics with daily/weekly tracking
- Developer Launch Pad with quick access to essential tools
- Daily Focus Goal Setting with persistent storage
- Advanced Pomodoro Timer with custom intervals
- Interactive Kanban Board with drag-and-dropโฆ
๐จ Play in CodePen:
Tinker with the layout, test interactions, or try a theme switch, all in real time. Click here ๐
๐ค๏ธ Journey
I began by exploring Axeroโs website to understand what makes a great intranet dashboard. From this, I implemented:
- ๐ Upcoming Events - stay updated with meetings and deadlines
- ๐ Personalized Greetings - time-based welcome to make it feel mine
- ๐ Most Productive Employee - gamified motivation & shoutouts
- ๐ Dev Launchpad โ quick access to tools like GitHub, VS Code, Figma
- ๐ Team Stats - commits, code reviews, and system uptime at a glance
But then I asked myself: "What if this wasnโt just a workspace, but my digital universe?"
So, I added 3 more core sections based on how I truly work, learn, and unwind:
- ๐ง Focus Mode - built for distraction-free deep work with a custom Pomodoro timer, drag-and-drop Kanban board, and daily goal setting
- ๐ Learning Mode - houses all my saved resources: YouTube playlists, GitHub repos, docs, articles, coding tools, and platforms like LeetCode and CodePen
- ๐ฎ Play Mode - because productivity isnโt all grind; it has social media docks, HIIT & desk workouts, chill music, and brainy games like Sudoku and Wordle
What started as a dashboard became AetherDesk, a complete, personalized digital workspace that moves with me through every part of my day.
๐ง Key Implementation Details (with Code snippets!)
AetherDesk may look sleek, but there's plenty of logic under the hood (obviously!). Here's a look at some of the core features:
โฑ Custom Pomodoro Timer
A custom timed focus timer with auto-switching between work and break sessions.
let workTime = 25 * 60;
let breakTime = 5 * 60;
let isWork = true;
let interval;
function startTimer() {
interval = setInterval(() => {
let currentTime = isWork ? workTime : breakTime;
currentTime--;
displayTime(currentTime);
if (currentTime <= 0) {
clearInterval(interval);
isWork = !isWork;
startTimer(); // switch session
}
if (isWork) {
workTime = currentTime;
} else {
breakTime = currentTime;
}
localStorage.setItem("pomodoroSession", JSON.stringify({ workTime, breakTime, isWork }));
}, 1000);
}
๐ก Functionality:
Switches between work & break automatically
Persists session state using localStorage
๐ฆ Drag-and-Drop Kanban Board
A dev-focused task board built using HTML5 Drag API and localStorage.
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev, targetColumnId) {
ev.preventDefault();
let data = ev.dataTransfer.getData("text");
let task = document.getElementById(data);
document.getElementById(targetColumnId).appendChild(task);
saveBoardState();
}
๐ก Functionality:
Drag tasks across Planning โ In Progress โ Code Review โ Deployed
Stores task positions and board state in localStorage
Custom labels, priority colors, and metadata modals supported
๐ Theme Toggle with Custom Color Schemes
Switches between your 4 colour themes: pink, blue, green and purple.
const themeBtn = document.getElementById("theme-toggle");
themeBtn.addEventListener("click", () => {
const themes = ["pink", "blue", "green", "purple"];
const current = document.documentElement.getAttribute("data-theme");
const index = themes.indexOf(current);
const next = themes[(index + 1) % themes.length];
document.documentElement.setAttribute("data-theme", next);
localStorage.setItem("theme", next);
});
๐ก Functionality:
-
Cycles through these color palettes:
- ๐ธ Pink:
#e91e63/#9c27b0 - ๐ต Blue:
#1976d2/#0d47a1 - ๐ฟ Green:
#388e3c/#2e7d32 - ๐ Purple:
#7b1fa2/#6a1b9a
- ๐ธ Pink:
Smooth transitions using CSS custom properties
Stores user preference in localStorage
๐ Daily Focus Goal Persistence
A minimal yet powerful tool to set your main focus for the day.
const goalInput = document.getElementById("daily-goal");
goalInput.addEventListener("input", () => {
localStorage.setItem("focusGoal", goalInput.value);
});
window.addEventListener("DOMContentLoaded", () => {
const savedGoal = localStorage.getItem("focusGoal");
if (savedGoal) goalInput.value = savedGoal;
});
๐ก Functionality:
Saves and reloads your day's priority (1 only)
Reinforces focus and intention-setting habits
Seamlessly integrated with Focus Mode layout
๐ช๐ฅ Short, Sweet, Sweaty & Blood-Pumping Workouts
Keeps your mind and body fresh with built-in movement and mini-workouts.
const workoutBtns = document.querySelectorAll(".workout-start");
workoutBtns.forEach((btn) =>
btn.addEventListener("click", () => {
const type = btn.dataset.type;
startWorkout(type); // launches Desk, HIIT, Tabata, or Cardio
showToast(`${type} started! ๐ช`);
})
);
๐ก Functionality:
One-click workouts: Desk, HIIT, Tabata, or Cardio
Tracks stats like "Today", "This Week", and "All Time"
Accompanied by motivational feedback, sounds, and light UI celebration
Helps break sedentary flow and boost energy throughout the day
๐งฐ Tech Stack
AetherDesk was crafted entirely with core frontend technologies - keeping it fast, lightweight, and fully customizable:
- ๐งฑ HTML5 - Semantic structure, accessibility-friendly tags, and ARIA roles
- ๐จ CSS3 - Responsive design with
flex,grid,clamp(), and transitions - ๐ SASS - Modular stylesheets with nesting and variables for scalable theming
- ๐พ localStorage API - For persisting themes, focus goals, task boards, stats, and more
- โจ JavaScript (ES6+) - Core logic for timers, drag-and-drop, theme toggles, and interactivity
- ๐งฉ HTML5 Drag & Drop API - Powering the Kanban task movement with smooth UX
- ๐ Web Notifications + Toast UI - For subtle feedback and motivation
- โฟ ARIA & WCAG 2.1 Compliant - Designed with accessibility and inclusivity in mind
โ ๏ธ Challenges I Faced
Every part of AetherDesk pushed me to think deeper about both functionality and feel, here were the toughest yet most rewarding parts:
- ๐ Handling dynamic state without frameworks - I manually implemented everything from Pomodoro logic to drag-and-drop Kanban boards, focus goals, and theme persistence using vanilla JS
- ๐ง Designing four distinct yet unified modes - making Dashboard, Focus, Learning, and Play feel like separate worlds that still belonged to the same cohesive workspace
- ๐จ Marrying aesthetics with productivity - I wanted it to look beautiful but also support real workflows, with smooth animations, intuitive UX, and zero visual clutter
- โฟ Ensuring accessibility throughout - from ARIA labels and focus indicators to keyboard navigation and color contrast, I manually implemented inclusive design principles
- ๐ก Creating something I'd genuinely use daily - it wasn't just about function; it was about joy, identity, and crafting a workspace that feels just right, for me
๐ What I Learned
This wasnโt just a design or coding task, but a complete creative and functional exploration for me:
โ
Mastered responsive layouts using Flexbox, CSS Grid, and modern units like clamp()
โ
Sharpened my Vanilla JS abilities by handling logic-heavy components without libraries
โ
Used localStorage extensively to make every section feel persistent and intentional
โ
Built reusable components like popups, modals, and cards to streamline UI/UX consistency
โ
Adopted SASS to write scalable and clean CSS
โ
Applied accessibility best practices - ARIA roles, keyboard interactions, and focus highlights
โ
Designed around real user behavior - focus sessions, learning bursts, game breaks, and mindful wellness
โ
Learned to build a space that supports both productivity and personality
๐๐ What Iโm Proud Of
- ๐ฏ Personalization: It truly feels like a space crafted around my workflow, preferences, and daily rhythm
- ๐จ Themes & Modes: Light/dark toggle, 4 unique color palettes, and soft gradient transitions for visual delight
- โก Performance: Built from scratch using pure HTML, CSS, and JS - no frameworks, no dependencies, just clean and fast
- โฟ Accessibility: Manual ARIA roles, keyboard navigation, and WCAG-compliant color contrast for an inclusive experience
And yes, the interface is intentionally optimized for larger screens where deep work actually happens.
I made everything a bit more spacious because... I wear specs ๐ญ๐ญ
On laptops, just zoom out to 80% and youโll enjoy the full AetherDesk feel!
โจ Final Thoughts
AetherDesk isnโt just a project, itโs my digital space. A workspace that mirrors how I think, work, learn, and unwind.
Itโs where Pomodoro meets play, commits meet calm, and deep work meets dopamine.
I didnโt want just another dashboard - I wanted a home for my dev flow.
Something that's built just for me, as a focused developer, a curious learner, and someone who needs that quick Wordle or HIIT break just to reset.
Thank you DEV.to and Axero for giving me a prompt that finally let me build what I didnโt even know I needed ๐๐ฉท
From exploring real intranets to infusing it with my own chaos, clarity, and creativity - this was more than a challenge. It was a joy.
Thank you for making it to the end - from fatigue to flow, code to calm, this space isnโt just mine anymore. Itโs for every dev who wants it all in one. โจ๐ป๐ง ๐๐ฏ
Last but not the least - thank you if you made it this far and read it all! ๐ซถ
If you found AetherDesk inspiring or useful, hereโs how you can show some love:
- โจ Star the GitHub repo
- ๐ด Fork it and make it your own digital sanctuary
- ๐ฌ Leave a reaction or comment on this article - Iโd love to hear your thoughts!
Your support truly means the world. ๐







Top comments (4)
Seriously impressive! AetherDesk feels premium - clean, elegant, and thoughtfully built. Loved how you structured it with HTML5, CSS3, and SASS, and added smooth interactivity using JS, localStorage, drag-and-drop, and more. Brilliant work!
Thank you ๐
I really liked this one tbh.
Well done Divya!โจ
Thank you Fave ๐
Some comments may only be visible to logged-in visitors. Sign in to view all comments.