# Mohcin Bounouara > Thoughts about software engineering and life ## Posts - [AI: What It Changed in My Developer Journey](https://mohcinbounouara.com/ai-what-it-changed-in-my-developer-journey/): It’s been more than a year and a half since I started using AI in its different forms, AI agents, AI-powered editors, LLMs, and chatbots. I’ve discovered many things that reshaped how I work as a developer. In this post, I want to share some quick but on the point insights from this journey. - [Passion in software development](https://mohcinbounouara.com/passion-in-software-development/): One of the strongest “drugs” consumed by followers of motivational speeches and the myths of personal development is the idea of “follow your passion”.. even in software engineering. The passion is not the problem! The problem is not about passion itself. Passion means following what your desires want and enjoy, not the other way around. What is more accurate is to do what must be done, not only what you want to do. Sometimes, you simply you don’t have the opportunity to follow what is labeled as your “passion” Othertimes, you don’t even know what your passion is. Use case […] - [Technical Gaps are not a shame, they are a responsibility](https://mohcinbounouara.com/technical-gaps-are-not-a-shame-they-are-a-responsibility/): Technical Gaps are not a shame, they are a responsibility In software development, having technical gaps is common. And it's not something to be ashamed of. - [How to Add UUIDs to an Existing Laravel Database](https://mohcinbounouara.com/how-to-add-uuids-to-an-existing-laravel-database/): Introduction UUIDs (Universally Unique Identifiers) are 128-bit identifiers that are globally unique, making them ideal for scenarios where you want to hide sequential ID patterns from your users. This article walks you through converting an existing Laravel application from auto-incrementing integer IDs to UUIDs. Why Use UUIDs? Pros: – Security: Prevents ID enumeration attacks (users can’t guess `/users/1`, `/users/2`), and can’t guess the first user which is usually the system admin. – Distributed Systems: Generate IDs client-side without database coordination – Merging Data: No ID conflicts when merging databases from different sources – API Design: Cleaner, more secure public-ready identifiers […] - [Handling Date Fields. A Common Pitfall](https://mohcinbounouara.com/handling-date-fields-a-common-pitfall/): In my Laravel hobby project, I had a field called date_covered defined as a date type, with now() as the default value. However, when I needed to manipulate this field, for example, displaying a range like 02.12.2023 – 02.11.2024—it became clear that a single date column wasn’t ideal. Using date works fine when storing a single date (example: 02.12.2023), but not when you need to represent a date range in one field. One quick workaround is to switch the column type from date to string. This allows you to store values like “02.12.2023 – 02.11.2024”. But there’s a trade-off here, […] - [Got a lot of comments on your PRs/MRs? .. Don't be sad!](https://mohcinbounouara.com/got-a-lot-of-comments-on-your-prs-mrs-dont-be-sad/): When I get a lot of feedback comments on my PRs or MRs, I actually feel more exited and happy to work on that task. Why? Because it means I’m getting to see different perspectives from my teammates, other corrections, points I might have missed while implementing the ticket, and test cases I hadn’t even considered at first. Even more than that, I get to learn how the team works, their styles, their thought processes, their standards, and how the give approvals, and how they ship. It also gives me the chance to explain or defend my approach when I […] - [Passion.. And passion in software development.](https://mohcinbounouara.com/passion-and-passion-in-software-development/): One of the most powerful drugs used by followers of motivational speeches, speakers, and human development nonsense is the phrase “follow your passion“. Even in the field of software engineering, this phrase gets thrown around too easily. But it’s not about following your passion at all. Passion means doing what you love and what you want, not what needs to be done. It’s better to focus on doing what should be done, not just what you want to do. Sometimes, you won’t even have the opportunity to follow your passion. Other times, you might not even know what your passion […] - [Fixing VS Code Marketplace Connection Issues in Windsurf IDE](https://mohcinbounouara.com/fixing-vs-code-marketplace-connection-issues-in-windsurf-ide/): Are you struggling to find extensions in your Windsurf IDE? I was in the same situation! After upgrading to the latest version, many users have reported that searching for extensions in the VS Code marketplace returns “Nor found”. The Issue Despite having the latest version of Windsurf IDE and configuring basic marketplace URLs in settings, extension searches return nothing. This happens because Windsurf needs specific configuration to properly connect to the VS Code marketplace API endpoints. The Solution The fix involves updating your Windsurf settings with a complete marketplace configuration.  I hope this helps anyone else facing this frustrating issue! […] - [Use site.local Instead of localhost/mysite on apache without using docker or DDEV](https://mohcinbounouara.com/use-site-local-instead-of-localhost-mysite-on-apache-without-using-docker-or-ddev/): Let’s suppose you’re using Apache on your local machine and you want to visit your PHP project using something like http://site.local instead of http://localhost/mysite. You’re not using Docker, DDEV, or any container tools, just plain XAMPP or Apache on Linux. Here’s how to set it up: Map your custom domain locall Edit your /etc/hosts file: Set up a virtualHost Edit Apache’s virtual hosts config: Make sure this file is included in Apache. In /opt/lampp/etc/httpd.conf, ensure this line is uncommented: Don’t forget to restart your apache, Also update your .htaccess file to have simple rewrite module: That’s it! Now you can […] - [Building a reply system for comments in Laravel -Without a Subcomments Table-](https://mohcinbounouara.com/building-a-reply-system-for-comments-in-laravel-without-a-subcomments-table/): Many developers, when adding a “reply to comment” feature in a Laravel app, often consider creating a separate sub_comments table (I was one of them, based on my lack of experience, I know this later). It sounds intuitive, because a reply is different from a comment, right? logic thinking But there’s a cleaner, more strict way: self-referencing relationships in the samecomments table. The Idea: one table to rule them all (Comments and Replies) Instead of a separate sub_comments table, we just add a parent_id column to the existing comments table. This column references another comment by id in the same […] - [About ia news in software development](https://mohcinbounouara.com/about-ia-news-in-software-development/): Advice, take it or leave it:Drop any negative news about the impact of ai on your career as a software developer or engineer. Yes, ai tools are powerful. Yes, they are pushing the boundaries of the internet and how we work. But: The answer to all of these is a big “NO”. Instead, acknowledge that ai is here.. and it’s incredibly usefulUse it to your advantage; improve your skills, accelerate your learning, boost your productivity, and become better at your craft.If you keep following negative news about ai and its effects on developers, you’ll only burn out and feel drained. […] - [Not necessary to build things from scratch](https://mohcinbounouara.com/not-necessary-to-build-things-from-scratch/): I used to believe that building everything from scratch was the mark of a good developer. However, I understand later that this mindset reflects a lack of experience and problem-solving skills. In the real world, developers often rely on prebuilt solutions rather than creating everything themselves. While we might not always understand the inner workings of these tools, we know how to implement them effectively. It’s valuable to invest time in understanding your tech stack deeply, but it’s also ok to build on existing tools and code. Focus on using what you’re good at, developing apps/websites, thoroughly testing them, and […] - [Document the problem you solves](https://mohcinbounouara.com/document-the-problem-you-solves/): Documenting the problems you solve will save you time and stress when you need to implement similar solutions in the future. You can document your solutions in many forms: - [Do accessibility](https://mohcinbounouara.com/do-accessibility/): Bringing accessibility into your frontend development, using semantic HTML, ARIA labels, descriptive alt text, and better error handling.. not only makes you a better developer but also shows that you care for others. This also brings a sense of joy. I’ve been focusing on this for a while now, and I’m truly grateful for it. I know there will be times when you’re too busy to prioritize accessibility, but please try to make it as important as responsiveness and other key aspects of your layouts. Keep doing good along the way! - [Work on your gaps](https://mohcinbounouara.com/work-on-your-gaps/): Whenever you find yourself comparing your journey to others, remember this: “Don’t compare your planting season to someone else’s harvest season”. Focus on your gaps and work on improving them. It requires both physical and mental effort, but there’s no other way to grow. This reminder is just as much a reminder for me as it is for you. - [Talking about what you've learned](https://mohcinbounouara.com/talking-about-what-youve-learned/): In software, talking about what you’ve learned theoretically deepens your understanding of the topic. Applying what you’ve learned in real-world tasks builds your confidence, helps you explain concepts more clearly, and give you willpower to explore further concepts. The keys are to: - [It's normal to have your notes when you explain things](https://mohcinbounouara.com/its-normal-to-have-your-notes-when-you-explain-things/): One major area I’ve been working on in my personal development is overcoming my shyness when explaining technical topics. I’ve learned that I don’t need to be an expert or have years of practice to share knowledge about a particular subject. Many great instructors, both online and in person, openly share their notes and explain concepts based on their experiences. Growing up in an education system centered around rote memorization, I have always found that method was not good. This made sharing knowledge difficult A great example of effective teaching/sharing knowledge is the CS50 instructors, who clearly explain concepts while […] - [Synchronous and Asynchronous code by simple examples](https://mohcinbounouara.com/synchronous-and-asynchronous-code-by-simple-examples/): In software development, there are two important concepts: synchronous and asynchronous behavior. JavaScript developers, especially those who use vanilla JavaScript, know these well because of how promises work. I like to explain things in a simple way, so it’s easier for me and others to understand new topics. Synchronous Programming Let’s imagine you went to a restaurant: You ask the server for the menu, You sit at the table and wait for the menu, The menu arrives, You choose your order, The server takes your order, The server tells the chef to prepare it, The chef finishes the order, You […] - [Update GitHub Access Token Locally](https://mohcinbounouara.com/update-github-access-token-locally/): When you are working on a local project and using a GitHub Access Token to push your code, you might face an issue when the token expires, and you forget to update it or something like this. If you try to push or pull your changes, you’ll get an error stating that you are not authorized to perform this action. To resolve this, you go to your GitHub account and regenerate a new access token, all is good rightnow! The challenge then becomes: how do you update your project’s Git credentials with the new token? This process took me over […] - [It's ok to feel afraid when working to fill your knowledge gaps as a developer](https://mohcinbounouara.com/its-ok-to-feel-afraid-when-working-to-fill-your-knowledge-gaps-as-a-developer/): I have been dealing with this feeling for years, and I still do. In the beginning, it was really frustrating for me, day by day, step by step, I learned to “TRY DEALING WITH IT”, not fully “DEALING WITH IT” yet, because I’m not at that level. Let me share a story that might be similar to you or to your experience. A web developer/software developer who loves this field and has always tried to learn as much as possible. In the past, he made many mistakes by not being serious about focusing and learning the right way. Actually he […] - [Take a breath before continue](https://mohcinbounouara.com/take-a-breath-before-continue/): When I sense that my motivation to publish is driven by the desire to share for the sake of just sharing or to impress others, I take a break from posting to realign myself and my goal from the whole thing. Impressing people was never and will never be the reason I began sharing, but human nature can sometimes lead us ro forget our main goals without realizing that. My true purpose of sharing technical content is simple, if even one person benefits from what I share or create, that’s all that matters. Everything else is not important for me. - [Fixing Object Pagination with Laravel and Inertia.js that gives empty data](https://mohcinbounouara.com/fixing-object-pagination-with-laravel-and-inertia-js-that-gives-empty-data/): Problem When working with Laravel and Inertia.js, pagination returns an object instead of an array. This can make looping over the results a bit tricky, as the expected array structure isn’t accessible. For example, in a typical Laravel controller method like this: You might see the data coming through correctly as a prop in your Vue component, but attempting to loop over latestPosts directly results in empty output. Solution The issue is due to how Laravel paginate() function structures the data. Instead of a direct array, it returns an object with additional pagination metadata, as this below: To access the […] - [Knowledge comes on the way.](https://mohcinbounouara.com/knowledge-comes-on-the-way/): In life, and especially in software development, you can not always fully understand every step or action right away. I used to struggle with this feeling, like I wasn’t good enough if I didn’t completely understand every detail of what I was doing in programming. However, I was wrong. It’s totally normal to use or even copy things you don’t fully understand to get a task done. Many skilled programmers and engineers don’t understand every single line of code they write, and that’s okay. What once felt confusing to me has become clear over time. Knowledge, skill, confidence, and trust […] - [Fixing Laravel Route Conflicts, that led to 404 Errors for Existing Routes](https://mohcinbounouara.com/fixing-laravel-route-conflicts-that-led-to-404-errors-for-existing-routes/): Problem: Recently, while developing a feature to update resources in my Laravel app, I faced an unexpected issue: the create functionality, which had been working previously, suddenly stopped functioning. When I tried accessing the jobs/create route, it led to a 404 page, even though my unit tests confirmed that the route existed and the functionality was correctly implemented. Confused, I spent two days troubleshooting. I experimented with various solutions found online and even tried suggestions from AI tools, but nothing resolved the issue. The 404 persisted. Solution: Finally, a thought popped up to my mind: Laravel processes routes in a […] - [Understanding Method Spoofing in Laravel](https://mohcinbounouara.com/understanding-method-spoofing-in-laravel/): Title: Understanding Method Spoofing in Laravel When working with request/response methods, different HTTP methods like GET, POST, PUT, and PATCH have custom purposes. POST is generally used for creating resources, while PUT and PATCH are intended for updates. But as a developer, you’ll often see POST used for updates too. This happens due to browser limitations, legacy systems, and modern frontend frameworks like Vue and React causes Why POST is Often Used for Updates Browsers natively support POST and GET, but not PUT or PATCH. Because of this, many systems and frontend frameworks default to POST for both creating and […] - [Delegation Skills Is a Must In Software Development](https://mohcinbounouara.com/delegation-skills-is-a-must-in-software-development/): In the field of software development, mastering delegation is a must. I’ve always known this from learning and practicing in real-life work scenarios, as well as from various web conferences and podcasts discussing the importance of delegation. However, it wasn’t until today that I fully know its significance. Without delegation, you may experience the following: When you delegate effectively, you gain several advantages: For me, delegation can take several forms: Happy learning and coding.. see you! - [The Joy of Understanding One Line of Code](https://mohcinbounouara.com/the-joy-of-understanding-one-line-of-code/): In your software development career, you've probably experienced the joy of truly understanding a line of code, right? - [Handling Multiple Forms with Different Field Names Using a Single Endpoint](https://mohcinbounouara.com/handling-multiple-forms-with-different-field-names-using-a-single-endpoint/): The Problem: Suppose you have an endpoint to send data to the database, and in your project, you have two forms with the same field(s), let’s say a field named “name”. How can you manage this without creating redundant and complex code? The Initial Solution: A quick solution might be to create two separate forms and duplicate the endpoint POST call. For example, you would have ‘/save-name‘ and ‘/save-name-2‘. While this works, it’s not clean and leads to code redundancy and complexity. The Clean Solution: You can use a single endpoint ‘/save-name‘ that expects the “name” field and create two […] - [Create a skew div from one corner](https://mohcinbounouara.com/create-a-skew-div-from-one-corner/): Let's suppose that you want to create a skewed div from one corner, not from both or all corners. If you are familiar with - [Understanding Factory Design Patterns in PHP](https://mohcinbounouara.com/understanding-factory-design-patterns-in-php/): It is a solution created by software engineers during the last years to solve those main problems particularly.. - [Advanced Dependency Injection in PHP](https://mohcinbounouara.com/advanced-dependency-injection-in-php/): Dependency Injection is a technique (Design Pattern = Which mean its a common solution to a common problem in software development design) that allow use to create a code It helps to create loosely coupled code, making it easier to manage, test, and maintain. - [You can rely on existing solutions](https://mohcinbounouara.com/you-can-rely-on-existing-solutions/): I used to believe that building everything from scratch was the mark of a good developer. However, I understand later that this mindset reflects a lack of experience and problem-solving skills. In the real world, developers often rely on prebuilt solutions rather than creating everything themselves. While we might not always understand the inner workings of these tools, we know how to implement them effectively. Its valuable to invest time in understanding your tech stack deeply, but its also ok to build on existing tools and code. Focus on using what you’re good at, developing apps/websites, thoroughly testing them, and […] - [A Quick Guide to Creating Laravel Factories and Seeders](https://mohcinbounouara.com/a-quick-guide-to-creating-laravel-factories-and-seeders/): I often find myself back to the Laravel documentation whenever I need to create new factories and seeders for my projects, whether they’re learning exercises, hobby projects, or real-world applications (bored doing the same actions every time). To make this process easy, I’ve decided to create a guide that I can refer to whenever needed, saving time and avoiding the need to search through extensive documentation. If this guide helps someone else, that would be a great thing! Let’s assume we have a User/Posts relationship, meaning each user can have one or more posts, and each post belongs to a […] - [Promises in life is likes promises in JavaScript](https://mohcinbounouara.com/promises-in-life-is-likes-promises-in-javascript/): In JavaScript, a promise is like a promise someone made to bring you something. It works based on four main steps: creating a promise, waiting for the promise to happen, the promise being fulfilled (meaning they come with the thing you were waiting for), or the promise being broken (meaning they couldn’t come with that thing). The logic is similar in life. When you make a promise (promise created), the best thing to do is to try your best to keep that promise. While the person you promised is waiting for you to fulfill it, the best scenario is that […] - [Code Reading is important!](https://mohcinbounouara.com/code-reading-is-important/): One of the most important things I’ve focused on recently is reading a lot of code written by others. Even if I don’t understand some large parts of the code blocks I’m reading, it’s a way to train my brain muscles, boosting both my imagination and logic. By reading others’ code, you gain new perspectives and encounter different complexities, along with faster and more efficient ways to tackle problems. Also, you observe various methods that others use to solve issues, helping you realize that your solutions may not always be the best, or even good or acceptable. I’m new to […] - [One Day Without Using YouTube](https://mohcinbounouara.com/one-day-without-using-youtube/): The best way to test if you are addicted to something is to try living one day without it. This way, you can observe your behavior. That’s exactly what I tried today. I used to be a heavy YouTube user, primarily for learning technical and Islamic topics. I believed I was using it positively, which wasn’t the case many years ago when I was just wasting time there. I forced myself to develop a habit of using YouTube constructively. However, I still watch entertainment videos about cycling, nature, and sports. Recently, I noticed I was spending a lot of time […] - [It's not about being "WOW", it's about be a part of the team.](https://mohcinbounouara.com/its-not-about-being-wow-its-about-be-a-part-of-the-team/): When you are part of a team, it’s not about being a “wow” person; it’s about truly being part of the team. This idea always motivates me to keep learning, so I can be an asset to the team. When you’re part of a team, strive to do just this: It’s about working as a team; you can’t achieve things alone. I write about this because I believe in it. See you! - [Create a good pull request](https://mohcinbounouara.com/create-a-good-pull-request/): As a software developer throughout my career, I’ve learned many things from several mistakes, one of which is related to creating effective pull requests. Here are some steps to provide a well-structured pull request that simplifies the review process: 1. Break Down Large Tasks: If you’re dealing with a large task that requires extensive changes across multiple files, consider requesting to split it into smaller, more manageable tickets. This promotes a more focused and efficient review process. 2. Explain Changes and Motivations: When making modifications, whether to functions, classes, or properties, always include a clear description of what you changed […] - [Document the Problems You Solve!](https://mohcinbounouara.com/document-the-problems-you-solve/): When you encounter an error during your workday as a developer, don’t simply acknowledge the mistake and promise to avoid it next time. From my personal experience, that approach doesn’t work, and you’re likely to forget the error for sure. Instead, write down what you should avoid in the future. Place these notes somewhere you regularly check, so your brain is consistently remembered it. If you’re stuck on an issue for hours or days and you finally resolve it, don’t just celebrate and move on. Document it in a format that feels comfortable to you. This could be a post […] - [Backend Engineering Solidify: An Overview of the OSI Model](https://mohcinbounouara.com/backend-engineering-solidified-an-overview-of-the-osi-model/): In my pursuit of solidifying my backend knowledge, I want to share with you an overview of the OSI model as I understand it. This post serves as a reference for me to revisit and update later. The OSI Model, which stands for Open Systems Interconnection Model, is a conceptual framework that defines the transformation of the data. This model organizes the flow of data in a communication system into seven layers, representing sequential steps through which data passes. Layer 7: This is the application layer. When you input a GET request into your browser, various elements such as IDs, […] - [Vue.js: Implementing a Loading Spinner in Your Project](https://mohcinbounouara.com/vue-js-implementing-a-loading-spinner-in-your-project/): Introduction: Learning a new JavaScript framework can be both exciting and challenging. Two years ago, I embarked on a journey to master Vue.js, but like many others, I often found myself procrastinating and only touching it from time to time.  However, this month, I decided to take my Vue.js learning journey seriously. I dedicated myself to studying both the theory and practice, and I also took the opportunity to refresh my JavaScript knowledge. To put my learning to the test, I started a simple project in which I aimed to implement everything I had learned. In this blog post, I’ll […] - [Pivot table in Laravel](https://mohcinbounouara.com/pivot-table-in-laravel/): When you work on an app that requires a many-to-many relationship between tables, you often need a pivot table in your database to manage the associations between records. Let’s consider a simple database schema as an example: Suppose you need to link each post with one or multiple categories. In this scenario, you require a third table to centralize and track which categories are associated with each post. This intermediary table is commonly referred to as a “pivot table” in relational databases. It helps aggregate and present data in a more structured way. In Laravel’s Eloquent ORM, a pivot table […] - [Seek for real leaders and great teammates.](https://mohcinbounouara.com/seek-for-real-leaders-and-great-teammates/): Working in the software engineering field in both physically and mentally challenging and hard. You must learn to handle stress, failure, frustration, and fear while being responsible and caring for your team/work. That’s why it’s crucial to find the right environment for your qualities to flourish. Take the time to search carefully for such places so you can give your best for the best (Leader / Teammates). Being part of teams that encourage self-expression, responsibility, and mutual support is fantastic. When you feel good in such an environment, you become more caring and committed, giving your best for both the […] - [Starting to do things is the only way to proceed!](https://mohcinbounouara.com/starting-to-do-things-is-the-only-way-to-proceed/):  To begin understanding or mastering something, consider the following: Here’s a personal example based on my last experience: I’ve always been someone who dives into things, even without prior knowledge. I learn through trial and errors, although I won’t claim it’s the best method. Sometimes, but it’s necessary. I used to manage my personal websites (blog and small ideas websites) using a shared hosting plan. One night, I decided to purchase a VPS, granting me full access to manage, configure the server, and engage in development and related tasks. I faced challenges during this time, but I learned a great […] - [Gradual Progress towards goals!](https://mohcinbounouara.com/gradual-progress-towards-goals/): Achieving something, even if it little is built upon gradual behavior. If you haven’t been engaging in sports for a while, expecting to wake up and immediately do a one-hour high-intensity session may not be logic. However, if you dedicate 10 minutes a day to training for three months, you’ll find yourself capable of doing such session by the fourth month. It’s perfectly normal if you lack the mental energy to study for two hours each day. After being away from such a disciplined routine for years, it takes time to rebuild this good habit. Starting with just 5 to […] - [Hello, world! I hope this will be a consistent beginning.](https://mohcinbounouara.com/hello-world-i-hope-this-will-be-a-consistent-beginning/): Hi, everyone! I have started my personal blog numerous times in the past, aiming to share knowledge and thoughts about software development, life and various other topics. However, for one reason or another, those attempts have always come to an end. This time, I have made a firm decision to start this blog and view it as a continuous learning process. I have built it using a stack that I am currently try to be familiar with and enjoy working with. My intention is to create a space where I can both learn new things over the long term and […] - [PHP note: For Loop Performance](https://mohcinbounouara.com/php-note-for-loop-performance/): About a year ago I started to writing code “BUT NOT JUST FOR WRITING IT”, I focused on to trying to fully understand what I’m about to write, in the whole software life cycle and I was giving attention to the performance, speed, and clean code. So I was trying to improving my “PHP For Loop”. I was repeating myself and write for loop on this way below: The above way of writing for loop is WRONG. Why? In every loop the Count function is called, and that is code overhead, we have just 5 items in the the array, […] - [About code smells](https://mohcinbounouara.com/about-code-smells/): In software engineering field you are probably heard about “Code Smell” before right?, the name comes from Martin Fowler and Kent Beck. So let me explain a little about this concept.What is and for what code smell? Code smell in software engineering point on sick code in the deep system of an software, simply is the problems that actually exist in the system but It doesn’t prevent the software from completing its tasks.Smells are the structures in the code that not respect the fundamental design principles and negatively impact design system quality. So it’s not “BUGS”. A code smell is […] ## Pages - [Contact Me](https://mohcinbounouara.com/contact-me/): Thank you for visiting my website! If you have any questions, or just want to say hello, i’d love to hear from you. Feel free to reach out. How to reach me: You can reach out via: I look forward to hearing from you! — Mohcin Bounouara - [About me](https://mohcinbounouara.com/about-me/): Muslim, software developer, striving for daily self-improvement in the field of software engineering. I have had the opportunity to work in various teams, and I hold great respect for them. During my search for a team that values mutual respect and treats individuals as human beings rather than mere production machines, also push you to discover new things in your career, I found the amazing Content & Coffee company. I truly feel like a part of their family, and I strive to contribute my best to the team. I’m proudly still serving client at Content & Coffee Apart from my […] - [Privacy Policy](https://mohcinbounouara.com/privacy-policy/): Introduction We value your privacy and are committed to protecting your personal information. This Privacy Policy outlines the types of data we collect, how we use it, and the measures we take to ensure your information remains secure. Information We Collect We may collect the following types of information: How We Collect Information We collect data through: Use of Collected Information The information we collect is used to: Sharing of Information We do not sell or share your personal information with third parties, except: Data Security We implement appropriate security measures to protect your personal information from unauthorized access, alteration, […] [comment]: # (Generated by Hostinger Tools Plugin)