<?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: Arslon Erkinov</title>
    <description>The latest articles on DEV Community by Arslon Erkinov (@cyberb0x).</description>
    <link>https://dev.to/cyberb0x</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3738228%2F382a7cbb-bef9-43a0-906b-9c50d0de5537.jpeg</url>
      <title>DEV Community: Arslon Erkinov</title>
      <link>https://dev.to/cyberb0x</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cyberb0x"/>
    <language>en</language>
    <item>
      <title>Building a Contact Form in Django 6</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Thu, 06 Aug 2026 14:03:44 +0000</pubDate>
      <link>https://dev.to/cyberb0x/building-a-contact-form-in-django-6-101p</link>
      <guid>https://dev.to/cyberb0x/building-a-contact-form-in-django-6-101p</guid>
      <description>&lt;p&gt;Today I completed another important milestone for my Django project.&lt;/p&gt;

&lt;p&gt;I implemented a fully working Contact Form that allows visitors to send messages directly from the website.&lt;/p&gt;

&lt;p&gt;Features&lt;br&gt;
Contact page&lt;br&gt;
Name, Email, Subject and Message fields&lt;br&gt;
Email delivery using Gmail SMTP&lt;br&gt;
Success message after submission&lt;br&gt;
CSRF protection&lt;br&gt;
Tailwind CSS responsive UI&lt;br&gt;
Secure configuration with environment variables&lt;/p&gt;

&lt;p&gt;One of the most useful parts of today's work wasn't just writing the feature—it was debugging common Django issues such as:&lt;/p&gt;

&lt;p&gt;The view didn't return an HttpResponse&lt;br&gt;
settings is not defined&lt;br&gt;
Missing custom settings values&lt;br&gt;
SMTP configuration&lt;/p&gt;

&lt;p&gt;These kinds of problems are part of everyday backend development, and solving them helps build a better understanding of the framework.&lt;/p&gt;

&lt;p&gt;The next steps for the project are adding Google reCAPTCHA, storing contact messages in the database, and preparing everything for production deployment.&lt;/p&gt;

&lt;p&gt;Every feature completed makes the application a little more production-ready.&lt;/p&gt;

&lt;h1&gt;
  
  
  django #python #webdev #backend #fullstack #programming
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgi1w7njr4eu4x5ldzup.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgi1w7njr4eu4x5ldzup.jpg" alt=" " width="800" height="628"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn4we9o4fg6nncleobexa.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn4we9o4fg6nncleobexa.jpg" alt=" " width="671" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>python</category>
    </item>
    <item>
      <title>Adding Privacy Policy &amp; Cookie Policy to My Django Food Blog</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Wed, 29 Jul 2026 06:56:41 +0000</pubDate>
      <link>https://dev.to/cyberb0x/adding-privacy-policy-cookie-policy-to-my-django-food-blog-387p</link>
      <guid>https://dev.to/cyberb0x/adding-privacy-policy-cookie-policy-to-my-django-food-blog-387p</guid>
      <description>&lt;p&gt;Yesterday I focused on another important step toward making my Django Food Blog more production-ready: adding legal pages for transparency and user trust.&lt;/p&gt;

&lt;p&gt;When building real applications, features and UI are only part of the process. A professional website also needs clear information about data usage and cookies.&lt;/p&gt;

&lt;p&gt;✅ Privacy Policy Page&lt;/p&gt;

&lt;p&gt;I created a complete Privacy Policy page that includes:&lt;/p&gt;

&lt;p&gt;Information about collected data&lt;br&gt;
How user data is used&lt;br&gt;
Cookies information&lt;br&gt;
Third-party services&lt;br&gt;
Data security&lt;br&gt;
User rights&lt;br&gt;
Contact information&lt;br&gt;
🍪 Cookie Policy Page&lt;/p&gt;

&lt;p&gt;I also added a dedicated Cookie Policy page explaining:&lt;/p&gt;

&lt;p&gt;What cookies are&lt;br&gt;
Essential cookies&lt;br&gt;
Analytics cookies&lt;br&gt;
Functional cookies&lt;br&gt;
Cookie management&lt;br&gt;
Policy updates&lt;br&gt;
🛠️ Django Implementation&lt;/p&gt;

&lt;p&gt;Added new routes:&lt;/p&gt;

&lt;p&gt;/privacy-policy/&lt;br&gt;
/cookie-policy/&lt;/p&gt;

&lt;p&gt;Created new views:&lt;/p&gt;

&lt;p&gt;privacy_policy&lt;br&gt;
cookie_policy&lt;/p&gt;

&lt;p&gt;Added templates:&lt;/p&gt;

