<?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: Amira Bekhta</title>
    <description>The latest articles on DEV Community by Amira Bekhta (@amira_bekhta_25).</description>
    <link>https://dev.to/amira_bekhta_25</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%2F3332516%2F2f8bcc61-ee62-4320-a805-6a1e65aaf4a9.png</url>
      <title>DEV Community: Amira Bekhta</title>
      <link>https://dev.to/amira_bekhta_25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amira_bekhta_25"/>
    <language>en</language>
    <item>
      <title>How I stay immersed with Data science every day?🔎</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 18 Aug 2025 17:07:41 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/how-i-stay-immersed-with-data-science-every-day-1348</link>
      <guid>https://dev.to/amira_bekhta_25/how-i-stay-immersed-with-data-science-every-day-1348</guid>
      <description>&lt;p&gt;After posting a &lt;a href="https://x.com/Amira322737/status/1957049354268573910" rel="noopener noreferrer"&gt;twitter thread&lt;/a&gt; in which I shared my best online resources to keep myself immersed with the beautiful world of data science, I decided to make it a more detailed article in which I will explain each online resource and how I use it!&lt;/p&gt;

&lt;h2&gt;
  
  
  1- Data science blogs:
&lt;/h2&gt;

&lt;p&gt;The world of data science is constantly evolving, with new tools, frameworks, and methodologies emerging at a rapid pace. Because of this dynamic nature, it’s essential for anyone in the field to continuously learn and stay up to date with the latest trends. &lt;/p&gt;

&lt;h3&gt;
  
  
  1.1 - Data camp blogs:
&lt;/h3&gt;

&lt;p&gt;Staying informed not only keeps your skills relevant but also gives you a competitive edge when tackling real-world problems or applying for new opportunities. For that reason, I make it a habit to read &lt;a href="https://www.datacamp.com/blog" rel="noopener noreferrer"&gt;DataCamp articles&lt;/a&gt; every week. These articles introduce recent technologies, showcase practical use cases, and delve into important topics that every data scientist should be familiar with – including common interview questions and tips. By keeping up with this kind of content regularly, I ensure that my knowledge stays fresh and aligned with industry expectations.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.2 - Towards data science:
&lt;/h3&gt;

&lt;p&gt;Another valuable resource I regularly rely on is the &lt;a href="https://towardsdatascience.com/" rel="noopener noreferrer"&gt;Towards Data Science&lt;/a&gt; website – a global online publication that brings together thought leaders and practitioners from all over the world. It features in-depth articles and practical tutorials covering a wide range of topics across artificial intelligence, machine learning, and data science. What I like about it is that it doesn’t just cover the theory, but also includes real-world use cases, best practices, and new perspectives from people actively working in the field. By going through these posts on a regular basis, I’m able to expose myself to different ideas and approaches, deepen my understanding of complex concepts, and stay informed on the latest industry developments.&lt;/p&gt;

&lt;h2&gt;
  
  
  2- Kaggle discussion:
&lt;/h2&gt;

&lt;p&gt;I also believe that actively discussing data science–related topics is extremely valuable. Engaging in conversation allows you not only to reinforce what you already know, but also to expose yourself to alternative viewpoints and new problem-solving strategies. In many cases, explaining a concept to others is one of the best ways to truly master it. That’s why I regularly take part in &lt;a href="https://www.kaggle.com/discussions" rel="noopener noreferrer"&gt;Kaggle discussions&lt;/a&gt; — a collaborative space where data science professionals and enthusiasts share ideas, ask questions, and help one another. The platform offers a unique opportunity to learn from real use cases and contribute your own knowledge, fostering a sense of community and continuous improvement.&lt;/p&gt;

&lt;h2&gt;
  
  
  3- Exercism.org:
&lt;/h2&gt;

&lt;p&gt;Another important activity that helps me grow, learn, practice, and even give back to the programming community is using &lt;a href="https://exercism.org/dashboard" rel="noopener noreferrer"&gt;Exercism&lt;/a&gt;. It’s an amazing platform that offers hands-on practice in a wide range of programming languages — in my case, Python. What makes it especially valuable is that it doesn’t just provide exercises; it also allows you to contribute to open-source projects and support the development of new learning resources. This way, you’re not only improving your own skills through practical challenges and mentor feedback, but also actively contributing to the broader tech community. It’s a great way to turn learning into something collaborative and meaningful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Got questions/feedback? write everything in the comments?🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>python</category>
      <category>data</category>
    </item>
    <item>
      <title>How I found myself in machine learning - My story 🤖</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 04 Aug 2025 19:41:47 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/how-i-found-myself-in-machine-learning-my-story-4979</link>
      <guid>https://dev.to/amira_bekhta_25/how-i-found-myself-in-machine-learning-my-story-4979</guid>
      <description>&lt;p&gt;September 2023, this is the month where I officially started my computer science major. In that period, AI, machine learning, and many similar terms were trendy, and everybody was talking about them, and 90% of the replies I received when I told people that I am going to study computer sciecne was "So you will build ChatGPT, huh?", and as a typical stubborn person, I always rolled my eyes at this question, and think inside my head "Never, everybody talks about AI, I don't want it!"&lt;/p&gt;

&lt;h2&gt;
  
  
  My first heartbreak
&lt;/h2&gt;

&lt;p&gt;And I started my studies, very excited to start in a world full of semicolons and semantic errors, my freshman year wasn't this much though, I was just following the university courses, thinking that I will decide my future with computer science on the go, and that what I learn in university is already enough.&lt;/p&gt;

&lt;p&gt;I remember that the very first course I took in college was a Python course, something simple that teaches things such as print statement, functions, loops, conditionals, and so on, but by the end of that course, I said to myself "Now that I know all this Python, I should build a project", so I went to my bestfriend aka chatgpt and asked it to suggest a project that I can start with, well, every project it named was just something I don't know how to build, so I was like "Screw chatgpt" and I googled this "How to build Youtube using Python?" but Google disappointed me too, and I thought to myself "Uh, so I can't build something with print statement and an if-else clause?!!"&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%2Fnfy07d9w04k9s4m61q4w.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%2Fnfy07d9w04k9s4m61q4w.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depressed, I kept following the courses, and didn't even dare to try and read anything about computer science. And then, sophomore year started, and I was just lost there, I didn't feel like I am capable of anything, and I decided I want to build a website, so I started with frontend webdev, and I loved it, my first webpage was basically a stack of sentences, some in H1, some in H2, and so on, and I was very confident that this is my career path and what fate chose for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not my thing
&lt;/h2&gt;

