<?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: Akrem Muktar</title>
    <description>The latest articles on DEV Community by Akrem Muktar (@abualiy).</description>
    <link>https://dev.to/abualiy</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%2F3264559%2Ff152c2d1-2c5d-430a-962e-ae08e7eeb56f.png</url>
      <title>DEV Community: Akrem Muktar</title>
      <link>https://dev.to/abualiy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abualiy"/>
    <language>en</language>
    <item>
      <title>Frontend Challenge: Office Edition sponsored by Axero, Holistic Webdev: Office Space</title>
      <dc:creator>Akrem Muktar</dc:creator>
      <pubDate>Fri, 25 Jul 2025 14:57:18 +0000</pubDate>
      <link>https://dev.to/abualiy/frontend-challenge-office-edition-sponsored-by-axero-holistic-webdev-office-space-381l</link>
      <guid>https://dev.to/abualiy/frontend-challenge-office-edition-sponsored-by-axero-holistic-webdev-office-space-381l</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 developed a comprehensive intranet portal for the office space of a fictional company called Alfeyn Tech. This digital workplace hub serves as a central location for developers, featuring a modern and intuitive interface. The design integrates all essential workplace tools and information, providing easy navigation to each section for a user-friendly experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview of Each Section:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Overview Section&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section features a list of upcoming events, today's agenda, and a chart displaying this week's achievements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tasks Section&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section includes a Today's Task List with checkboxes for tracking progress, a Task Progress Chart that updates in real time based on completed tasks, and a To-Do List that allows users to add or delete tasks. The list is saved locally for persistent tracking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Communication Section&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section highlights developers who have done outstanding work during the week, complete with their photos and a brief note on their contributions. Additionally, it includes a list of today’s birthdays and a daily vibe rating poll.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Wellness Section&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section offers a motivational quote for developers, tips for improving productivity, a Pomodoro timer to assist with focus, and an office radio feature to play music from local sources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sidebar&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This section contains announcements and links related to the office.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://frontend-challenge-office-edition.netlify.app/" rel="noopener noreferrer"&gt;https://frontend-challenge-office-edition.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/UlQt82BOk34" rel="noopener noreferrer"&gt;Video Demo&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I decided to participate as soon as I came across this challenge. When I learned that it required the use of only HTML, CSS, and JavaScript, I committed to working solely with these technologies. I had always wanted to create my own code without relying on any frameworks, so I saw this as the perfect opportunity.&lt;/p&gt;

&lt;p&gt;I encountered quite a bit of difficulty while designing the website, especially figuring out how to organize the content I envisioned. After some consideration, I decided to categorize the content. I opened VS Code and began translating the design I had sketched on paper into code.&lt;/p&gt;

&lt;p&gt;Since I wanted the site to be a single page, I created everything within one HTML file. To improve the modularity of the code, I divided the CSS and JavaScript into separate modules. This project was a blend of coding artistry and my own ideas. It features a variety of elements, including events, a daily agenda, achievements, daily tasks, to-do lists, a Pomodoro timer, a list of the best developers of the week, birthday lists, an office radio, announcements, the current time and date, and links to key resources from the organization.&lt;/p&gt;




&lt;p&gt;Copyright (c) 2025 Akrem M.&lt;/p&gt;

&lt;p&gt;We extend our sincere gratitude to Axero for their sponsorship of this challenge, which serves to inspire innovation within the workplace. This project exemplifies how meticulous design and contemporary web technologies can enhance the digital experience for employees.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Dagu — A blog website inspired by Afar traditional information system: My Storyblok Headless CMS Challenge Submission</title>
      <dc:creator>Akrem Muktar</dc:creator>
      <pubDate>Sat, 28 Jun 2025 20:29:50 +0000</pubDate>
      <link>https://dev.to/abualiy/dagu-a-blog-website-inspired-by-afar-traditional-information-system-my-storyblok-headless-cms-4l35</link>
      <guid>https://dev.to/abualiy/dagu-a-blog-website-inspired-by-afar-traditional-information-system-my-storyblok-headless-cms-4l35</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/storyblok"&gt;Storyblok Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Dagu is a modern storytelling and knowledge-sharing web app inspired by the Afar people's traditional communication system, where vital information (called Dagu) is passed from person to person.&lt;br&gt;
I aimed to build a platform that preserves this cultural heritage in a digital form — allowing users to share, create, edit, and read Habbos (messages/posts).&lt;br&gt;
It also explores headless CMS integration using Storyblok and AI features to assist in post creation.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Storyblok Space:&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://sylfxxcladepgakbnsin.supabase.co" rel="noopener noreferrer"&gt;https://sylfxxcladepgakbnsin.supabase.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Repository:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/Abualiy/dagu" rel="noopener noreferrer"&gt;https://github.com/Abualiy/dagu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Demo&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://dagu.vercel.app" rel="noopener noreferrer"&gt;https://dagu.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo Video&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/ZLIZ1rQugyU" rel="noopener noreferrer"&gt;https://youtu.be/ZLIZ1rQugyU&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Next.js 15 (App Router)&lt;/li&gt;
&lt;li&gt;CMS: Storyblok (management + delivery APIs)&lt;/li&gt;
&lt;li&gt;Database/Auth: Supabase (auth for users)&lt;/li&gt;
&lt;li&gt;Styling: Tailwind CSS&lt;/li&gt;
&lt;li&gt;Deployment: Vercel&lt;/li&gt;
&lt;li&gt;AI API: OpenRouter (GPT-4o &amp;amp; other free-tier models)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How I Used Storyblok
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defined a custom content type: habbo&lt;/li&gt;
&lt;li&gt;Used Storyblok Management API to create, edit, and delete posts&lt;/li&gt;
&lt;li&gt;Queried posts via the Delivery API and displayed them in dynamic routes&lt;/li&gt;
&lt;li&gt;Used richTextResolver for rendering content&lt;/li&gt;
&lt;li&gt;Filtered Habbos by author and connected Storyblok content with Supabase-authenticated users&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Submitted for the Awesome AI category!&lt;br&gt;
I integrated OpenRouter to:&lt;br&gt;
🧠 Automatically generate post excerpts using AI from the main content&lt;/p&gt;

&lt;h2&gt;
  
  
  Learnings and Takeaways
&lt;/h2&gt;

&lt;p&gt;🌍 Proud to blend cultural storytelling with modern tech&lt;br&gt;
🚀 Learned how to combine headless CMS, serverless functions, user auth, and AI&lt;br&gt;
🧩 The challenge helped me structure my CMS thinking clearly — components, schema, and reusability&lt;br&gt;
⚠️ One challenge was dynamic data fetching on Vercel, but I used force-dynamic and adjusted caching headers&lt;/p&gt;

&lt;h2&gt;
  
  
  Team Submission:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Built by &lt;a href="https://akremmuktar.vrecel.app" rel="noopener noreferrer"&gt;Akrem Muktar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks to Storyblok &amp;amp; DEV for inspiring this project! 🙌&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Let’s keep building!&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%2Fxw5fx2vzkdmjhxpd3dui.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%2Fxw5fx2vzkdmjhxpd3dui.png" alt="Image description" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>storyblokchallenge</category>
      <category>webdev</category>
      <category>api</category>
    </item>
  </channel>
</rss>