&lt;p&gt;templates/privacy_policy.html&lt;br&gt;
templates/cookie_policy.html&lt;br&gt;
🧭 Navigation Update&lt;/p&gt;

&lt;p&gt;To make these pages easily accessible, I added links to the footer navigation.&lt;/p&gt;

&lt;p&gt;Users can now quickly find important legal information from any page.&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;/p&gt;

&lt;p&gt;Building a production-ready application is not only about writing code and adding features.&lt;/p&gt;

&lt;p&gt;Trust, transparency, privacy, and compliance are also important parts of modern web development.&lt;/p&gt;

&lt;p&gt;This update brings my Django Food Blog one step closer to becoming a complete real-world application.&lt;/p&gt;

&lt;p&gt;More improvements coming soon! 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #webdev #privacy
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj6trwk3heu9o6q3l0j02.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj6trwk3heu9o6q3l0j02.jpg" alt=" " width="800" height="519"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwsjo8sgz6xommhtsq8r4.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwsjo8sgz6xommhtsq8r4.jpg" alt=" " width="800" height="477"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgvw3bxtl9pte90nh1d5.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgvw3bxtl9pte90nh1d5.jpg" alt=" " width="434" height="350"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftch5hf561regolhrh3u8.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftch5hf561regolhrh3u8.jpg" alt=" " width="569" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Optimizing My Django Food Blog: Performance, SEO &amp; Better Error Pages</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Sun, 26 Jul 2026 00:05:36 +0000</pubDate>
      <link>https://dev.to/cyberb0x/optimizing-my-django-food-blog-performance-seo-better-error-pages-178k</link>
      <guid>https://dev.to/cyberb0x/optimizing-my-django-food-blog-performance-seo-better-error-pages-178k</guid>
      <description>&lt;p&gt;Today's development session was focused on making my Django Food Blog faster, more search-engine friendly, and more resilient.&lt;/p&gt;

&lt;p&gt;Rather than introducing a new feature, I concentrated on the improvements that help create a production-ready application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚡ Lazy Loading Images&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first optimization was enabling native browser lazy loading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;loading="lazy"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Images are now loaded only when they enter the user's viewport.&lt;/p&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;p&gt;Faster initial page load&lt;br&gt;
Reduced bandwidth usage&lt;br&gt;
Better Core Web Vitals&lt;br&gt;
Improved user experience&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🖼️ WebP Images&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also added support for WebP images.&lt;/p&gt;

&lt;p&gt;Compared to traditional JPEG and PNG formats, WebP provides much smaller file sizes while maintaining excellent visual quality.&lt;/p&gt;

&lt;p&gt;This can significantly improve loading performance across the site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 Image Sitemap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Search engines don't always discover images efficiently.&lt;/p&gt;

&lt;p&gt;To solve this, I implemented a dedicated Image Sitemap, allowing Google and other search engines to crawl and index recipe images more effectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚫 Custom 404 Page&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of showing Django's default error page, I created a custom 404 page that matches the application's design and helps users continue browsing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚠️ Custom 500 Page&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also designed a custom 500 Internal Server Error page.&lt;/p&gt;

&lt;p&gt;Even if something unexpected happens, users now see a branded and user-friendly page instead of a generic server error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not every productive day is about adding new functionality.&lt;/p&gt;

&lt;p&gt;Sometimes the biggest improvements come from optimizing performance, strengthening SEO, and refining the overall user experience.&lt;/p&gt;

&lt;p&gt;These changes may seem small individually, but together they make the application feel faster, more reliable, and much closer to production quality.&lt;/p&gt;

&lt;p&gt;I'm excited to keep improving this project one step at a time.&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #webdev #performance
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0d45rdwep7inl4wp76m7.jpeg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0d45rdwep7inl4wp76m7.jpeg" alt=" " width="800" height="692"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc6rj90u0lhe386d3ghj9.jpeg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc6rj90u0lhe386d3ghj9.jpeg" alt=" " width="800" height="663"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxzokspvun3atrnln9npg.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxzokspvun3atrnln9npg.jpg" alt=" " width="390" height="215"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffnh7t5bsieughsem3heo.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffnh7t5bsieughsem3heo.jpg" alt=" " width="567" height="232"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>devops</category>
    </item>
    <item>
      <title>Completing the SEO Foundation of My Django Food Blog</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Sat, 25 Jul 2026 16:53:46 +0000</pubDate>
      <link>https://dev.to/cyberb0x/completing-the-seo-foundation-of-my-django-food-blog-28ca</link>
      <guid>https://dev.to/cyberb0x/completing-the-seo-foundation-of-my-django-food-blog-28ca</guid>
      <description>&lt;p&gt;Today I completed one of the most important stages of my Django Food Blog—building a complete SEO and structured data foundation.&lt;/p&gt;