&lt;p&gt;By time, there was something not so interesting about frontend webdev, well, it's so "visual", and I somehow discovered that this is not what I want, so I asked my besty aka chatgpt again, and it told me to try backend.&lt;/p&gt;

&lt;p&gt;As someone that knows Python, Django was the first thing I tried, and all I can say about Django is that it tortured me, so I blamed Django and said that it is the problem, and then I moved to PHP, and with many hours with BroCode's PHP tutorial, I realized I am the problem. (BroCode if you read this your PHP tutorial is super amazing, and your tutorials always saved my life &amp;lt;3)&lt;/p&gt;

&lt;p&gt;More months of depression, feeling hopeless in life, and then I went very desperatrly to chatgpt, just looking for any CS related thing that I might enjoy, anything at all, chatgpt suggested Machine learning, and I said "NOOOOOO NOT THIS!".&lt;/p&gt;

&lt;h2&gt;
  
  
  The video that changed my life
&lt;/h2&gt;

&lt;p&gt;I colsed chatgpt, and scrolled youtube a bit, and then, one youtube video catched my attention, this video:&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/wUSDVGivd-8?start=39914"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Python for Data Analytics by Luke Barousse (the least I can say about this man is that he is a legend), when I saw it, I was wondering what data analytics really is, and I clicked on the video (thankfully I did), finding that it teaches from the very basics of Python, to a full Portfolio project for data analytics and it felt like all the secrets of the universe were revealed to me then.&lt;/p&gt;

&lt;p&gt;"Wow, where were I all this time, I am loving this!" I thought to myself, all of the data, the visualizations, the fact that we can answer questions using data, I was in heaven!&lt;/p&gt;

&lt;p&gt;After finishing the course, and reinforcing my knowledge with some &lt;a href="https://www.kaggle.com/learn" rel="noopener noreferrer"&gt;Kaggle courses&lt;/a&gt; (With free certificates ofc!), I was finally able to make to build what I actually enjoyed, data analytics projects that felt more like having fun than coding to me, especially the &lt;a href="https://github.com/Amira-Bekhta/Netflix_userbase_analytics" rel="noopener noreferrer"&gt;Netflix userbase analytics project&lt;/a&gt;, one that I more than enjoyed.&lt;/p&gt;

&lt;h2&gt;
  
  
  ML again?
&lt;/h2&gt;

&lt;p&gt;And with this happiness, and after sharing it with chatgpt, I realized something, "Oh oh, this can take me to ML?!"&lt;/p&gt;

&lt;p&gt;That was shocking, it really was, I've always ran away from ML and somehow I found myself approaching it, "Do I proceed?" I asked myself, and at that point, I was very excited, and more than ready, I started simply and slowly, I was afraid of this field, thinking it is only for "Gifted" people (I was actually born gifted, but I was never confident about my capabilities in computer science lol), so I decided to go for &lt;a href="https://www.kaggle.com/learn/intro-to-machine-learning" rel="noopener noreferrer"&gt;intro to machine learning course&lt;/a&gt; by Kaggle.&lt;/p&gt;

&lt;p&gt;And slowly, I was intorduced to scikit-learn, this is why I followed this legendary course:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/0B5eIE_1vpU?start=4059"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;And with that, my portfolio started populating, my knowledge started growing, and I didn't go to ML, it came to me, by itself...&lt;/p&gt;

&lt;h2&gt;
  
  
  My future plans
&lt;/h2&gt;

&lt;p&gt;Right now, I can't say that I am the best AI/ML engineer in the world, but I can't say I am the worst, I am simply someone that succeeded in her journey, and that was finally able to know what she really wants, and what she wants to focus on, and I am planning to work on &lt;a href="https://www.coursera.org/professional-certificates/microsoft-ai-and-ml-engineering" rel="noopener noreferrer"&gt;Microsoft AI &amp;amp; ML engineering professional certificate&lt;/a&gt; in Coursera, and I believe it will be more than helpful to make me grasp more concepts and gain more knowledge!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoyed the article? Have feedback/question? Drop everything in the comments! 🫶&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>programming</category>
      <category>s</category>
    </item>
    <item>
      <title>Level Up Your Portfolio: Weekend AI Projects You Need to Build! 🚀</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 28 Jul 2025 15:12:11 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/level-up-your-portfolio-weekend-ai-projects-you-need-to-build-2kbl</link>
      <guid>https://dev.to/amira_bekhta_25/level-up-your-portfolio-weekend-ai-projects-you-need-to-build-2kbl</guid>
      <description>&lt;p&gt;Ever felt that your portfolio could use a little extra sparkle, especially when it comes to AI? and don’t worry! You definitely won’t need a P.h.D or months of free time to make it shine, you just need the right mindset, and hey! We're talking about some seriously cool AI projects you can build this weekend, yup, just a couple of days, and you'll have some awesome new additions to show off, ready to dive in and make your portfolio sparkle?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Are Weekend Projects Powerful?
&lt;/h2&gt;

&lt;p&gt;You might think you need months to build something impressive, but the truth is that even a small, well-executed idea can make your portfolio stand out, weekend projects are like low-risk experiments, they give you fast wins, let you test new tools or models, and most importantly, they show initiative.&lt;br&gt;
For students, job seekers, and freelancers, these quick builds can act as creative proof of what you’re capable of, far beyond what a CV alone could say.&lt;/p&gt;

&lt;p&gt;Whether you want to experiment with generative AI, NLP, computer vision, or practical tools people might actually use, the key is to pick one idea and go all in, here are four exciting and totally doable project ideas to get you started this weekend, no long tutorials, no over-complicated math, just fun and functional AI.&lt;/p&gt;
&lt;h2&gt;
  
  
  1- Build a Chatbot With Personality
&lt;/h2&gt;

&lt;p&gt;As you definitely know, chatbots are everywhere, but a chatbot with a distinct personality? That’s where you can get creative, imagine a texting-style AI that cheers you up like your best friend, or responds to questions as if it were a historical figure or fictional character, you don’t need to build the next ChatGPT! Just a focused, fun experience that people can interact with.&lt;/p&gt;

