<?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>Forem: Ashomondi</title>
    <description>The latest articles on Forem by Ashomondi (@ashomondi).</description>
    <link>https://forem.com/ashomondi</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%2F3723527%2F1efbfac0-c681-4fb4-8191-d67bde765f0a.png</url>
      <title>Forem: Ashomondi</title>
      <link>https://forem.com/ashomondi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ashomondi"/>
    <language>en</language>
    <item>
      <title>How I Built a To-Do App in 4 Hours at a Mini Hackathon</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Tue, 14 Apr 2026 00:56:58 +0000</pubDate>
      <link>https://forem.com/ashomondi/how-i-built-a-to-do-app-in-4-hours-at-a-mini-hackathon-pih</link>
      <guid>https://forem.com/ashomondi/how-i-built-a-to-do-app-in-4-hours-at-a-mini-hackathon-pih</guid>
      <description>&lt;p&gt;Have you ever tried building a full app in just a few hours?&lt;br&gt;
Recently, I participated in a mini hackathon organized by &lt;strong&gt;DevWengi&lt;/strong&gt;, led by &lt;strong&gt;Clinton Odhiambo&lt;/strong&gt; and &lt;strong&gt;Flovian Atieno&lt;/strong&gt;. The challenge was simple but intense: build a functional application in just 4 hours.&lt;/p&gt;

&lt;p&gt;It turned out to be one of the most exciting and educational experiences I’ve had so far.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Challenge&lt;/strong&gt;&lt;br&gt;
We were tasked with building a To-Do App with these core features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Store data locally&lt;/li&gt;
&lt;li&gt;Edit tasks&lt;/li&gt;
&lt;li&gt;Update tasks&lt;/li&gt;
&lt;li&gt;Delete tasks&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At first glance, it sounds simple… but doing all that within a limited time really tests your focus and problem-solving skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What We Built&lt;/strong&gt;&lt;br&gt;
I teamed up with &lt;strong&gt;Ibrahim&lt;/strong&gt;, and together we built a mobile-friendly to-do application that met all the requirements.&lt;br&gt;
Even better — it worked smoothly and did exactly what it was supposed to do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Going Beyond the Basics&lt;/strong&gt;&lt;br&gt;
We didn’t just stop at the required features. We added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task filtering (Completed tasks)&lt;/li&gt;
&lt;li&gt;Active/Pending tasks view&lt;/li&gt;
&lt;li&gt;All tasks overview
These additions made the app more practical and user-friendly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack&lt;/strong&gt;&lt;br&gt;
We kept things simple and focused:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript
No frameworks, no backend — just pure frontend. And it still delivered!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;br&gt;
This hackathon taught me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to build fast under pressure&lt;/li&gt;
&lt;li&gt;The importance of planning before coding&lt;/li&gt;
&lt;li&gt;How small features can greatly improve user experience&lt;/li&gt;
&lt;li&gt;That you don’t always need complex tools to build something useful
** What’s Next?**
This is just the beginning. I’m planning to:&lt;/li&gt;
&lt;li&gt;Improve the UI/UX&lt;/li&gt;
&lt;li&gt;Add more advanced features&lt;/li&gt;
&lt;li&gt;Integrate a backend for better data handling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Check Out the Project&lt;/strong&gt;&lt;br&gt;
You can explore the full project on my GitHub, where I’ve shared a clear illustration of how the app works.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>zone01kisumu</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>From Inspiration to Direction: My Experience at the Build From Here Conference</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Mon, 13 Apr 2026 14:56:19 +0000</pubDate>
      <link>https://forem.com/ashomondi/from-inspiration-to-direction-my-experience-at-the-build-from-here-conference-4c58</link>
      <guid>https://forem.com/ashomondi/from-inspiration-to-direction-my-experience-at-the-build-from-here-conference-4c58</guid>
      <description>&lt;p&gt;Last Friday, I had the opportunity to attend the Build From Here Conference, and it turned out to be one of the most impactful experiences in my tech journey so far.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stepping Into a Global Tech Space&lt;/strong&gt;&lt;br&gt;