&lt;p&gt;The goal wasn't simply to improve search rankings, but to make the application understandable to search engines and ready for production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌐 Technical SEO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project now includes:&lt;/p&gt;

&lt;p&gt;Dynamic Title&lt;br&gt;
Meta Description&lt;br&gt;
Canonical URL&lt;br&gt;
Open Graph&lt;br&gt;
Twitter Cards&lt;br&gt;
Sitemap.xml&lt;br&gt;
Robots.txt&lt;/p&gt;

&lt;p&gt;These features help search engines crawl the website correctly while improving how pages appear when shared on social media.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏗️ Structured Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I expanded the Schema.org implementation with several new schemas:&lt;/p&gt;

&lt;p&gt;Recipe&lt;br&gt;
AggregateRating&lt;br&gt;
BreadcrumbList&lt;br&gt;
FAQPage&lt;br&gt;
WebSite&lt;br&gt;
Organization&lt;br&gt;
Person (Author)&lt;br&gt;
Publisher&lt;br&gt;
VideoObject&lt;/p&gt;

&lt;p&gt;One of today's biggest improvements was creating relationships between these schemas using &lt;a class="mentioned-user" href="https://dev.to/id"&gt;@id&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The structure now looks like this:&lt;/p&gt;

&lt;p&gt;WebSite → Organization → Person → Recipe&lt;/p&gt;

&lt;p&gt;This creates a much cleaner semantic model that search engines can understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎥 VideoObject&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Recipes containing YouTube videos now include a VideoObject schema with:&lt;/p&gt;

&lt;p&gt;Name&lt;br&gt;
Description&lt;br&gt;
Thumbnail&lt;br&gt;
Embed URL&lt;br&gt;
Upload Date&lt;/p&gt;

&lt;p&gt;This allows Google to better understand recipe videos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⭐ Rich Results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also fixed an issue with recipe ratings.&lt;/p&gt;

&lt;p&gt;A small field name correction allowed Google to correctly detect:&lt;/p&gt;

&lt;p&gt;Aggregate Rating&lt;br&gt;
Rating Count&lt;br&gt;
Review Snippets&lt;/p&gt;

&lt;p&gt;After validation, Google now recognizes:&lt;/p&gt;

&lt;p&gt;✅ Recipe Rich Results&lt;br&gt;
✅ Breadcrumbs&lt;br&gt;
✅ Review Snippets&lt;br&gt;
✅ Validation&lt;/p&gt;

&lt;p&gt;I tested the project using Schema Validator and Google's Rich Results Test.&lt;/p&gt;

&lt;p&gt;Everything now validates successfully without critical errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SEO isn't something to add at the end of a project.&lt;/p&gt;

&lt;p&gt;It's part of the architecture.&lt;/p&gt;

&lt;p&gt;Implementing structured data, technical SEO, and proper metadata makes an application easier to discover, easier to understand, and more professional.&lt;/p&gt;

&lt;p&gt;Today's work brought my Django Food Blog much closer to a production-ready application.&lt;/p&gt;

&lt;p&gt;The next step is continuing to improve performance, accessibility, and user experience.&lt;/p&gt;

&lt;p&gt;Thanks for following the journey! 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #seo #webdev
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63sxny1iumqxp66pdxgy.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63sxny1iumqxp66pdxgy.jpg" alt=" " width="799" height="252"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2qh4gqla2u32hgiqjkan.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2qh4gqla2u32hgiqjkan.jpg" alt=" " width="799" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Completing the Core SEO Foundation of My Django Food Blog</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Thu, 23 Jul 2026 19:22:00 +0000</pubDate>
      <link>https://dev.to/cyberb0x/completing-the-core-seo-foundation-of-my-django-food-blog-3mhc</link>
      <guid>https://dev.to/cyberb0x/completing-the-core-seo-foundation-of-my-django-food-blog-3mhc</guid>
      <description>&lt;p&gt;Today I focused on something that every production-ready web application needs but many side projects overlook—technical SEO.&lt;/p&gt;

&lt;p&gt;Over the last few development sessions, I implemented all the core SEO components for my Django Food Blog, and today I completed the foundation.&lt;/p&gt;

&lt;p&gt;✅ SEO Features Now Implemented&lt;br&gt;
Dynamic Title&lt;br&gt;
Meta Description&lt;br&gt;
Canonical URL&lt;br&gt;
Open Graph Metadata&lt;br&gt;
Twitter Card&lt;br&gt;
Sitemap.xml&lt;br&gt;
Robots.txt&lt;br&gt;
Schema.org Recipe Structured Data&lt;br&gt;
Why these features matter&lt;/p&gt;

