<?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: Juanita Mumbi</title>
    <description>The latest articles on DEV Community by Juanita Mumbi (@juanita_mumbi_25179d5689f).</description>
    <link>https://dev.to/juanita_mumbi_25179d5689f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4101210%2F9a3e3fcb-5e8d-49a2-9c6b-fab621777f4a.webp</url>
      <title>DEV Community: Juanita Mumbi</title>
      <link>https://dev.to/juanita_mumbi_25179d5689f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juanita_mumbi_25179d5689f"/>
    <language>en</language>
    <item>
      <title>WanderJournal: A digital travelling Journal</title>
      <dc:creator>Juanita Mumbi</dc:creator>
      <pubDate>Mon, 07 Sep 2026 05:27:31 +0000</pubDate>
      <link>https://dev.to/juanita_mumbi_25179d5689f/wanderjournal-a-digital-travelling-journal-3p42</link>
      <guid>https://dev.to/juanita_mumbi_25179d5689f/wanderjournal-a-digital-travelling-journal-3p42</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-09-03"&gt;Weekend Challenge: Generosity Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;When I saw that the theme of this weekend challenge was &lt;strong&gt;generosity&lt;/strong&gt;, I kept thinking about what it actually means to give something to another person.&lt;/p&gt;

&lt;p&gt;We usually think of giving as something physical ; money, food, a gift, something we own.&lt;/p&gt;

&lt;p&gt;But there are smaller things we give each other all the time.&lt;/p&gt;

&lt;p&gt;A recommendation. A story. A photograph. A place we almost walked past. A song that reminds us of home. A tiny piece of a life somebody else would never have known existed.&lt;/p&gt;

&lt;p&gt;That thought became &lt;strong&gt;WanderJournal&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Someone, somewhere, left you a page. Now you can leave one for somebody else.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;WanderJournal is a collection of digital travelling journals. Instead of posting into one endless social feed, people contribute pages to journals built around shared themes.&lt;/p&gt;

&lt;p&gt;One journal might contain food memories from Tokyo. Another might collect discoveries from Seoul, stories from the Kenyan coast, sounds that remind people of home, pieces of nature, or simply ordinary moments from someone's life.&lt;/p&gt;

&lt;p&gt;Each page belongs to a person and a place.&lt;/p&gt;

&lt;p&gt;And when you're finished reading, the journal doesn't end with you.&lt;/p&gt;

&lt;p&gt;You're invited to leave a page of your own.&lt;/p&gt;

&lt;h3&gt;
  
  
  But what happens when we don't speak the same language?
&lt;/h3&gt;

&lt;p&gt;While building WanderJournal, I realized there was a problem with the whole idea.&lt;/p&gt;

&lt;p&gt;If these journals are supposed to travel between different people and different places, then eventually a page is going to reach someone who can't understand the language it was written in.&lt;/p&gt;

&lt;p&gt;I didn't want the answer to be making everyone write in English.&lt;/p&gt;

&lt;p&gt;The whole point is that the journal belongs to everyone.&lt;/p&gt;

&lt;p&gt;So I added translation using &lt;strong&gt;Google AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A reader can choose a language and ask Google AI to translate the page they're currently reading. The translated version is displayed separately, while the contributor's original page remains unchanged and can be returned to at any time.&lt;/p&gt;

&lt;p&gt;That distinction mattered to me.&lt;/p&gt;

&lt;p&gt;AI isn't there to rewrite someone's contribution or replace their voice. It's there to help another person reach it.&lt;/p&gt;

&lt;p&gt;That's why one of the little handwritten notes in WanderJournal says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;language shouldn't be the border&lt;/strong&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that eventually became one of my favourite ideas in the entire project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here is WanderJournal in action:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live application:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://wander-journal-psi.vercel.app/" rel="noopener noreferrer"&gt;https://wander-journal-psi.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtu.be/Frbu9g9fs2k" rel="noopener noreferrer"&gt;https://youtu.be/Frbu9g9fs2k&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The demo follows the experience from discovering a journal, reading somebody's page and translating it with Google AI, to leaving something behind for the next person.&lt;/p&gt;

