<?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: Ayodeji Adesegun</title>
    <description>The latest articles on DEV Community by Ayodeji Adesegun (@ayodejiades).</description>
    <link>https://dev.to/ayodejiades</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1083748%2F2f966e60-48cf-4f37-83cf-b72ddee741d2.png</url>
      <title>DEV Community: Ayodeji Adesegun</title>
      <link>https://dev.to/ayodejiades</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayodejiades"/>
    <language>en</language>
    <item>
      <title>Hacktoberfest Weekend Challenge: Build for a Friend</title>
      <dc:creator>Ayodeji Adesegun</dc:creator>
      <pubDate>Mon, 05 Oct 2026 19:02:40 +0000</pubDate>
      <link>https://dev.to/ayodejiades/hacktoberfest-weekend-challenge-build-for-a-friend-3h1j</link>
      <guid>https://dev.to/ayodejiades/hacktoberfest-weekend-challenge-build-for-a-friend-3h1j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Moye is a free learning app for kids with ADHD, dyslexia, or neither. My friend Ayodeji, who shares my name, is 4 and finds the traditional way of learning boring. Most learning apps run on a clock and a scoreboard. When a child stalls, they get a red flash, a buzzer, and a streak that starts punishing them.&lt;/p&gt;

&lt;p&gt;Moye does the opposite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One question at a time, read aloud on request.&lt;/li&gt;
&lt;li&gt;No timers anywhere.&lt;/li&gt;
&lt;li&gt;A wrong answer gets a hint and a patient honey badger mascot, Moyin. The score never drops.&lt;/li&gt;
&lt;li&gt;Any lesson can be stopped, and the honey you earned is still there afterward.&lt;/li&gt;
&lt;li&gt;A comfort panel for OpenDyslexic font, letter spacing, text size, calm motion, and voice speed.&lt;/li&gt;
&lt;li&gt;Voices in English, Nigerian Pidgin, Yoruba, Hausa, and Igbo.&lt;/li&gt;
&lt;li&gt;A plain-language weekly summary for grown-ups.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works with Wi-Fi off and installs to a phone's home screen.&lt;/p&gt;

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

&lt;p&gt;Live: &lt;a href="https://moye-bay.vercel.app" rel="noopener noreferrer"&gt;https://moye-bay.vercel.app&lt;/a&gt; &lt;br&gt;
There's no sign-up, and it works on a phone. Answer the question on the home page, and the card below shows what Moye decided and why. &lt;/p&gt;

&lt;p&gt;Video: &lt;a href="https://youtu.be/Hp7FgtXbPpc" rel="noopener noreferrer"&gt;https://youtu.be/Hp7FgtXbPpc&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github/ayodejiades/moye" rel="noopener noreferrer"&gt;https://github/ayodejiades/moye&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Next.js 16, React 19, TypeScript, and Tailwind. Progress lives in local storage, so no account or database is needed. A service worker precaches the screens, and Lexend and OpenDyslexic are self-hosted, so there are zero third-party requests.&lt;/p&gt;

&lt;p&gt;The part I'm proudest of is that &lt;strong&gt;no model runs inside the app&lt;/strong&gt;. What happens next is decided by small, readable functions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;lib/mastery.ts&lt;/code&gt; is Bayesian Knowledge Tracing. It updates how likely a child is to know a skill after each answer, then moves them to an easier or harder tier.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lib/honey.ts&lt;/code&gt; does seeded reward drops and the 50-drop daily cap.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lib/streak.ts&lt;/code&gt; does timezone-safe streaks with automatic rest tokens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The 90 questions are validated as JSON by zod. A test renders every question across all themes and locales, and 159 tests pass.&lt;/p&gt;

&lt;p&gt;I built it with an AI coding agent on opencode, which I used for implementation, and kept a &lt;a href="https://github.com/ayodejiades/moye/blob/main/WHAT_IS_REAL.md" rel="noopener noreferrer"&gt;WHAT_IS_REAL.md&lt;/a&gt; that says what is and isn't done. For example, there is no efficacy claim. We have no study showing it improves learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;A closed API wouldn't have fit this app. A child's attempts and reading struggles are sensitive, and I didn't want them sent to a third party. The app also has to work offline, with no API key and no per-child cost, because that's the only way a free app for families stays free.&lt;/p&gt;

&lt;p&gt;Everything it stands on is open: Next.js and React, the OpenDyslexic font (SIL OFL), the browser's Web Speech API, and Bayesian Knowledge Tracing, a published method anyone can inspect. Because the decisions are plain code, a parent or teacher can read exactly why a child was moved up or down. A model's say-so couldn't offer that.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