&lt;p&gt;Adding these features improves much more than search rankings.&lt;/p&gt;

&lt;p&gt;The application now:&lt;/p&gt;

&lt;p&gt;Helps search engines crawl and index pages efficiently.&lt;br&gt;
Prevents duplicate content with canonical URLs.&lt;br&gt;
Generates rich previews when recipes are shared on social media.&lt;br&gt;
Uses structured data (Schema.org Recipe) so search engines better understand recipe content.&lt;br&gt;
Provides a stronger technical foundation for future growth.&lt;br&gt;
What I learned&lt;/p&gt;

&lt;p&gt;Modern web development isn't only about building features.&lt;/p&gt;

&lt;p&gt;A production-ready application also needs proper SEO, metadata, structured data, and discoverability.&lt;/p&gt;

&lt;p&gt;These improvements may be invisible to most users, but they play a huge role in making an application professional and ready for real-world deployment.&lt;/p&gt;

&lt;p&gt;What's next?&lt;/p&gt;

&lt;p&gt;With the technical SEO foundation complete, I'll continue improving the Food Blog by focusing on new features, performance optimization, and preparing the project for production deployment.&lt;/p&gt;

&lt;p&gt;Thanks for following my journey! 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #seo #webdev
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>devops</category>
    </item>
    <item>
      <title>Adding sitemap.xml and robots.txt</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Tue, 21 Jul 2026 22:19:05 +0000</pubDate>
      <link>https://dev.to/cyberb0x/adding-sitemapxml-and-robotstxt-2380</link>
      <guid>https://dev.to/cyberb0x/adding-sitemapxml-and-robotstxt-2380</guid>
      <description>&lt;p&gt;Today I shifted my focus from building features to improving the technical SEO of my Django project.&lt;/p&gt;

&lt;p&gt;A web application isn't truly complete if search engines can't efficiently discover and index its content.&lt;/p&gt;

&lt;p&gt;✅ What I implemented&lt;br&gt;
📄 sitemap.xml&lt;/p&gt;

&lt;p&gt;I added a dynamic sitemap.xml to my Django application.&lt;/p&gt;

&lt;p&gt;This allows search engines to:&lt;/p&gt;

&lt;p&gt;Discover all public recipe pages&lt;br&gt;
Crawl new content more efficiently&lt;br&gt;
Improve indexing of the website&lt;br&gt;
🤖 robots.txt&lt;/p&gt;

&lt;p&gt;I also created a robots.txt file to guide search engine crawlers.&lt;/p&gt;

&lt;p&gt;The configuration:&lt;/p&gt;

&lt;p&gt;Allows access to public pages&lt;br&gt;
Includes a reference to the sitemap&lt;br&gt;
Helps search engines understand the website structure&lt;br&gt;
💡 Why I added these features&lt;/p&gt;

&lt;p&gt;As developers, we often focus on functionality and UI.&lt;/p&gt;

&lt;p&gt;But technical SEO is just as important if you want users to actually find your application.&lt;/p&gt;

&lt;p&gt;Adding sitemap.xml and robots.txt is a small task that can have a significant impact on how search engines crawl and index a website.&lt;/p&gt;

&lt;p&gt;It's one more step toward making this Django project production-ready.&lt;/p&gt;

&lt;p&gt;🚀 What's next?&lt;br&gt;
Improve metadata for recipes&lt;br&gt;
Add Open Graph and Twitter Cards&lt;br&gt;
Continue optimizing performance&lt;br&gt;
Prepare the project for deployment&lt;/p&gt;

&lt;p&gt;Thanks for following my development journey!&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fub4grzmy84r6it1tv9jr.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fub4grzmy84r6it1tv9jr.jpg" alt=" " width="451" height="156"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6n4cuo8w8vfrxiclvijq.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6n4cuo8w8vfrxiclvijq.jpg" alt=" " width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #seo #webdev
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Today's Progress — Building My Django Food Blog</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Wed, 15 Jul 2026 20:49:45 +0000</pubDate>
      <link>https://dev.to/cyberb0x/todays-progress-building-my-django-food-blog-92p</link>
      <guid>https://dev.to/cyberb0x/todays-progress-building-my-django-food-blog-92p</guid>
      <description>&lt;p&gt;Today I implemented one of the features I wanted for a long time: "You May Also Like" recommendations.&lt;/p&gt;