One of the most exciting parts of the conference was meeting recruiters from different parts of the world. It wasn’t just about networking—it was about understanding what the global tech space looks like and what is expected from upcoming developers like myself.&lt;/p&gt;

&lt;p&gt;Being part of the event also gave me a closer look at the Zone01 community. Seeing how the ecosystem works and how people grow within it made everything feel more real and achievable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Witnessing Growth: Cohort 1 Graduation&lt;/strong&gt;&lt;br&gt;
A major highlight of the day was witnessing the graduation of Cohort 1 at Zone01 Kisumu. What made it even more inspiring was learning that some graduates are already employed.&lt;/p&gt;

&lt;p&gt;This moment gave me something very important: clarity and confidence.&lt;/p&gt;

&lt;p&gt;It reassured me that the path I am on is valid—and that with consistency and effort, it leads somewhere meaningful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Breaking Barriers: From Zero to Impact&lt;/strong&gt;&lt;br&gt;
During networking sessions, I met amazing people who were curious about Zone01 Kisumu and eager to learn more about it.&lt;/p&gt;

&lt;p&gt;But what truly stood out were the stories of Cohort 1 graduates who joined the program without any prior computer knowledge.&lt;/p&gt;

&lt;p&gt;Today, some of them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are contributing to the foundation of tech communities&lt;/li&gt;
&lt;li&gt;Are working in opportunities beyond Africa&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seeing such transformation firsthand was powerful. It reminded me that your starting point doesn’t define your destination.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning Beyond the Classroom&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Throughout the day—during lunch, tea breaks, and panel discussions—I had the chance to engage directly with graduates and professionals.&lt;/p&gt;

&lt;p&gt;Listening to their journeys in tech, their struggles, and their wins gave me practical insights that you don’t always get in a classroom setting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Career Lessons That Stood Out&lt;/strong&gt;&lt;br&gt;
One of the panel sessions focused on career readiness, and it was packed with valuable advice:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build a strong and clear CV&lt;/li&gt;
&lt;li&gt;Be honest about what you don’t know&lt;/li&gt;
&lt;li&gt;Stay ready and willing to learn&lt;/li&gt;
&lt;li&gt;Put yourself out there&lt;/li&gt;
&lt;li&gt;Share your work and journey on LinkedIn&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This session changed how I view job searching. It’s not just about applying—it’s about visibility and authenticity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Message That Changed My Perspective&lt;/strong&gt;&lt;br&gt;
One idea that really stayed with me was:&lt;br&gt;
You don’t have to be the loudest in the room to be noticed—your work can speak for you.&lt;/p&gt;

&lt;p&gt;This completely shifted my mindset. Being impactful isn’t about noise—it’s about value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insights from Industry Voices&lt;/strong&gt;&lt;br&gt;
I was especially inspired by &lt;strong&gt;Jessicah Colaco’s&lt;/strong&gt; talk as a woman in tech. Her message was powerful, encouraging, and a reminder that there is space for women to grow and lead in this industry.&lt;/p&gt;

&lt;p&gt;Another quote that deeply resonated with me came from &lt;strong&gt;Ndinga Njeri:&lt;/strong&gt;&lt;br&gt;
“Certificates are not a competition; what matters is what you can build and demonstrate.”&lt;/p&gt;

&lt;p&gt;This reinforced something I had been slowly realizing—skills, projects, and real-world impact matter more than just credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building Bridges, Not Focusing on Gaps&lt;/strong&gt;&lt;br&gt;
One of my biggest takeaways from the conference is this:&lt;br&gt;
Instead of focusing on what we lack, we should focus on building bridges—through learning, collaboration, and creating.&lt;/p&gt;

&lt;p&gt;In today’s tech world, certificates alone are no longer enough. What truly sets you apart is what you can build, show, and share with others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;
The Build From Here Conference was more than just an event—it was a turning point.&lt;/p&gt;

