<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web Development |</title><link>https://ad25aderram.github.io/my-portfolio/tags/web-development/</link><atom:link href="https://ad25aderram.github.io/my-portfolio/tags/web-development/index.xml" rel="self" type="application/rss+xml"/><description>Web Development</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 01 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://ad25aderram.github.io/my-portfolio/media/icon_hu_b93c5070c370bd46.png</url><title>Web Development</title><link>https://ad25aderram.github.io/my-portfolio/tags/web-development/</link></image><item><title>Personal Portfolio Website</title><link>https://ad25aderram.github.io/my-portfolio/projects/portfolio-website/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://ad25aderram.github.io/my-portfolio/projects/portfolio-website/</guid><description>&lt;p&gt;A personal portfolio site built from scratch — and a hands-on introduction to the modern developer workflow, from static site generation to automated deployment.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The goal was simple: have a live portfolio to showcase projects. The outcome was something more valuable — a practical understanding of how modern deployment pipelines actually work, gained by building one myself.&lt;/p&gt;
&lt;h2 id="approach"&gt;Approach&lt;/h2&gt;
&lt;p&gt;The stack centres on &lt;strong&gt;Hugo&lt;/strong&gt; as the static site generator, with &lt;strong&gt;HugoBlox&lt;/strong&gt; for theming and layout configuration. Content is written in Markdown with YAML front matter, and every push to the main branch triggers an automated deployment via &lt;strong&gt;GitHub Actions&lt;/strong&gt; to &lt;strong&gt;GitHub Pages&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Key learning areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;YAML&lt;/strong&gt; — understanding the syntax, structure, and role of &lt;code&gt;.yml&lt;/code&gt; files in configuring GitHub Actions workflows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Markdown customisation&lt;/strong&gt; — using front matter to configure pages, projects, and metadata within a static site generator&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions&lt;/strong&gt; — writing and reading CI/CD workflows that automate build and deploy steps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux environment&lt;/strong&gt; — setting up and managing the entire development workflow on Arch Linux for the first time&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[Push to main] → [GitHub Actions Trigger]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; [Hugo Build Step]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; [Deploy to GitHub Pages]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Every commit kicks off the full build-and-deploy cycle automatically — no manual steps.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="tech-stack"&gt;Tech Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Static Site Generator&lt;/strong&gt;: Hugo + HugoBlox&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment&lt;/strong&gt;: GitHub Pages&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automation&lt;/strong&gt;: GitHub Actions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration&lt;/strong&gt;: YAML, Markdown&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment&lt;/strong&gt;: Arch Linux&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;p&gt;Sometimes the side-quests are the real learning. Setting up this portfolio introduced version-controlled deployments, declarative configuration, and Linux-native development workflows — all in the context of a project that was genuinely mine to own end to end.&lt;/p&gt;</description></item><item><title>How freeCodeCamp Is Making Me a Better Engineer</title><link>https://ad25aderram.github.io/my-portfolio/blog/freecodecamp-journey/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><guid>https://ad25aderram.github.io/my-portfolio/blog/freecodecamp-journey/</guid><description>&lt;p&gt;I&amp;rsquo;m currently studying software engineering at ENSAM Casablanca, which means I spend a lot of time on theory — algorithms, mathematics, system architecture. It&amp;rsquo;s rigorous and I genuinely enjoy it. But there&amp;rsquo;s a gap between understanding how something works and actually being able to build it, and that&amp;rsquo;s exactly what freeCodeCamp has been filling for me.&lt;/p&gt;
&lt;h2 id="why-freecodecamp"&gt;Why freeCodeCamp&lt;/h2&gt;
&lt;p&gt;I wasn&amp;rsquo;t looking for another course platform. What drew me to freeCodeCamp specifically is that it&amp;rsquo;s entirely project-based — you don&amp;rsquo;t move forward by watching videos, you move forward by building things and passing tests. For someone already in an engineering programme, that hands-on structure is exactly what complements academic learning rather than duplicating it.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also completely free, which matters when you&amp;rsquo;re a student.&lt;/p&gt;
&lt;h2 id="what-ive-completed-so-far"&gt;What I&amp;rsquo;ve completed so far&lt;/h2&gt;
&lt;h3 id="responsive-web-design"&gt;Responsive Web Design&lt;/h3&gt;
&lt;p&gt;My first certification. This one covers HTML and CSS from the ground up, but the real value is in the five required projects — a tribute page, a survey form, a product landing page, a documentation page, and a personal portfolio page. Each one has to pass a set of automated tests, which forces you to actually meet the spec rather than just eyeball it.&lt;/p&gt;
&lt;p&gt;It also introduced me to accessibility thinking early — semantic HTML, ARIA labels, contrast ratios — things that often get skipped in university curricula.&lt;/p&gt;
&lt;p&gt;🎓
&lt;/p&gt;
&lt;h3 id="scientific-computing-with-python"&gt;Scientific Computing with Python&lt;/h3&gt;
&lt;p&gt;This certification covers Python deeply: data structures, algorithms, OOP, and file handling — but also lambda functions, list comprehensions, regular expressions, and the kind of Pythonic patterns that separate readable code from messy code. Coming from a background where I&amp;rsquo;d used Python for algorithm projects and mathematical modelling, this sharpened the parts I&amp;rsquo;d been doing by feel.&lt;/p&gt;
&lt;p&gt;🎓
&lt;/p&gt;
&lt;h3 id="relational-database"&gt;Relational Database&lt;/h3&gt;
&lt;p&gt;Probably my favourite so far. This certification runs entirely in a Linux terminal environment — you learn PostgreSQL, SQL joins and subqueries, Bash scripting, and Git, all through a series of guided projects. The environment feels like real development work, not exercises. By the end you&amp;rsquo;ve built several databases from scratch and written Bash scripts that interact with them.&lt;/p&gt;
&lt;p&gt;Given that I&amp;rsquo;d already used PostgreSQL in my Laravel API project, revisiting it through this lens — with more focus on the relational theory and query optimisation — made things click at a deeper level.&lt;/p&gt;
&lt;p&gt;🎓
&lt;/p&gt;
&lt;h2 id="currently-javascript-fundamentals"&gt;Currently: JavaScript Fundamentals&lt;/h2&gt;
&lt;p&gt;Coming from Python and PHP, the basics clicked fast. Now it&amp;rsquo;s the interesting parts: how this really works, the event loop and async/await under the hood, closures, prototypal inheritance, and why JavaScript&amp;rsquo;s quirks actually make sense once you stop fighting them.&lt;/p&gt;
&lt;p&gt;Frameworks are already in the mix — but understanding what&amp;rsquo;s happening beneath them is what makes the difference between using a tool and actually knowing it.&lt;/p&gt;
&lt;h2 id="what-the-curriculum-has-taught-me-beyond-the-content"&gt;What the curriculum has taught me beyond the content&lt;/h2&gt;
&lt;p&gt;The biggest benefit hasn&amp;rsquo;t been any specific technology. It&amp;rsquo;s the habit of &lt;strong&gt;building to a spec&lt;/strong&gt; — reading requirements carefully, writing code that passes tests you didn&amp;rsquo;t write, and debugging when your mental model of what the code does doesn&amp;rsquo;t match reality.&lt;/p&gt;
&lt;p&gt;That discipline transfers directly to professional software development. It&amp;rsquo;s also made me a better reader of documentation, which is arguably the most valuable skill in this field.&lt;/p&gt;
&lt;h2 id="would-i-recommend-it"&gt;Would I recommend it?&lt;/h2&gt;
&lt;p&gt;Yes, especially if you&amp;rsquo;re a CS or engineering student who wants practical web development skills that your degree doesn&amp;rsquo;t fully cover. The certifications are recognised, the projects are real, and the progression is well thought out.&lt;/p&gt;
&lt;p&gt;The full stack curriculum ahead of me still includes front end libraries (React), back end development (Node.js/Express), and quality assurance. I&amp;rsquo;ll keep writing as I go.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Currently working through: JavaScript Fundamentals&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Certifications earned: Responsive Web Design · Scientific Computing with Python · Relational Database&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>