&lt;p&gt;The goal was simple—help users discover more recipes without leaving the recipe page while keeping the implementation clean and maintainable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🍽️ What I built today&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Added a "You May Also Like" section on the recipe detail page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The feature automatically:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finds recipes from the same category&lt;br&gt;
Excludes the current recipe&lt;br&gt;
Limits the results to three recommendations&lt;br&gt;
Displays the section only when similar recipes are available&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ Backend Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I updated the recipe_detail view to:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Query recipes by category&lt;br&gt;
Exclude the current recipe&lt;br&gt;
Pass similar_recipes to the template&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏗️ Better Template Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While implementing the feature, I discovered a recursive template include issue.&lt;br&gt;
To solve it, I reorganized the templates:&lt;br&gt;
&lt;strong&gt;recipe_detail.html&lt;/strong&gt; is now responsible only for the recommendation section&lt;br&gt;
&lt;strong&gt;recipe_card.html&lt;/strong&gt; contains only a single reusable recipe card&lt;/p&gt;

&lt;p&gt;This makes the project much cleaner, easier to maintain, and more scalable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🐛 Bug Fix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also tracked down why recipe cards were being duplicated.&lt;/p&gt;

&lt;p&gt;The problem turned out to be an incorrect template structure that caused nested includes.&lt;/p&gt;

&lt;p&gt;After refactoring, everything renders correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎨 UI Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The recommendation cards now match the rest of the website with:&lt;/p&gt;

&lt;p&gt;Responsive grid layout&lt;br&gt;
Recipe image&lt;br&gt;
Rating&lt;br&gt;
Hover animations&lt;br&gt;
Consistent design system&lt;/p&gt;

&lt;p&gt;💡 One thing I enjoy about Django development is that building a feature often leads to improving the architecture as well. Today's work wasn't just about adding recommendations—it was also about making the codebase cleaner and more reusable.&lt;/p&gt;

&lt;p&gt;Every feature is another step toward turning this project into a production-ready application.&lt;/p&gt;

&lt;h1&gt;
  
  
  Python #Django #FullStack #BackendDevelopment #WebDevelopment
&lt;/h1&gt;

&lt;h1&gt;
  
  
  SoftwareEngineering #SoftwareDeveloper #Programming
&lt;/h1&gt;

&lt;h1&gt;
  
  
  OpenSource #BuildInPublic #Tech #Coding
&lt;/h1&gt;

&lt;h1&gt;
  
  
  TailwindCSS #JavaScript #HTML #CSS
&lt;/h1&gt;

&lt;h1&gt;
  
  
  ResponsiveDesign #UIUX #FoodTech
&lt;/h1&gt;

&lt;h1&gt;
  
  
  GitHub #Developer #LearningInPublic
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Google #Microsoft #Amazon #Meta #Netflix #Spotify #OpenAI
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fln3bs7j7djo2izg62zbe.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fln3bs7j7djo2izg62zbe.jpg" alt=" " width="800" height="663"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>python</category>
      <category>django</category>
      <category>fullstack</category>
    </item>
    <item>
      <title>Rebuilding My Django Food Blog: A Complete UI/UX Redesign</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Sun, 12 Jul 2026 20:52:02 +0000</pubDate>
      <link>https://dev.to/cyberb0x/rebuilding-my-django-food-blog-a-complete-uiux-redesign-4djb</link>
      <guid>https://dev.to/cyberb0x/rebuilding-my-django-food-blog-a-complete-uiux-redesign-4djb</guid>
      <description>&lt;p&gt;Today wasn't about adding new features.&lt;/p&gt;

&lt;p&gt;Instead, I made one of the biggest decisions for my Food Blog Platform—to completely redesign the application from the ground up.&lt;/p&gt;

&lt;p&gt;As developers, it's easy to keep adding functionality, but sometimes the best decision is to stop and rethink the user experience.&lt;/p&gt;

&lt;p&gt;🎨 A New Design Philosophy&lt;/p&gt;

&lt;p&gt;The previous version worked well, but it had become visually heavy and difficult to maintain.&lt;/p&gt;

&lt;p&gt;So I decided to move to a completely different approach:&lt;/p&gt;

&lt;p&gt;🌞 Light theme instead of a dark interface&lt;br&gt;
✨ Minimalist design&lt;br&gt;
📱 Mobile-first responsive layout&lt;br&gt;
🧹 Cleaner HTML templates&lt;br&gt;
🔧 Easier long-term maintenance&lt;/p&gt;

&lt;p&gt;The goal wasn't just to make the application look better—it was to make the codebase cleaner and more scalable.&lt;/p&gt;

&lt;p&gt;🏠 Homepage&lt;/p&gt;

&lt;p&gt;The homepage received a complete redesign.&lt;/p&gt;

&lt;p&gt;Improvements&lt;br&gt;
New navigation header&lt;br&gt;
Modern recipe cards&lt;br&gt;
Simplified Featured Recipe section&lt;br&gt;
Compact category blocks&lt;br&gt;
Cleaner pagination&lt;br&gt;
Better responsive behavior&lt;/p&gt;