&lt;p&gt;It gave me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inspiration&lt;/li&gt;
&lt;li&gt;Direction&lt;/li&gt;
&lt;li&gt;Confidence&lt;/li&gt;
&lt;li&gt;And a stronger sense of purpose&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m leaving this experience more motivated than ever to keep building, keep learning, and keep showing up.&lt;/p&gt;

&lt;p&gt;If you're on your tech journey, just know this:&lt;br&gt;
Start where you are, use what you have, and keep building.&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts!&lt;br&gt;
Have you attended a similar event or are you on your tech journey?&lt;/p&gt;

&lt;p&gt;Feel free to leave a comment, share your experience, or drop any suggestions—let’s grow together.&lt;/p&gt;

</description>
      <category>buildfromhereconference</category>
      <category>zone01kisumu</category>
      <category>career</category>
      <category>webdev</category>
    </item>
    <item>
      <title>THE INTERNET</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Tue, 17 Mar 2026 11:32:29 +0000</pubDate>
      <link>https://forem.com/ashomondi/the-internet-3mgc</link>
      <guid>https://forem.com/ashomondi/the-internet-3mgc</guid>
      <description>&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%2Fc3cmim9kfxssa9558k1g.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%2Fc3cmim9kfxssa9558k1g.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Internet: How Messages Travel in a Digital World&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’ve probably never thought about it, but every time you browse a website, send a message, or watch a video online, tiny digital “travelers” are racing across the globe to make it happen. Let’s take a journey to understand how the internet really works—not as code or protocols, but as a living, moving system.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The Internet Is a Digital Highway&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Imagine the world as a massive city, with roads connecting every house, office, and shop. These roads are the internet’s networks, connecting computers, phones, servers, and smart devices.&lt;/p&gt;

&lt;p&gt;When you click a link or open an app, it’s like sending a delivery truck onto these highways. The truck carries information—your request for a website, a video, or a message—to its destination.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Addresses and Names: Finding Your Way&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every device in this city has an address—called an IP address. Without it, your delivery truck would never know where to go.&lt;/p&gt;

&lt;p&gt;Humans, however, don’t remember numbers well. That’s why we use domain names like youtube.com or wikipedia.org. A DNS server acts like a GPS or map service—it converts the name into the numerical address your digital truck needs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Packets: Tiny Travelers on the Road&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Data doesn’t travel as one big load; it’s broken into packets, like hundreds of tiny drones each carrying a piece of your message.&lt;/p&gt;

&lt;p&gt;1.Each packet knows:&lt;br&gt;
2.Where it’s coming from&lt;br&gt;
3.Where it’s going&lt;br&gt;
4.Its place in the overall message&lt;/p&gt;

&lt;p&gt;These packets may take different routes, zooming through various routers and networks, but they all arrive at your device and reassemble into the complete page, message, or video.&lt;/p&gt;

&lt;p&gt;4.** Security: Sealed and Locked**&lt;/p&gt;

&lt;p&gt;Some deliveries need to be secure, like a bank transaction or private email. That’s where encryption (HTTPS/TLS) comes in. It’s as if each packet is placed in a sealed, locked box. Only your device and the server holding the key can open it.&lt;/p&gt;

&lt;p&gt;Without this, anyone along the highway could read your messages.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Servers: Warehouses of the Digital World&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Websites live in servers, which are like massive warehouses storing all the content you might request. When your delivery truck reaches a server, it picks up the items (HTML, images, scripts) and heads back to your device.&lt;/p&gt;

&lt;p&gt;Some servers are far away, even across oceans. To speed things up, companies use CDNs (Content Delivery Networks)—mini-warehouses spread worldwide—so your data doesn’t have to travel too far.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;A Living, Breathing System&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The internet isn’t static. It adapts and moves constantly:&lt;/p&gt;

&lt;p&gt;1.Routers find the fastest path for packets.&lt;br&gt;
2.Networks reroute traffic when there’s congestion or outages.&lt;br&gt;
3.Edge servers and caching make popular content instantly available.&lt;/p&gt;