&lt;p&gt;This project is perfect for showcasing prompt engineering and language model usage, you can do it by using tools like Hugging Face Transformers and a simple interface builder like Gradio, you can set up a working demo in hours, want to go further? Deploy it with Flask or Streamlit so anyone can test it online! Even a handful of responses with some flair can make this feel alive.&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%2F5l5n9nbg4vuslu48lifg.webp" 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%2F5l5n9nbg4vuslu48lifg.webp" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To guide you, Hugging Face has a great &lt;a href="https://medium.com/@james.irving.phd/creating-your-personal-chatbot-using-hugging-face-spaces-and-streamlit-596a54b9e3ed" rel="noopener noreferrer"&gt;chatbot tutorial&lt;/a&gt;, and Gradio’s quickstart helps you launch the interface fast, record a demo video or take screenshots of your bot’s funniest answers, people love seeing personality in AI :)&lt;/p&gt;
&lt;h2&gt;
  
  
  2- Caption Generator
&lt;/h2&gt;

&lt;p&gt;If you’re into computer vision, an image caption generator is a brilliant weekend project, the idea is simple: upload an image, and your app writes a caption that describes it. This is like making a baby version of what Instagram or accessibility tools might use, you don’t even need to train a model from scratch, pre-trained models like BLIP on Hugging Face make this easier than ever.&lt;/p&gt;

&lt;p&gt;Using a tool like Streamlit, you can create a smooth interface where users upload images and receive captions instantly, add a little CSS polish or emoji flair, and it becomes a delightful little portfolio piece. &lt;/p&gt;

&lt;p&gt;Also, this is one of those projects that’s extremely visual, perfect for sharing on social media, in your resume, or as part of an online portfolio.&lt;/p&gt;
&lt;h2&gt;
  
  
  3. Create an AI-Powered Resume Screener
&lt;/h2&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%2Fe2dechjnu4kaejaqxaiq.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%2Fe2dechjnu4kaejaqxaiq.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why not build a simple tool that analyzes a resume and provides feedback? Flagging vague phrases, pointing out strong skills, and even suggesting clearer language using NLP techniques?&lt;/p&gt;

&lt;p&gt;You can use Python with spaCy or the OpenAI API to extract named entities, detect common buzzwords, or rewrite weak phrases, then, with a tool like Streamlit or Gradio, you can create a basic web app where users upload a PDF or paste their text to receive feedback.&lt;/p&gt;

&lt;p&gt;What makes this project portfolio-worthy is how practical and helpful it is, imagine recruiters, career coaches, or students using a tool you made.&lt;/p&gt;

&lt;p&gt;Not sure where to start? spaCy’s &lt;a href="https://spacy.io/usage/spacy-101" rel="noopener noreferrer"&gt;beginner guide&lt;/a&gt; is excellent for you! &lt;/p&gt;
&lt;h2&gt;
  
  
  Make It Shine: Showing Off Your Work
&lt;/h2&gt;

&lt;p&gt;Once you’ve built your project, don’t just let it sit in a folder! Document it, explain why you built it, what you learned, what challenges you faced, and how someone else could try it too.&lt;/p&gt;

&lt;p&gt;Turn your code into a GitHub repo with a clean README, share your app using free hosting like Hugging Face Spaces, Streamlit Cloud, or even Replit.&lt;/p&gt;

&lt;p&gt;For extra visibility, post a short write-up or demo clip on LinkedIn, Dev.to, or Reddit, write as if you're teaching others, you’ll stand out as someone who not only builds things, but also explains them clearly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Final Words: Just Start
&lt;/h2&gt;

&lt;p&gt;You don’t need to build the next big startup or train your own LLM to stand out, a single thoughtful, well-presented weekend project can open doors, impress recruiters, and build your confidence, and now, you’ve got 3 ideas, tools to try, and resources to follow.&lt;/p&gt;

&lt;p&gt;So this weekend, why not put your curiosity to work and build something that lives beyond your screen?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoyed the article?&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Star us on Github now!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Got questions/feedback? Tell us in the comments! 🖊️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🔎 What is OCR? and How Can You Use It Without Any ML Experience?!</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 21 Jul 2025 10:51:09 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/what-is-ocr-and-how-can-you-use-it-without-any-ml-experience-2lig</link>
      <guid>https://dev.to/amira_bekhta_25/what-is-ocr-and-how-can-you-use-it-without-any-ml-experience-2lig</guid>
      <description>&lt;p&gt;Ever wished your computer could understand the words on a picture or a scanned paper? Well, get ready to be amazed, because that magic is totally real and it's all thanks to something super cool called Optical Character Recognition or simply OCR!&lt;/p&gt;

&lt;p&gt;Let us think about it, OCR has transformed text extraction from images, eliminating manual retyping, it enables computers to "read" and convert static visual information into editable, searchable text, revolutionizing tasks from digitizing archives to processing invoices, making our lives easier and more efficient!&lt;/p&gt;

&lt;h2&gt;
  
  
  1- What is OCR?
&lt;/h2&gt;

&lt;p&gt;Okay, so you already know OCR is super cool, right? But have you ever stopped to think about the magic behind it? Imagine you've got a stack of old printed documents, maybe some old school notes, typing all that text out by hand would be, well, a total drag, that's where OCR swoops in like a superhero!&lt;/p&gt;

&lt;p&gt;At its core, OCR is all about teaching computers to "read" text from images, just like we do, think of it like this: when you look at a letter "A" on a page, your brain instantly recognizes it, but for a computer, it's just a bunch of pixels, a jumble of dots, OCR acts as the translator, taking that visual information and turning it into something editable and searchable real, live text!&lt;/p&gt;

&lt;p&gt;So, how does this all happen? briefly, it starts with an image, that’s all you need! And the OCR software then goes to work, first prepping the image, it might straighten it out, enhance the contrast, and even remove any pesky smudges, next, it looks for distinct regions of text, separating them from the background, this is where the real "reading" begins! The software analyzes each character, breaking it down into features like lines, curves, and angles. It compares these features to a vast library of known characters, and once it makes a match, it converts that image of a character into its digital equivalent.&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%2Fn3t015v18uvs5tyfo8gj.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%2Fn3t015v18uvs5tyfo8gj.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2- Why is OCR Useful?
&lt;/h2&gt;

&lt;p&gt;Beyond just entering data, OCR makes everything searchable. Instead of flipping through pages, you can instantly find any word or phrase in a digitized document, just like on a website. This is incredibly useful for finding specific info fast.&lt;/p&gt;

&lt;p&gt;OCR also boosts accessibility. It can turn printed text into spoken words for people with visual impairments and makes document translation much easier, helping to bridge language gaps.&lt;/p&gt;