&lt;p&gt;Everything now feels lighter and much easier to navigate.&lt;/p&gt;

&lt;p&gt;📖 Recipes Page&lt;/p&gt;

&lt;p&gt;I completely redesigned the recipes page.&lt;/p&gt;

&lt;p&gt;Changes&lt;br&gt;
Modern recipe grid&lt;br&gt;
Simpler category filters&lt;br&gt;
New recipe cards&lt;br&gt;
Compact pagination&lt;/p&gt;

&lt;p&gt;The page is now cleaner and puts the focus where it belongs—on the recipes.&lt;/p&gt;

&lt;p&gt;👤 Profile Page&lt;/p&gt;

&lt;p&gt;The profile page also received a complete makeover.&lt;/p&gt;

&lt;p&gt;New features&lt;br&gt;
Minimalist profile layout&lt;br&gt;
Redesigned user card&lt;br&gt;
Better social links section&lt;br&gt;
Improved mobile responsiveness&lt;br&gt;
⚙️ Settings&lt;/p&gt;

&lt;p&gt;The settings page was rebuilt with usability in mind.&lt;/p&gt;

&lt;p&gt;Improvements&lt;br&gt;
Cleaner layout&lt;br&gt;
Better form styling&lt;br&gt;
Improved avatar section&lt;br&gt;
Responsive design&lt;br&gt;
📄 About Page&lt;/p&gt;

&lt;p&gt;I rewrote the About page from scratch.&lt;/p&gt;

&lt;p&gt;Added:&lt;/p&gt;

&lt;p&gt;Better project description&lt;br&gt;
About Me section&lt;br&gt;
Features overview&lt;br&gt;
GitHub &amp;amp; LinkedIn links&lt;br&gt;
New Call-to-Action section&lt;/p&gt;

&lt;p&gt;Removed:&lt;/p&gt;

&lt;p&gt;Large hero sections&lt;br&gt;
Heavy gradients&lt;br&gt;
Unnecessary visual effects&lt;/p&gt;

&lt;p&gt;Sometimes removing elements improves the product more than adding new ones.&lt;/p&gt;

&lt;p&gt;📊 Dashboard&lt;/p&gt;

&lt;p&gt;The dashboard received one of the biggest updates.&lt;/p&gt;

&lt;p&gt;What's new?&lt;br&gt;
New dashboard header&lt;br&gt;
Redesigned statistics cards&lt;br&gt;
Better Saved Recipes section&lt;br&gt;
Better Favorite Recipes section&lt;br&gt;
Much cleaner HTML templates&lt;br&gt;
Fixed markup issues&lt;br&gt;
Unified design language&lt;/p&gt;

&lt;p&gt;The dashboard is now much easier to maintain and extend.&lt;/p&gt;

&lt;p&gt;❤️ Favorites&lt;/p&gt;

&lt;p&gt;I also prepared the Favorites system to replace JavaScript actions with standard Django POST forms.&lt;/p&gt;

&lt;p&gt;This keeps the application closer to Django's philosophy and reduces frontend complexity.&lt;/p&gt;

&lt;p&gt;The only remaining task is updating the toggle_favorite view so the new Remove button works correctly.&lt;/p&gt;

&lt;p&gt;📱 Mobile Experience&lt;/p&gt;

&lt;p&gt;One of the biggest architectural decisions today was removing the traditional hamburger menu.&lt;/p&gt;

&lt;p&gt;Instead, I decided to implement a Bottom Navigation for mobile devices.&lt;/p&gt;

&lt;p&gt;The mobile navigation will include:&lt;/p&gt;

&lt;p&gt;🏠 Home&lt;br&gt;
📖 Recipes&lt;br&gt;
❤️ Saved&lt;br&gt;
👤 Profile&lt;br&gt;
⚙️ Settings&lt;/p&gt;

&lt;p&gt;Desktop users will continue using the top navigation.&lt;/p&gt;

&lt;p&gt;I believe this will provide a much better mobile experience.&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;/p&gt;

&lt;p&gt;Today reminded me that software development isn't only about adding features.&lt;/p&gt;

&lt;p&gt;Sometimes the biggest improvement comes from simplifying the interface, reducing technical debt, and making the application easier to use and maintain.&lt;/p&gt;

&lt;p&gt;A redesign isn't just about aesthetics—it's about creating a stronger foundation for everything you'll build next.&lt;/p&gt;

&lt;p&gt;🚀 What's Next?&lt;br&gt;
Finish the Favorites POST workflow&lt;br&gt;
Continue polishing the new design system&lt;br&gt;
Improve mobile navigation&lt;br&gt;
User authentication improvements&lt;br&gt;
Prepare the project for deployment&lt;/p&gt;