&lt;p&gt;It’s like a city where every street, intersection, and delivery truck is constantly adjusting to keep traffic flowing.&lt;/p&gt;

&lt;p&gt;7.** Why Understanding It Matters**&lt;/p&gt;

&lt;p&gt;Even if you’re not a programmer, knowing how the internet works can help you:&lt;/p&gt;

&lt;p&gt;1.Understand why pages sometimes load slowly&lt;br&gt;
2.Protect your data with strong security practices&lt;br&gt;
3.Appreciate the incredible infrastructure behind your favorite apps and websites&lt;/p&gt;

&lt;p&gt;The next time you hit Enter, think about all the hidden roads, travelers, and warehouses working in perfect harmony—just to bring a single web page to your screen.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Key Takeaways (In Simple Words)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.The internet is a global network of networks.&lt;br&gt;
2.Names (domain names) are translated into numbers (IP addresses).&lt;br&gt;
3.Data travels in small packets, often taking different routes.&lt;br&gt;
4.Servers store the content you request, while CDNs make it faster.&lt;br&gt;
5.Encryption keeps your data safe on the journey.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>zone01</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>INTERNATIONAL WOMEN'S DAY (IWD)</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Tue, 10 Mar 2026 14:10:10 +0000</pubDate>
      <link>https://forem.com/ashomondi/international-womens-day-iwd-2232</link>
      <guid>https://forem.com/ashomondi/international-womens-day-iwd-2232</guid>
      <description>&lt;p&gt;&lt;strong&gt;Celebrating International Women's Day (IWD) at Zone01 Kisumu 2026: Give to Gain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f7p5jl6znw25ethjx0t.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f7p5jl6znw25ethjx0t.JPG" alt=" " width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This year at Zone01 KIsumu, international women's day was not just a celebration but also it was an interactive session focused on learning and sharing of knowledge.Under the theme of:&lt;strong&gt;Give to Gain&lt;/strong&gt; we decided to do something different from our previous  years.&lt;br&gt;
We brought together young minds,tech mentors for a day full of innovation,creativity and fun.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hands-on Technovation for Young Learners&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We invited girls from: &lt;strong&gt;Sinyolo&lt;/strong&gt; ,&lt;strong&gt;Lions high&lt;/strong&gt; and &lt;strong&gt;St.Paul&lt;/strong&gt; schools to dive into the world of technology.Using &lt;strong&gt;App-inventor&lt;/strong&gt; they learned how to build a simple app of their choice and experienced firsthand how technology can help solve real-world problems.&lt;/p&gt;

&lt;p&gt;It was amazing to see their curiosity and creativity throughout the project. From building their apps to testing them, the room was full of energy and excitement.&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%2Fz0qwiqpnagln5ckzpcj5.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0qwiqpnagln5ckzpcj5.JPG" alt=" " width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88hzelighioxk9zvqd3j.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88hzelighioxk9zvqd3j.JPG" alt=" " width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning form experts and guests&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The invited guests made the day even more interactive and inspiring. We were delighted to have representatives from the Directorate of ICT Kisumu, including &lt;strong&gt;Audrine Papetua&lt;/strong&gt; (ICT Officer, CGK) and &lt;strong&gt;Rozanne Achieng&lt;/strong&gt; (RMS Support Engineer), who shared their journeys in the tech industry.&lt;/p&gt;

&lt;p&gt;We also held a panel discussion moderated by &lt;strong&gt;Vallary Odinga&lt;/strong&gt;. The panelists included our mentors &lt;strong&gt;Bella Oyucho&lt;/strong&gt; and &lt;strong&gt;Anne Okingo&lt;/strong&gt;, who made the session engaging and insightful.&lt;/p&gt;

&lt;p&gt;In addition, we had special guests like &lt;strong&gt;Maxi Daniels&lt;/strong&gt;, a poet and author, and &lt;strong&gt;Winnie Wenger Walcott&lt;/strong&gt;, a digital creator, who shared their inspiring journeys.&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%2Fb4nxq6axm1o5ikr68omp.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4nxq6axm1o5ikr68omp.JPG" alt=" " width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give to Gain: The Heart of the Event&lt;/p&gt;