&lt;p&gt;OCR works its magic in many areas:&lt;br&gt;
&lt;strong&gt;Healthcare:&lt;/strong&gt; Quickly digitizes patient records for better care.&lt;br&gt;
&lt;strong&gt;Finance:&lt;/strong&gt; Speeds up processing checks and loan applications.&lt;br&gt;
&lt;strong&gt;Education:&lt;/strong&gt; Students can turn textbook pages into editable notes.&lt;br&gt;
&lt;strong&gt;Legal:&lt;/strong&gt; Organizes vast amounts of legal documents for easy searching.&lt;br&gt;
&lt;strong&gt;Retail:&lt;/strong&gt; Helps self-checkouts quickly scan items.&lt;br&gt;
&lt;strong&gt;Archiving:&lt;/strong&gt; Preserves historical documents and makes them accessible.&lt;br&gt;
Here is an example from Docuglean.com:&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%2Fuh9hmixcn9cbwnh7u4r5.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%2Fuh9hmixcn9cbwnh7u4r5.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See? It’s magical!&lt;/p&gt;
&lt;h2&gt;
  
  
  3- How Can You Use OCR Without Any ML Experience?
&lt;/h2&gt;

&lt;p&gt;Yes, you can!&lt;br&gt;
You really can use OCR without any knowledge in machine learning! Amazing isn’t it? Here are some examples that you can use:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tesseract Open-Source OCR:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tesseract OCR is a powerful, free, open-source engine for converting images to text, developers use Python wrappers like pytesseract to integrate it, it's easy to use with basic coding, requiring no ML expertise, install Tesseract, then use simple functions to extract text from images, making digitization accessible, you can check it now &lt;a href="https://github.com/tesseract-ocr/tesseract" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is very easy to install using just one line of code:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docling:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docling simplifies document processing, parsing diverse formats — including advanced PDF understanding — and providing seamless integrations with the gen AI ecosystem, you can check it &lt;a href="https://github.com/docling-project/docling" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Docling is easy to use and you can get started with it with only a few lines of code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869"  # document per local path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())  # output: "## Docling Technical Report[...]"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Docuglean AI SDK:&lt;/strong&gt;&lt;br&gt;
Docuglean is a unified SDK for intelligent document processing using State of the Art AI models. Docuglean provides multilingual and multimodal capabilities with plug-and-play APIs for document OCR, structured data extraction, annotation, classification, summarization, and translation. It also comes with inbuilt tools and supports different types of documents out of the box, check it out &lt;a href="https://github.com/docuglean-ai/docuglean" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and learn how to use it &lt;a href="https://shifters.dev/blogs/build-a-receipt-reader-with-docuglean-ai-in-under-10-minutes" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Docuglean AI makes it easy for you to use OCR with no ML experience, here is an example code snippet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { ocr } from 'docuglean';
const result = await ocr({
  filePath: './document.pdf',
  provider: 'mistral',
  model: 'mistral-ocr-latest'
  apiKey: 'your-api-key'
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Enjoyed the article? star us now! 🌟&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Star our github&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Got question/feedback/request? Drop them in the comments! 🖊️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>python</category>
      <category>ocr</category>
    </item>
    <item>
      <title>Pytorch quickstart ☄️: Some of my Pytorch notes</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Sat, 19 Jul 2025 16:55:37 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/pytorch-quickstart-some-of-my-pytorch-notes-4j7p</link>
      <guid>https://dev.to/amira_bekhta_25/pytorch-quickstart-some-of-my-pytorch-notes-4j7p</guid>
      <description>&lt;p&gt;Hello everyone! Today I wanted to share with you all some of my Pytorch notes if you need a quickstart, enjoy!&lt;br&gt;
PyTorch is an open-source Python-based deep learning library that has been the most widely used deep learning library for research since 2019 by a wide margin.&lt;/p&gt;

&lt;p&gt;It is popular because it's user-friendly and efficient, yet still flexible enough for advanced users to customize and optimize models, it has a good balance between ease of use and powerful features.&lt;br&gt;
It is a tensor library extending NumPy with GPU acceleration, an automatic differentiation engine (Autograd) for simplified gradient computation and model optimization, and a comprehensive deep learning library offering modular building blocks for designing and training a wide range of deep learning models for both researchers and developers.&lt;/p&gt;

&lt;p&gt;To install PyTorch (Automatically detects default CPU/GPU):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install torch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Specific version for the tutorial: &lt;br&gt;
&lt;code&gt;pip install torch==2.4.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Explicit CUDA/GPU version: on &lt;a href="https://pytorch.org" rel="noopener noreferrer"&gt;https://pytorch.org&lt;/a&gt;, select your OS and desired CUDA version, and then modify the generated command to include your torch version&lt;/p&gt;

&lt;p&gt;Verify installation:&lt;br&gt;
&lt;code&gt;import torch&lt;br&gt;
print(torch.__version__)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;NVIDIA GPU recognition:&lt;br&gt;
&lt;code&gt;import torch&lt;br&gt;
print(torch.cuda.is_available())&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Apple Silicon GPU recognition:&lt;br&gt;
&lt;code&gt;import torch&lt;br&gt;
print(torch.backends.mps.is_available())&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Tensors are a mathematical concept that extends scalars, vectors, and matrices to higher dimensions, with their "rank" indicating the number of dimensions (for example, a scalar is rank 0, a vector is rank 1, a matrix is rank 2) in computing, tensors act as multi-dimensional data containers, efficiently managed by libraries like PyTorch where tensors are similar to NumPy arrays but offer key advantages for deep learning, including an automatic differentiation engine for gradient computation and GPU support to accelerate neural network training, all while maintaining a familiar NumPy-like API.&lt;/p&gt;

&lt;p&gt;We can create objects of PyTorch’s Tensor class using the torch.tensor function as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import torch

# create a 0D tensor (scalar) from a Python integer
tensor0d = torch.tensor(1)

# create a 1D tensor (vector) from a Python list
tensor1d = torch.tensor([1, 2, 3])

# create a 2D tensor from a nested Python list
tensor2d = torch.tensor([[1, 2], [3, 4]])

# create a 3D tensor from a nested Python list
tensor3d = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check the data type of a tensor in Pytorch we use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tensor1d = torch.tensor([1, 2, 3])
print(tensor1d.dtype)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it should print something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;torch.int64&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In a Pytorch Tensor, we can use the .shape:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(tensor2d.shape)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It would print something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;torch.Size([2, 3])&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Which means that the tensor has 2 rows and 3 columns. To reshape the tensor into a 3 by 2 tensor, we can use the .reshape method or more commonly .view() method:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tensor2d.reshape(3, 2)&lt;br&gt;
tensor2d.view(3, 2)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Next, we can use .T to transpose a tensor, which means flipping it across its diagonal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tensor2d.T&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Lastly, the common way to multiply two matrices in PyTorch is the .matmul method:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tensor2d.matmul(tensor2d.T)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;However, we can also adopt the @ operator, which accomplishes the same thing more compactly:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tensor2d @ tensor2d.T&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;PyTorch's autograd engine automatically computes gradients using computational graphs.&lt;br&gt;
A computational graph is:&lt;br&gt;
A directed graph that visualizes mathematical expressions.&lt;br&gt;
In deep learning, it maps out the steps a neural network takes to produce an output.&lt;br&gt;
Crucial for backpropagation, the main training method for neural networks, as it allows us to calculate necessary gradients.&lt;br&gt;
PyTorch builds internal computation graphs if requires_grad=True on a tensor.&lt;br&gt;
These graphs enable gradient calculation, crucial for backpropagation (neural network training).&lt;br&gt;
Backpropagation uses the chain rule to calculate how much each parameter contributes to the loss.&lt;br&gt;
PyTorch's Autograd engine automatically handles this via:&lt;br&gt;
grad() (manual, for specific tensors)&lt;br&gt;
.backward() (automatic, computes gradients for all parameters).&lt;/p&gt;

&lt;p&gt;PyTorch makes it easy to define custom neural networks by subclassing torch.nn.Module.&lt;br&gt;
We use &lt;strong&gt;init&lt;/strong&gt; to define layers.&lt;br&gt;
and forward() to define how data flows through the network.&lt;br&gt;
Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class NeuralNetwork(torch.nn.Module):
    def __init__(self, num_inputs, num_outputs):
        super().__init__()
        self.layers = torch.nn.Sequential(
            torch.nn.Linear(num_inputs, 30),
            torch.nn.ReLU(),
            torch.nn.Linear(30, 20),
            torch.nn.ReLU(),
            torch.nn.Linear(20, num_outputs),
        )

    def forward(self, x):
        return self.layers(x)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And to output the model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model = NeuralNetwork(50, 3)
print(model)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Model parameters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Count trainable parameters
num_params = sum(p.numel() for p in model.parameters() if p.requires_grad)

# Access weights
print(model.layers[0].weight.shape)  # torch.Size([30, 50])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set random seed to ensure reproducible weights:&lt;br&gt;
&lt;code&gt;torch.manual_seed(123)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Forward pass:&lt;br&gt;
&lt;code&gt;X = torch.rand((1, 50))&lt;br&gt;
out = model(X)&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Use torch.no_grad() to skip tracking gradients:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;with torch.no_grad():&lt;br&gt;
    out = model(X)&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Apply softmax to get class probabilities:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;probs = torch.softmax(out, dim=1)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Custom dataset class:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from torch.utils.data import Dataset

class ToyDataset(Dataset):
    def __init__(self, X, y):
        self.X, self.y = X, y

    def __getitem__(self, i):
        return self.X[i], self.y[i]

    def __len__(self):
        return len(self.y)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create DataLoaders:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from torch.utils.data import DataLoader

train_ds = ToyDataset(X_train, y_train)
train_loader = DataLoader(train_ds, batch_size=2, shuffle=True, num_workers=0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Iterate through batches:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;for x, y in train_loader:&lt;br&gt;
    print(x, y)&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;num_workers=0: Data loads in main process (slower but safer).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;0: Faster for large datasets, but may cause issues in small datasets or Jupyter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Training the neural network:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model = NeuralNetwork(2, 2)
optimizer = torch.optim.SGD(model.parameters(), lr=0.5)

for epoch in range(3):
    model.train()
    for features, labels in train_loader:
        loss = F.cross_entropy(model(features), labels)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;cross_entropy = softmax + loss&lt;br&gt;
zero_grad() prevents gradient buildup&lt;br&gt;
train() sets model to training mode&lt;br&gt;
After 3 epochs, loss ≈ 0 (model fits training data)&lt;/p&gt;

&lt;p&gt;Making predictions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model.eval()
with torch.no_grad():
    outputs = model(X_train)
    predictions = torch.argmax(outputs, dim=1)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;eval() = evaluation mode&lt;br&gt;
no_grad() saves memory&lt;br&gt;
argmax gives predicted class&lt;br&gt;
Use softmax for probabilities&lt;br&gt;
Accuracy:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;(predictions == y_train).sum()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Reusable accuracy function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def compute_accuracy(model, loader):
    model.eval()
    correct = 0
    for X, y in loader:
        with torch.no_grad():
            preds = model(X).argmax(dim=1)
        correct += (preds == y).sum()
    return correct.item() / len(loader.dataset)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Saving and loading:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
torch.save(model.state_dict(), "model.pth")

model = NeuralNetwork(2, 2)
model.load_state_dict(torch.load("model.pth", weights_only=True))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Distributed Training with PyTorch's DistributedDataParallel (DDP):&lt;/p&gt;

&lt;p&gt;Distributed training:&lt;br&gt;
Speeds up training by splitting work across GPUs/machines.&lt;/p&gt;

&lt;p&gt;Essential for large models and repeated training runs.&lt;/p&gt;

&lt;p&gt;How DDP works:&lt;br&gt;
Each GPU gets a copy of the model.&lt;/p&gt;

&lt;p&gt;Data is split between GPUs (via DistributedSampler).&lt;/p&gt;

&lt;p&gt;Gradients are synchronized across GPUs after each backward pass.&lt;br&gt;
Conclusion:&lt;br&gt;
PyTorch is a flexible and powerful deep learning framework built around three key components: tensors, autograd, and neural network tools. It supports GPU acceleration, making it efficient for training large models. With tools like Dataset, DataLoader, and DistributedDataParallel, PyTorch simplifies everything from loading data to scaling training across multiple GPUs. Whether you're starting on a CPU or scaling to clusters, PyTorch makes it straightforward to build and train deep learning models efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drop any question/feedback/request in comments! 🖊️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>Build a Receipt Reader with Docuglean AI in Under 10 Minutes! 📜</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 14 Jul 2025 14:55:56 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/build-a-receipt-reader-with-docuglean-ai-in-under-10-minutes-1io7</link>
      <guid>https://dev.to/amira_bekhta_25/build-a-receipt-reader-with-docuglean-ai-in-under-10-minutes-1io7</guid>
      <description>&lt;p&gt;Did you know that you can build an AI receipt reader in under 10 minutes? In this tutorial, we will explore how to extract structured data from a PDF receipt using the Docuglean SDK. I will guide you step-by-step through the setup process, it's easy and only requires a little knowledge!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Visit and star Docuglean SDK&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  1- Prerequisites:
&lt;/h2&gt;

&lt;p&gt;In order to be able to use the Docuglean AI SDK you need a little bit of JavaScript knowledge, you can review some JavaScript &lt;a href="https://www.w3schools.com/js/" rel="noopener noreferrer"&gt;here&lt;/a&gt; , other than that you’ll need Node.js and NPM installed in your machine, to check if you have them already, in Windows, click the Windows key + R on your keyboard, and type cmd, then type the commands:&lt;br&gt;
&lt;code&gt;node -v&lt;/code&gt;&lt;br&gt;
and:&lt;br&gt;
&lt;code&gt;npm -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you are able to see the versions of node and npm, good! You’re ready!, instead, you can simply go &lt;a href="https://nodejs.org/en/download" rel="noopener noreferrer"&gt;here&lt;/a&gt; and install the node.js windows installer (msi), after the setup is complete, check the versions again in cmd, and you will see that you are ready!&lt;/p&gt;
&lt;h2&gt;
  
  
  2- Installing the Docuglean SDK
&lt;/h2&gt;

&lt;p&gt;To start, you will have to create a directory (a folder) that will contain your receipt reader project, you can do this by pressing Windows + R on your keyboard and typing cmd, use the command mkdir followed by the project name, for example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mkdir my-receipt-extractor&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now navigate to that directory using the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd my-receipt extractor&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once you’re there, simply run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm i docuglean&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And hooray! Now your directory has all the features that Docuglean AI provides!&lt;br&gt;
Another thing you’ll need is an API key, currently, the available API keys are from these providers:&lt;br&gt;
OpenAI: gpt-4.1-mini, gpt-4.1, gpt-4o-mini, gpt-4o, o1-mini, o1, o3, o4-mini&lt;br&gt;
Mistral: mistral-ocr-latest&lt;br&gt;
Once you get your API key from one of the providers, don’t share it, this is your very own API key, save it in a safe place!&lt;br&gt;
Want to use an API key from another provider? More API keys are coming soon! check the Docuglean repository to know more, and star it to stay up to date!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Visit and star Docuglean SDK&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  3- Creating a Zod Schema for Receipts
&lt;/h2&gt;

&lt;p&gt;The Zod schema is your blueprint for the data you want to extract from a receipt, it tells Docuglean AI the exact structure and types of information to look for, which ensures you get consistent, predictable data back every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt; A defined structure (like a template) for the data Docuglean should extract.&lt;br&gt;
&lt;strong&gt;Why it's important:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Predictable Output:&lt;/strong&gt; Guarantees data comes back in the format you expect.&lt;br&gt;
&lt;strong&gt;- Type Safety:&lt;/strong&gt; Ensures fields are the correct type (date as a string, total as a number…)&lt;br&gt;
&lt;strong&gt;- Guides the AI:&lt;/strong&gt; Helps the AI understand what specific pieces of information to pull out.&lt;/p&gt;

&lt;p&gt;Here is an example Zod Schema for a Receipt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { z } from 'zod';
// Define the structure for a single item on the receipt
const ReceiptItemSchema = z.object({
name: z.string().describe('The name of the item purchased.'),
price: z.number().describe('The price of this specific item.')
});
// Define the overall structure for the entire receipt
const ReceiptSchema = z.object({
date: z.string().describe('The date of the receipt in YYYY-MM-DD format.'),
total: z.number().describe('The grand total amount shown on the receipt.'),
currency: z.string().optional().describe('The currency symbol or code (e.g., "$", "EUR").'), // Optional field
vendorName: z.string().optional().describe('The name of the store or business.'),
items: z.array(ReceiptItemSchema).describe('A list of all individual items purchased, with their names and prices.')
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4- Writing the Extraction Script
&lt;/h2&gt;

&lt;p&gt;This script is the core of your application, it brings together your receipt, your API key, and the Zod schema to tell Docuglean AI what to do, it calls Docuglean's extract function to process your receipt and return structured data&lt;/p&gt;

&lt;p&gt;Here is a simple Extraction Script Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { extract } from 'docuglean';
import { z } from 'zod';
import * as dotenv from 'dotenv'; // Tool to load API keys securely
dotenv.config(); // Loads variables from a .env file
// Define your Zod Schema (from Part 3)
const ReceiptItemSchema = z.object({
name: z.string().describe('The name of the item purchased.'),
price: z.number().describe('The price of this specific item.')
});
const ReceiptSchema = z.object({
date: z.string().describe('The date of the receipt in YYYY-MM-DD format.'),
total: z.number().describe('The grand total amount shown on the receipt.'),
currency: z.string().optional().describe('The currency symbol or code (e.g., "$", "EUR").'),
vendorName: z.string().optional().describe('The name of the store or business.'),
items: z.array(ReceiptItemSchema).describe('A list of all individual items purchased, with their names and prices.')
});
async function runReceiptExtraction() {
const apiKey = process.env.OPENAI_API_KEY; // Ensure you set this in a .env file!
const receiptFilePath = './receipt_example.pdf'; // Ensure this file exists!
if (!apiKey) {
console.error("Error: API key not found. Please set OPENAI_API_KEY in your .env file.");
return;
}
try {
console.log("Starting receipt data extraction...");
const extractedData = await extract({
filePath: receiptFilePath,
apiKey: apiKey,
provider: 'openai', // Or 'mistral'
responseFormat: ReceiptSchema, // Our blueprint for the output
prompt: 'Extract the date, total, currency, vendor name, and a list of items with their names and prices from this receipt.'
});
console.log("Extraction successful!");
// Print the result in a nicely formatted way
console.log(JSON.stringify(extractedData, null, 2));
} catch (error) {
console.error("An error occurred during extraction:", error);
}
}
runReceiptExtraction(); // Run the function

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5- Understanding the Output
&lt;/h2&gt;

&lt;p&gt;Once your script runs successfully, Docuglean will return a JavaScript object containing all the extracted information, perfectly matching your Zod schema, you will get a JavaScript object that is guaranteed to have the structure you defined in your ReceiptSchema.&lt;br&gt;
Example Output (based on our schema):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
"date": "2024-07-09",
"total": 55.75,
"currency": "USD",
"vendorName": "SuperMart",
"items": [
{
"name": "Organic Bananas",
"price": 3.49
},
{
"name": "Milk (1 Gallon)",
"price": 4.99
},

{
"name": "Avocado (Each)",
"price": 2.50
}
]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6- Let’s wrap up!
&lt;/h2&gt;

&lt;p&gt;In this article, we have learned the essentials of using Docuglean for receipt extraction, this is a powerful skill that automates tedious data entry and unlocks new possibilities for document processing!&lt;br&gt;
What's Coming Soon to Docuglean:&lt;br&gt;
&lt;code&gt;summarize()&lt;/code&gt;: Get quick summaries (TLDRs) of long documents.&lt;br&gt;
&lt;code&gt;translate()&lt;/code&gt;: Built-in support for processing multilingual documents.&lt;br&gt;
&lt;code&gt;classify()&lt;/code&gt;: Automatically detect the type of document (receipt, invoice, ID, etc.).&lt;br&gt;
&lt;code&gt;search(query)&lt;/code&gt;: Search across your documents using powerful AI.&lt;br&gt;
More AI Models: Integrations with other providers like Meta's Llama, Together AI, and OpenRouter for more choice and flexibility.&lt;br&gt;
Keep an eye on Docuglean's updates by and star the GitHub repository to get notified when these exciting new features become available!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Visit and star Docuglean SDK&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⭐ Want More?&lt;/strong&gt;&lt;br&gt;
Check out the full Docuglean repository on GitHub and star the project to support future updates!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Visit and star Docuglean SDK&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have questions/requests? Drop them the comments! 🖊️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How I built a Github star tracker in one afternoon? 🌟</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Fri, 11 Jul 2025 17:35:35 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/how-i-built-a-github-star-tracker-in-one-afternoon-34hj</link>
      <guid>https://dev.to/amira_bekhta_25/how-i-built-a-github-star-tracker-in-one-afternoon-34hj</guid>
      <description>&lt;p&gt;Hello everyone, today I decided to share with you all how I was able to make a frontend application that tracks our github repository's star count in only one afternoon!&lt;/p&gt;

&lt;p&gt;Check the app here: &lt;a href="https://amira-bekhta.github.io/Github_star_tracker/" rel="noopener noreferrer"&gt;https://amira-bekhta.github.io/Github_star_tracker/&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
Find the repository and star it to see the magic &lt;a href="https://github.com/docuglean-ai/docuglean" rel="noopener noreferrer"&gt;here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Check my Github here: &lt;a href="https://github.com/Amira-Bekhta" rel="noopener noreferrer"&gt;https://github.com/Amira-Bekhta&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the tracking app's Github repository here: &lt;a href="https://github.com/Amira-Bekhta/Github_star_tracker" rel="noopener noreferrer"&gt;https://github.com/Amira-Bekhta/Github_star_tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- The HTML code first:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before starting with anything, I decided to have all the HTML code I needed, here is the code I had at first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;h1&amp;gt;How are the stars going?&amp;lt;/h1&amp;gt;
    &amp;lt;progress id="progress" max="1000" value="3"&amp;gt;&amp;lt;/progress&amp;gt;
    &amp;lt;h3&amp;gt;Stars so far&amp;lt;/h3&amp;gt;
    &amp;lt;footer&amp;gt;Made with 🩷 by Amira&amp;lt;/footer&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then I thought to myself, wouldn't it be better to have a good Github icon that leads to the repository and makes the app more visually appealing? To do so, I had to add this to the head of my HTML document:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And for the HTML body, I simply added this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;a href="https://github.com/docuglean-ai/docuglean" target="_blank"&amp;gt;&amp;lt;i class="fa fa-github" style="font-size:12em"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- Styling:&lt;/strong&gt;&lt;br&gt;
When I use CSS, the first thing I go for is making sure everything is aligned in the center, this makes me feel like all the items are well-organized (Do you do this too? Tell me in the comments!), this is the code I use in almost every CSS code I do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body{
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            text-align: center;
            min-height: 100vh;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Other than that, I wanted to style the HTML progress bar, this part was a bit tricky, click &lt;a href="https://github.com/Amira-Bekhta/Github_star_tracker" rel="noopener noreferrer"&gt;here&lt;/a&gt; to find the app's repo and find out how I did it 👀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3- Github API:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before I started building the app, I was worried that tracking the star count would be the hardest part, but hey, it's actually super easy, and you can do it too! Here is how I did it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
        async function updateStars() {
            try {
                const response = await fetch('https://api.github.com/repos/docuglean-ai/docuglean');
                const data = await response.json();
                const stars = data.stargazers_count;
                document.getElementById('progress').value = stars;
                document.querySelector('h3').textContent = `${stars} stars so far!`;
            } catch (error) {
                console.error('Failed to fetch star count:', error);
                document.querySelector('h3').textContent = 'Unable to load stars 😢';
            }
        }
        setInterval(updateStars, 60000); 

        updateStars();
&amp;lt;/script&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Thanks for reading! 💕&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check the app here: &lt;a href="https://amira-bekhta.github.io/Github_star_tracker/" rel="noopener noreferrer"&gt;https://amira-bekhta.github.io/Github_star_tracker/&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
Find the repository and star it to see the magic &lt;a href="https://github.com/docuglean-ai/docuglean" rel="noopener noreferrer"&gt;here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Check my Github here: &lt;a href="https://github.com/Amira-Bekhta" rel="noopener noreferrer"&gt;https://github.com/Amira-Bekhta&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the tracking app's Github repository here: &lt;a href="https://github.com/Amira-Bekhta/Github_star_tracker" rel="noopener noreferrer"&gt;https://github.com/Amira-Bekhta/Github_star_tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Got questions/feedback? Drop them in the comments! 🖊️&lt;/p&gt;

&lt;p&gt;Don't forget to support us by starring our Github here: &lt;a href="https://github.com/docuglean-ai/docuglean" rel="noopener noreferrer"&gt;https://github.com/docuglean-ai/docuglean&lt;/a&gt;  🌟**&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>github</category>
    </item>
    <item>
      <title>What Is Machine Learning? A Beginner’s Guide 🤖</title>
      <dc:creator>Amira Bekhta</dc:creator>
      <pubDate>Mon, 07 Jul 2025 18:36:22 +0000</pubDate>
      <link>https://dev.to/amira_bekhta_25/what-is-machine-learning-a-beginners-guide-49li</link>
      <guid>https://dev.to/amira_bekhta_25/what-is-machine-learning-a-beginners-guide-49li</guid>
      <description>&lt;p&gt;Machine learning, a term we hear everywhere these days, has become one of the most transformative technologies of our time. Chances are you have at least once wondered what machine learning is and how it works.&lt;br&gt;
In this article, we will enter the world of machine learning and explore its fascinating capabilities, ready to discover some of the coolest things you can do with it?&lt;/p&gt;
&lt;h2&gt;
  
  
  1- What is Machine Learning?
&lt;/h2&gt;

&lt;p&gt;Machine learning (ML) is a fascinating domain that allows computers to perform tasks typically related to human intelligence, actually, ML is just a branch of artificial intelligence where systems “learn” from data to identify patterns, make predictions, or even generate new content, but are you still trying to figure out why is it called "machine learning"? Well, the process of machine learning ensures that machines do not need to be programmed for every single scenario, they just “learn” from big amounts of data, just like how humans learn, for example, when you open your favorite music app, the system doesn’t need to be programmed every day to recommend you new songs, it just learns from data about you (like your favorite songs, artists…) and then tries to find songs that you will possibly like!&lt;/p&gt;

&lt;p&gt;Let’s try to think about it this way: when a child learns to recognize a certain object, say a ball, they aren't given a precise, step-by-step instruction manual on "what makes a ball a ball." Instead, they see many different balls, hear the word "ball" related to them, and with repeated exposure and corrections (e.g., being corrected if they call another thing a ball), they build an internal model of what a ball looks like over time, similarly, machine learning algorithms get equipped with massive datasets ( images of balls, for instance ) along with labels indicating "this is a ball." The algorithms then crunch this data, detecting features and relationships that define a "ball" on its own, and the next time a machine receives a picture of a ball, it will compare it to all the images it saw before, and will decide if this looks more like the ball images it saw before.&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%2Fdvra1lrc8jre3z0iedeo.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%2Fdvra1lrc8jre3z0iedeo.png" alt="How computers see and classify data"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This amazing ability for computers to "learn" from data without explicit programming is what makes ML so revolutionary, it means we can build systems that adapt, improve, and discover insights in ways that were previously impossible, whether it's recommending your next favorite song, powering self-driving cars, or helping doctors diagnose diseases, machine learning is rapidly transforming our world by enabling computers to not just follow instructions, but to truly learn and evolve.&lt;/p&gt;
&lt;h2&gt;
  
  
  2- The process of Machine learning:
&lt;/h2&gt;

&lt;p&gt;The whole process begins, quite fundamentally, with data, which is the foundation upon which the impressive field of machine learning is constructed. You can imagine the process as nurturing machines, these machines are not born with an innate understanding but are instead carefully fed huge amounts of training data. This digital nourishment comes in various forms and is prepared through diverse methodologies to optimize the learning process.&lt;/p&gt;

&lt;p&gt;The way that machines learn from data can be split into two types, supervised and unsupervised learning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Supervised learning&lt;/strong&gt;: Here, the machine is presented with data that has been thoughtfully labeled, much like a teacher providing examples with correct answers. For example, in computer vision, a machine might be shown thousands of images of dogs, each explicitly tagged "dog." Through this iterative exposure, and often leveraging the power of deep learning architectures that mimic the human brain's neural networks, the machine learns to differentiate patterns and make predictions. This approach is particularly effective for tasks like image classification or speech recognition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unsupervised learning&lt;/strong&gt;: This approach is about unlabeled data, challenging the machine to uncover inherent structures or relationships without prior guidance. Think of it as presenting a child with a number of toys and asking them to sort them into groups based on their own observations, they could sort the toys by color, shape, or material. This method is invaluable for tasks such as customer segmentation or anomaly detection, where the underlying patterns are not immediately apparent.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fu407mpihr8i6bvt8k02u.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%2Fu407mpihr8i6bvt8k02u.png" alt="Supervised VS Unsupervised learning"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the training phase is complete, the machine's ability to apply its learned knowledge should be tested. This crucial step involves a separate, unseen dataset known as the test set. We will let the machine use what it learned on the test set, and by evaluating its performance, we can accurately judge its proficiency and identify any areas requiring further refinement. This cyclical process of data preparation, training, and testing is fundamental to developing robust and intelligent systems that can truly make sense of the world around us.&lt;/p&gt;
&lt;h2&gt;
  
  
  3- The role of Machine learning:
&lt;/h2&gt;

&lt;p&gt;With all we have discovered so far, we now know what machine learning is. We also know the process it goes through to ensure a good output. What if I tell you that this simple process is the core to building all the huge AI applications you see everywhere?!&lt;/p&gt;

&lt;p&gt;Today, ML is ubiquitous, silently powering everything from personalized recommendations on your favorite streaming services to robust spam filters in your email. It's integral to fraud detection in finance, disease diagnosis in healthcare, and optimizing logistics in transportation, making countless daily interactions smoother and more efficient.&lt;/p&gt;

&lt;p&gt;Looking ahead, ML's impact will only grow, extending far beyond the traditional tech industry. Imagine smarter agriculture that predicts optimal planting times, personalized education adapting to individual learning styles, or advanced materials science accelerating discoveries. Its ability to analyze vast datasets and uncover hidden patterns will drive unprecedented innovation, enhancing productivity, improving decision-making, and fundamentally reshaping nearly every facet of our lives, creating a future that is more intelligent, responsive, and connected.&lt;/p&gt;

&lt;p&gt;Overall, machine learning, by enabling machines to learn from data like humans do, is revolutionizing our world. This ability, from supervised learning with labeled examples to unsupervised learning uncovering hidden patterns, empowers systems to adapt and improve. As ML continues to evolve, its impact will only grow, driving innovation and reshaping nearly every aspect of our lives for a more intelligent and connected future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoyed the article? Star us on Github!🌟&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/docuglean-ai/docuglean" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🌟 Star us here&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have questions/requests? Drop it them the comments! 🖊️&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>python</category>
      <category>deeplearning</category>
    </item>
  </channel>
</rss>