&lt;p&gt;Thanks for following my journey.&lt;/p&gt;

&lt;p&gt;Every commit brings this project one step closer to becoming a real production-ready application.&lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiesjrlbaro17le3ockm4.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiesjrlbaro17le3ockm4.jpg" alt=" " width="507" height="881"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyj9h6f29o3234zb53l8u.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyj9h6f29o3234zb53l8u.jpg" alt=" " width="415" height="477"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxjm8x7fuahjc8jv2mglr.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxjm8x7fuahjc8jv2mglr.jpg" alt=" " width="552" height="622"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Falys90z2419juevi1e98.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Falys90z2419juevi1e98.jpg" alt=" " width="544" height="880"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fso51xmjpgjlz4sx1g6rh.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fso51xmjpgjlz4sx1g6rh.jpg" alt=" " width="486" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>security</category>
    </item>
    <item>
      <title>Daily Dev Log — Building My Food Blog Platform</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Tue, 07 Jul 2026 14:03:49 +0000</pubDate>
      <link>https://dev.to/cyberb0x/daily-dev-log-building-my-food-blog-platform-1ifk</link>
      <guid>https://dev.to/cyberb0x/daily-dev-log-building-my-food-blog-platform-1ifk</guid>
      <description>&lt;p&gt;Today I continued working on my Food Blog Platform, a Django project that I'm building to improve my full-stack development skills while creating a real-world application.&lt;/p&gt;

&lt;p&gt;Instead of focusing on adding a brand-new feature, today's work was dedicated to improving the existing foundation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today's work&lt;/strong&gt;&lt;br&gt;
Refined backend architecture for better maintainability&lt;br&gt;
Improved recipe browsing and overall usability&lt;br&gt;
Optimized performance in several parts of the application&lt;br&gt;
Fixed bugs discovered during testing&lt;br&gt;
Continued polishing the user interface&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today's lesson&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One thing I've learned from this project is that software development is rarely about writing thousands of lines of new code every day.&lt;/p&gt;

&lt;p&gt;Many productive days are spent improving code quality, fixing small issues, and making the application more reliable.&lt;/p&gt;

&lt;p&gt;Those improvements may be invisible to users, but they are essential for long-term success.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next milestones&lt;/strong&gt;&lt;br&gt;
User authentication&lt;br&gt;
Favorite recipes&lt;br&gt;
User profiles&lt;br&gt;
Deployment to a production server&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final thoughts&lt;/strong&gt;&lt;br&gt;
The goal isn't simply to finish a project.&lt;br&gt;
The goal is to build something maintainable, scalable, and enjoyable to use.&lt;/p&gt;

&lt;p&gt;One improvement at a time.&lt;/p&gt;

&lt;p&gt;See you in tomorrow's dev log!&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2oxs6je1o5ngl1rvxq9y.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2oxs6je1o5ngl1rvxq9y.jpg" alt=" " width="800" height="418"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgaf3v2cvf57b39yyr3de.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgaf3v2cvf57b39yyr3de.jpg" alt=" " width="799" height="224"&gt;&lt;/a&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuamf9ipud05u2l69anjw.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuamf9ipud05u2l69anjw.jpg" alt=" " width="799" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>Food Blog Platform — Daily Dev Log</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:56:20 +0000</pubDate>
      <link>https://dev.to/cyberb0x/food-blog-platform-daily-dev-log-17id</link>
      <guid>https://dev.to/cyberb0x/food-blog-platform-daily-dev-log-17id</guid>
      <description>&lt;p&gt;Another day, another step forward on my Food Blog Platform.&lt;/p&gt;

&lt;p&gt;Today's work was focused on strengthening the project's foundation rather than introducing new features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I worked on&lt;/strong&gt;&lt;br&gt;
Improved backend code structure and readability&lt;br&gt;
Optimized recipe search and filtering&lt;br&gt;
Fixed bugs and edge cases found during testing&lt;br&gt;
Improved UI consistency throughout the application&lt;br&gt;
Continued refining the overall user experience&lt;br&gt;
What I learned today&lt;/p&gt;

&lt;p&gt;As projects become larger, maintainability becomes just as important as functionality.&lt;/p&gt;

&lt;p&gt;Spending time on refactoring and optimization may not be the most visible work, but it pays off every time you add a new feature later.&lt;/p&gt;

&lt;p&gt;Clean code is an investment in the future of the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next goals&lt;/strong&gt;&lt;br&gt;
User authentication system&lt;br&gt;
Favorite recipes&lt;br&gt;
User profiles&lt;br&gt;
Production deployment&lt;br&gt;
Final thoughts&lt;/p&gt;