&lt;p&gt;The theme &lt;strong&gt;Give to Gain&lt;/strong&gt; truly came alive through mentorship, shared knowledge, and collaboration. By investing time and skills in young learners, we not only empowered them but also strengthened our community.&lt;/p&gt;

&lt;p&gt;International Women’s Day at Zone01 Kisumu showed that empowering others benefits everyone. Every app created, every idea shared, and every lesson taught reminded us that knowledge grows when it is shared.&lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>learning</category>
      <category>zone01</category>
      <category>community</category>
    </item>
    <item>
      <title>BUILDING A TEXT AUTO-CORRECTION TOOL IN GO(go-reloaded)</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Fri, 27 Feb 2026 08:26:01 +0000</pubDate>
      <link>https://forem.com/ashomondi/building-a-text-auto-correction-tool-in-gogo-reloaded-3ba5</link>
      <guid>https://forem.com/ashomondi/building-a-text-auto-correction-tool-in-gogo-reloaded-3ba5</guid>
      <description>&lt;p&gt;Go-reloaded &lt;br&gt;
In this project i built a small Go tool that reads a text file and automatically applies to a set of editing rules such as :&lt;br&gt;
&lt;em&gt;1.converting words to uppercase/lowercase/capitalized form&lt;br&gt;
2.converting hexadecimal and binary numbers to decimal&lt;br&gt;
3.fixing punctuation spacing&lt;br&gt;
4.fixing quotes 'like this'&lt;br&gt;
5.converting a → an before vowels or h&lt;/em&gt;&lt;br&gt;
This project works like auto-correct it corrects a sentence and puts every letter in order and also punctuation.&lt;/p&gt;

&lt;p&gt;This program takes two arguments:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;an input file name (that contains raw text)
2.an output file name where the corrected output will be written example:
  a)sample.txt this is where the input/ raw text will be 
  b) result.txt this where the corrected output will be displayed.
You can use this "go run . sample.txt. result.txt"&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>cli</category>
      <category>go</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
    <item>
      <title>GO-RELOADED PROJECT (article)</title>
      <dc:creator>Ashomondi</dc:creator>
      <pubDate>Tue, 17 Feb 2026 12:46:02 +0000</pubDate>
      <link>https://forem.com/ashomondi/go-reloaded-project-article-4bea</link>
      <guid>https://forem.com/ashomondi/go-reloaded-project-article-4bea</guid>
      <description>&lt;p&gt;Go-reloaded is a small text editing and auto-correct tool written in Go.&lt;br&gt;
The program reads text files from an input file, applies a set of formatting and correction rules, then writes the corrected version into an output file e.g : sample.txt -this is where the inputs are written&lt;br&gt;&lt;br&gt;
          result.txt - this where the the corrected version in the sample.txt file is being displayed&lt;/p&gt;

&lt;p&gt;What this project does and what is learnt in it&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reading and writing files in Go
using os.ReadFile
This opens the file, reads the content in it then returns it as a slice of bytes&lt;/li&gt;
&lt;li&gt;Working with strings &lt;/li&gt;
&lt;li&gt;Converting numbers (binary and hexadecimal)&lt;/li&gt;
&lt;li&gt;Applying text transformation like uppercase, lowercase and capitalize&lt;/li&gt;
&lt;li&gt;Fixing punctuation and grammar rules automatically
This helps to place every punctuation in order the way it should like quotes after the .&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;HOW THE PROGRAM WORKS&lt;br&gt;
The program receives two command line:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The input file name (sample.txt)&lt;/li&gt;
&lt;li&gt;The output file name (result.txt)
How to run it use: 
 go run . sample.txt result.txt