&lt;p&gt;The loop is intentionally simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discover → Read → Understand → Contribute → Pass it on.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The source code for WanderJournal is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Algo-jtx/WanderJournal" rel="noopener noreferrer"&gt;https://github.com/Algo-jtx/WanderJournal&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built the project during the Weekend Challenge using React and Vite, with Supabase handling persistent data and Google AI powering the translation experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Making a website feel like something that has travelled
&lt;/h3&gt;

&lt;p&gt;One of my first decisions was that WanderJournal shouldn't feel like a normal social platform.&lt;/p&gt;

&lt;p&gt;No rows of identical posts. No likes competing for attention. No profile-first experience.&lt;/p&gt;

&lt;p&gt;I wanted opening it to feel closer to finding a journal somebody had actually passed to you.&lt;/p&gt;

&lt;p&gt;That shaped most of the visual design.&lt;/p&gt;

&lt;p&gt;I used large editorial typography, warm paper-like backgrounds, photographs, handwritten annotations, stamps, slightly rotated elements and different colour identities for different journals.&lt;/p&gt;

&lt;p&gt;The journals themselves are also deliberately structured as collections rather than individual posts.&lt;/p&gt;

&lt;p&gt;A journal has its own theme, location, cover, description and pages. Then each page can have its own contributor, location, story, photograph, original language and small annotation.&lt;/p&gt;

&lt;p&gt;It means that as more people contribute, the journal becomes something no individual contributor could have created alone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building the reading experience
&lt;/h3&gt;

&lt;p&gt;The frontend is built with &lt;strong&gt;React + Vite&lt;/strong&gt;, with reusable components handling the journal cards, page content, navigation, images, annotations and contribution experience.&lt;/p&gt;

&lt;p&gt;I also seeded several journals so that opening WanderJournal for the first time already feels like discovering something that has been travelling.&lt;/p&gt;

&lt;p&gt;Those include journals about food, travel, discoveries, music, nature and personal stories.&lt;/p&gt;

&lt;p&gt;But seeded pages are only the beginning.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Leave a Page&lt;/strong&gt; experience lets a visitor become part of the journal instead of remaining only a reader.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keeping the pages
&lt;/h3&gt;

&lt;p&gt;For persistence, I connected the application to &lt;strong&gt;Supabase&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That lets new contributions move beyond the static demo content and become actual stored pages.&lt;/p&gt;

&lt;p&gt;This was important because the central idea only really works if the next person's contribution can remain after the previous visitor leaves.&lt;/p&gt;

&lt;p&gt;The journal needs to remember.&lt;/p&gt;

&lt;h3&gt;
  
  
  Letting stories cross languages with Google AI
&lt;/h3&gt;

&lt;p&gt;The most interesting technical problem was translation.&lt;/p&gt;

&lt;p&gt;I integrated &lt;strong&gt;Google AI&lt;/strong&gt; into the reading experience so a reader can choose another language and translate the title and body of a contribution.&lt;/p&gt;

&lt;p&gt;But I didn't want the translated result to silently replace what somebody originally wrote.&lt;/p&gt;

&lt;p&gt;Instead, WanderJournal treats it as another way of &lt;em&gt;reading&lt;/em&gt; that page.&lt;/p&gt;

&lt;p&gt;The interface identifies the original and target languages, presents the Google AI translation separately, and gives the reader the option to return to the original.&lt;/p&gt;

&lt;p&gt;That small architectural/UI decision ended up expressing something important about the project:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI should help people understand each other without pretending their differences weren't there in the first place.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting it into the world
&lt;/h3&gt;

&lt;p&gt;Finally, I deployed WanderJournal with &lt;strong&gt;Vercel&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That was particularly satisfying for this project because something built around passing stories between strangers shouldn't end its life running on localhost. :)&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of Google AI
&lt;/h3&gt;

&lt;p&gt;I'm submitting WanderJournal for &lt;strong&gt;Best Use of Google AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted the AI integration to solve a problem that naturally existed in the product rather than add AI simply because there was an AI prize category.&lt;/p&gt;

&lt;p&gt;WanderJournal asks people from different places to give pieces of their lives to people they may never meet.&lt;/p&gt;