&lt;p&gt;Building software isn't about making giant leaps every day.&lt;/p&gt;

&lt;p&gt;It's about making small improvements consistently, learning from each challenge, and creating something that becomes better with every commit.&lt;/p&gt;

&lt;p&gt;See you in the next dev log! 🚀&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fku7jls9ct2ynvvube0gz.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fku7jls9ct2ynvvube0gz.jpg" alt=" " width="799" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>Food Blog Platform — Daily Dev Log</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Mon, 06 Jul 2026 15:15:22 +0000</pubDate>
      <link>https://dev.to/cyberb0x/food-blog-platform-daily-dev-log-1h87</link>
      <guid>https://dev.to/cyberb0x/food-blog-platform-daily-dev-log-1h87</guid>
      <description>&lt;p&gt;Today's development session wasn't about adding a big feature—it was about making the project stronger.&lt;/p&gt;

&lt;p&gt;As the application grows, I find myself spending more time improving the existing architecture than writing brand-new functionality. And honestly, that's where a lot of real software engineering happens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I worked on today&lt;/strong&gt;&lt;br&gt;
Improved backend organization and readability&lt;br&gt;
Refined recipe search and filtering logic&lt;br&gt;
Fixed small bugs and edge cases&lt;br&gt;
Improved UI consistency across different pages&lt;br&gt;
Continued optimizing the overall user experience&lt;br&gt;
What I learned&lt;/p&gt;

&lt;p&gt;Building software is a balance between creating new features and maintaining existing ones.&lt;/p&gt;

&lt;p&gt;Every refactor makes the next feature easier to build.&lt;/p&gt;

&lt;p&gt;Every bug fixed makes the application more reliable.&lt;/p&gt;

&lt;p&gt;Every optimization improves the experience for future users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's next?&lt;/strong&gt;&lt;br&gt;
User authentication&lt;br&gt;
Favorite recipes&lt;br&gt;
User profiles&lt;br&gt;
Production deployment&lt;br&gt;
Final thoughts&lt;/p&gt;

&lt;p&gt;It's easy to celebrate new features.&lt;/p&gt;

&lt;p&gt;It's harder—but just as important—to celebrate cleaner code, better architecture, and a smoother user experience.&lt;/p&gt;

&lt;p&gt;Those are the improvements that transform a side project into a real product.&lt;/p&gt;

&lt;p&gt;Thanks for following along on this journey! 🚀&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmv9b4fuuqnjrqn9zdhq.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmv9b4fuuqnjrqn9zdhq.jpg" alt=" " width="800" height="237"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>python</category>
    </item>
    <item>
      <title>Building a Food Blog Platform with Django — Day by Day</title>
      <dc:creator>Arslon Erkinov</dc:creator>
      <pubDate>Wed, 01 Jul 2026 22:27:20 +0000</pubDate>
      <link>https://dev.to/cyberb0x/building-a-food-blog-platform-with-django-day-by-day-25e8</link>
      <guid>https://dev.to/cyberb0x/building-a-food-blog-platform-with-django-day-by-day-25e8</guid>
      <description>&lt;p&gt;Today's development session was all about improving the quality of the project rather than adding flashy new features.&lt;/p&gt;

&lt;p&gt;As the application grows, I'm spending more time polishing the existing codebase and preparing it for future functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I worked on today&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refactored backend code to improve readability&lt;/li&gt;
&lt;li&gt;Optimized recipe search and filtering&lt;/li&gt;
&lt;li&gt;Improved UI consistency throughout the application&lt;/li&gt;
&lt;li&gt;Fixed several small bugs and edge cases&lt;/li&gt;
&lt;li&gt;Continued improving the overall user experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One thing I'm realizing during this project is that writing maintainable code is an investment.&lt;/p&gt;

&lt;p&gt;Every refactor completed today will make future features easier to build and much easier to maintain.&lt;/p&gt;

&lt;p&gt;Good software isn't just about adding features—it's about building a strong foundation that can grow over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's next?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication system&lt;/li&gt;
&lt;li&gt;Favorite recipes&lt;/li&gt;
&lt;li&gt;User profiles&lt;/li&gt;
&lt;li&gt;Deployment to production&lt;/li&gt;
&lt;li&gt;Final thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of the most valuable development days are the ones where users won't immediately notice the changes.&lt;/p&gt;

&lt;p&gt;Those improvements are often what make an application feel reliable, fast, and professional.&lt;/p&gt;

&lt;p&gt;See you in tomorrow's dev log! 🚀&lt;/p&gt;

&lt;h1&gt;
  
  
  python #django #webdev #fullstack #buildinpublic #devlog #100DaysOfCode #softwareengineering
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>python</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