Easy to run and also implement&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;STEPS THE PROGRAM FOLLOWS:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if the user provided exactly two command lines&lt;/li&gt;
&lt;li&gt;Read the input file content using os.ReadFile&lt;/li&gt;
&lt;li&gt;Apply multiple text transformation one after another&lt;/li&gt;
&lt;li&gt;Write the final corrected text to the output file/ result using os.WriteFile&lt;/li&gt;
&lt;li&gt;Prints "Done" if everything worked successfully.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;INPUT AND OUTPUT FILES&lt;br&gt;
-Sample.txt (or input.txt) contains the raw text with special tags like (up), (cap), (low, 8), (hex), (bin)&lt;br&gt;
-Result.txt (output.txt) contains the corrected text after the program finishes processing &lt;br&gt;
This makes it easy to run. &lt;/p&gt;

&lt;p&gt;THE TEXT TRANSFORMATION RULES&lt;br&gt;
The project supports multiple corrections and formation rules&lt;br&gt;
a) Uppercase version &lt;br&gt;
Whenever the program find (up) it changes the word before it to uppercase&lt;br&gt;
sample.txt&lt;br&gt;
    go (up)&lt;br&gt;
result.txt&lt;br&gt;
     GO&lt;br&gt;
b) Lowercase version&lt;br&gt;
Whenever the program finds (low) it changes the word before to lowercase(small letter) &lt;br&gt;
sample.txt&lt;br&gt;
    GO (low)&lt;br&gt;
result.txt&lt;br&gt;
    go &lt;br&gt;
c) Capitalize version&lt;br&gt;
The programs runs and when it finds (cap) anywhere in the sentence it changes the word before to cap &lt;br&gt;
sample.txt&lt;br&gt;
   go (cap)&lt;br&gt;
result.txt&lt;br&gt;
   Go&lt;br&gt;
Only the first letter of the word will change.&lt;br&gt;
This program is being implemented through&lt;br&gt;
    func Tocap(text string) string&lt;br&gt;
    func Tolower(text string) string&lt;br&gt;
    func Toupper(text string) string&lt;br&gt;
all of the 3 are done using the above function&lt;/p&gt;

&lt;p&gt;Uppercase, Lowercase and Capitalize for N words.&lt;br&gt;
The program also supports tags like&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;up 2&lt;/li&gt;
&lt;li&gt;low 4&lt;/li&gt;
&lt;li&gt;cap 3&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This means : apply the function to the previous N word.&lt;br&gt;
input&lt;br&gt;
my life (cap, 2) is good.&lt;br&gt;
output&lt;br&gt;
My Life is good. &lt;br&gt;
The program removes the word in the bracket after converting correctly.&lt;/p&gt;

&lt;p&gt;My life is very good (up, 2)&lt;br&gt;
output&lt;br&gt;
My life is VERY GOOD &lt;/p&gt;

&lt;p&gt;MY LIFE IS (low, 3) good.&lt;br&gt;
my life is good.&lt;br&gt;
The difference between up and cap is that up capitalize the whole word while cap only the first letter of the word.&lt;/p&gt;

&lt;p&gt;You implemented using this function:&lt;br&gt;
TolowerN&lt;br&gt;
ToupperN&lt;br&gt;
TocapN&lt;/p&gt;

&lt;p&gt;These functions: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Detect the keyword like (up)&lt;/li&gt;
&lt;li&gt;Read the number in the next word like (3)&lt;/li&gt;
&lt;li&gt;Loop backwards and update the previous N words&lt;/li&gt;
&lt;li&gt;Remove the formatting tags from the final output&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hexadecimal conversion (hex)&lt;br&gt;
When (hex) appears, the word before it is treated as a hexadecimal number and converted to decimal.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
   1E (hex)&lt;br&gt;
output &lt;br&gt;
    30 &lt;/p&gt;

&lt;p&gt;It is being handled by this function:&lt;br&gt;
    func Hexadecimal(text string) string&lt;br&gt;
    strconv.ParseInt(word, 16, 64)&lt;br&gt;
uses a string convert &lt;/p&gt;