&lt;p&gt;Language is therefore a real barrier.&lt;/p&gt;

&lt;p&gt;Google AI becomes the bridge.&lt;/p&gt;

&lt;p&gt;A person can discover a page written somewhere else in the world, translate it into a language they understand, read it, return to the contributor's original version, and then perhaps leave a page of their own.&lt;/p&gt;

&lt;p&gt;The AI isn't the destination.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The other person is.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Took Away From This Weekend
&lt;/h2&gt;

&lt;p&gt;This started as an idea about travelling journals, but somewhere during the build I realized I was making something slightly different.&lt;/p&gt;

&lt;p&gt;I was thinking about how much of the world we experience through tiny things other people choose to share with us.&lt;/p&gt;

&lt;p&gt;Not necessarily their biggest story.&lt;/p&gt;

&lt;p&gt;Sometimes it's breakfast from a convenience store.&lt;/p&gt;

&lt;p&gt;A street they nearly walked past.&lt;/p&gt;

&lt;p&gt;A sound they associate with home.&lt;/p&gt;

&lt;p&gt;Something growing after the rain.&lt;/p&gt;

&lt;p&gt;An extremely ordinary Sunday.&lt;/p&gt;

&lt;p&gt;None of those things seems particularly important on its own.&lt;/p&gt;

&lt;p&gt;But give one to a stranger, and suddenly they get to see a tiny part of the world through somebody else's eyes.&lt;/p&gt;

&lt;p&gt;That's the version of generosity I wanted WanderJournal to explore.&lt;/p&gt;

&lt;p&gt;You don't have to give someone something enormous.&lt;/p&gt;

&lt;p&gt;Sometimes you can just...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;leave them a page.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>Overcoming Imposter Syndrome in My First MLH Hackathon</title>
      <dc:creator>Juanita Mumbi</dc:creator>
      <pubDate>Sun, 30 Aug 2026 10:13:59 +0000</pubDate>
      <link>https://dev.to/juanita_mumbi_25179d5689f/overcoming-imposter-syndrome-in-my-first-mlh-hackathon-1836</link>
      <guid>https://dev.to/juanita_mumbi_25179d5689f/overcoming-imposter-syndrome-in-my-first-mlh-hackathon-1836</guid>
      <description>&lt;p&gt;If you’ve ever looked at a major hackathon page, hovered your mouse over the "Register" button, and hesitated—this post is for you.&lt;/p&gt;

&lt;p&gt;Having participated in local, physical hackathons before, I was no stranger to coding under a deadline. But when I signed up for my first Major League Hacking (MLH) event, a sudden wave of hesitation hit me. I realized I’d be competing against thousands of skilled developers from all over the world—people I didn't know, using stacks I was still mastering. &lt;/p&gt;

&lt;p&gt;I found myself asking... &lt;strong&gt;"Is this even worth my time if I might not win?"&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Purpose of a Hackathon
&lt;/h2&gt;

&lt;p&gt;After taking a step back to reflect on the experience, I came to a realization that changed my perspective completely: &lt;strong&gt;Hackathons are built for personal growth, not just competition.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s easy to focus on the grand prizes, the shiny swag, or who finishes at the top of the leaderboard. But the truth is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prizes are just extra recognition&lt;/strong&gt;: They exist to appreciate top builds, but missing out on a prize doesn't mean your effort was wasted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not winning isn't a failure&lt;/strong&gt;: Not coming out on top simply means you gained experience, found areas to sharpen, and got a blueprint for what to build next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Growth is guaranteed&lt;/strong&gt;: Every line of code you write under time constraints, every new bug you resolve, and every project you attempt makes you a better developer than you were yesterday.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  To Anyone Hesitating to Sign Up
&lt;/h2&gt;

&lt;p&gt;If you are curious about hackathons but scared to try them because of the scale or the competition, &lt;strong&gt;do it anyway&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Step out of your comfort zone. Treat it as a sandbox to test your skills, build cool things, and grow as a person. The real win is proving to yourself that you can take on the challenge and keep coming back to try again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What was holding you back from entering your first hackathon, and how did you get past it? Let's chat in the comments about our experiences during hackathons :)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>mlh</category>
    </item>
  </channel>
</rss>