&lt;p&gt;Binary conversion (bin)&lt;br&gt;
When (bin) appears, the word before it is treated as a binary and it is converted to decimal.&lt;/p&gt;

&lt;p&gt;Example: &lt;br&gt;
   10(bin)&lt;br&gt;
output&lt;br&gt;
    2&lt;br&gt;
This is the function used:&lt;br&gt;
     func Binary(text string) string&lt;br&gt;
     strconv.ParseInt(word, 2, 64)&lt;/p&gt;

&lt;p&gt;FIXING PUNCTUATION&lt;br&gt;
One important part of the project is puntuation formatting.&lt;br&gt;
The rules include:&lt;br&gt;
a) punctuation like . , ! ? : ; must be attached to the previous word&lt;br&gt;
b) there should be a space after punctuation (when needed)&lt;br&gt;
c) special groups like ... or !? must stay together&lt;br&gt;
d) quotes ' ' must not contain extra spaces inside&lt;/p&gt;

&lt;p&gt;This is implemented using this function &lt;br&gt;
    func Punctuation(text string) string&lt;br&gt;
This function uses many Strings.ReplaceAll() calls to remove wrong space and fix punctuation.&lt;br&gt;
It is easy to implement and understand.&lt;/p&gt;

&lt;p&gt;FIXING "a" to "an"&lt;br&gt;
The final grammar rule is :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Replace "a" with "an" when the next word starts with
a) a vowel (a,e,i,o,u)
b) or the letter h
Example: a untold story
output 
an untold story&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Used this function:&lt;br&gt;
func FixAtoAn(text string) string&lt;/p&gt;

&lt;p&gt;WHY I USED string.Fields()&lt;br&gt;
In most cases i used :&lt;br&gt;
word := strings.Fields(text)&lt;/p&gt;

&lt;p&gt;This is important because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;splits the text into words &lt;/li&gt;
&lt;li&gt;removes extra spaces automatically&lt;/li&gt;
&lt;li&gt;makes it easier to scan word by word and detect tags like (up)
After converting the strings it joins it using strings.Join(words, " ")&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;PROGRAM FLOW(pipeline style) &lt;br&gt;
In main.go i applied the function pipeline:&lt;br&gt;
 text = Toupper(text)&lt;br&gt;
text = Tolower(text)&lt;br&gt;
text = Tocap(text)&lt;br&gt;
text = Hexadecimal(text)&lt;br&gt;
text = Binary(text)&lt;br&gt;
text = TolowerN(text)&lt;br&gt;
text = ToupperN(text)&lt;br&gt;
text = TitleN(text)&lt;br&gt;
text = Punctuation(text)&lt;br&gt;
text = FixAtoAn(text)&lt;br&gt;
This makes the program easy to read because every function focuses on one task&lt;/p&gt;

&lt;p&gt;What i learnt from this project:&lt;br&gt;
This project helped me learn how to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Work with command-line arguments using "os.Args"&lt;/li&gt;
&lt;li&gt;Convert strings into numbers strconv
3.Manipulate words using loops and string functions&lt;/li&gt;
&lt;li&gt;Build a program using a step by step transformation approach.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CONCLUSION&lt;br&gt;
Go-reloaded is a simple but powerful text formatting tool that automatically edits text using  special tags like (up), (hex) and also correct punctuation and grammar.&lt;br&gt;
The project improved my understanding of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;File handling in Go &lt;/li&gt;
&lt;li&gt;string processing&lt;/li&gt;
&lt;li&gt;building algorithms for real text problems
It also taught me how to write code that is readable by separating each rule into its own function&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CHALLENGES FACED DURING THIS PROJECT&lt;br&gt;
The challenges i faced was time management, submitting the project on time was quite difficult.&lt;br&gt;
Writing the whole code for the first time was challenging i had to redo it over and over again to get it right with the proper out put.&lt;/p&gt;

&lt;p&gt;Got a question or suggestion? Drop a comment, i would love to hear your thoughts.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>go</category>
    </item>
  </channel>
</rss>
