<?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: Clarence Odaro</title>
    <description>The latest articles on DEV Community by Clarence Odaro (@clarrydaro).</description>
    <link>https://dev.to/clarrydaro</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%2F3975674%2Fb8876eb5-aeaa-4d86-828c-aeef4e67eaea.jpg</url>
      <title>DEV Community: Clarence Odaro</title>
      <link>https://dev.to/clarrydaro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/clarrydaro"/>
    <language>en</language>
    <item>
      <title>How I Built and Launched an AI-powered Bible App with React Native, Firebase, and OpenRouter</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Sun, 12 Jul 2026 08:54:20 +0000</pubDate>
      <link>https://dev.to/clarrydaro/how-i-built-and-launched-an-ai-powered-bible-app-with-react-native-firebase-and-openrouter-7o1</link>
      <guid>https://dev.to/clarrydaro/how-i-built-and-launched-an-ai-powered-bible-app-with-react-native-firebase-and-openrouter-7o1</guid>
      <description>&lt;p&gt;Last week, I launched Daily Reflection, an AI-powered Bible devotional app that I built completely on my own.&lt;/p&gt;

&lt;p&gt;The app delivers a fresh AI-generated devotional every morning, offers an offline Bible, AI-powered Bible chat, guided prayer, and Scripture recommendations based on emotions. Building it taught me a lot about AI architecture, cost optimization, Firebase security, and shipping a real product as a solo developer.&lt;/p&gt;

&lt;p&gt;In this article, I’ll share the technical decisions behind the app, the challenges I faced, and what I learned during the process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem I Was Solving&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most Bible apps feel like digital libraries. You open them, search for a verse, read it, and close them. There is no personalization, no conversation, no sense that the app actually knows what you are going through.&lt;br&gt;
I wanted something different. I wanted a Bible app that felt like a wise friend who shows up every morning with a fresh word just for you, and stays available all day when you need guidance or prayer.&lt;br&gt;
That is Daily Reflection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the App Does&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every morning at a fixed time, a GitHub Actions workflow fires, calls OpenRouter, generates a completely unique AI devotional based on a Bible verse, and saves it to Firestore. Every user who opens the app that day reads the same fresh devotional, generated once, served to everyone. This means one AI call per day regardless of how many users the app has.&lt;/p&gt;

&lt;p&gt;The core features are:&lt;br&gt;
    1.  Fresh AI devotional every morning, never repeating&lt;br&gt;
    2.  Verse of the day from a free Bible API, different every day&lt;br&gt;
    3.  Full KJV Bible reader&lt;br&gt;
    4.  AI Bible Chat and Prayer Guide available 24/7&lt;br&gt;
    5.  Emotions feature for scripture-based emotional support&lt;br&gt;
    6.  Daily streak tracking to build consistency&lt;/p&gt;

&lt;p&gt;The Tech Stack:&lt;br&gt;
    • React Native with Expo for the mobile app&lt;br&gt;
    • Firebase and Firestore for the backend and auth&lt;br&gt;
    • OpenRouter with for AI generation&lt;br&gt;
    • GitHub Actions for the daily devotional cron job&lt;br&gt;
    • Vercel for the backend API and landing page&lt;br&gt;
    • Paystack for payments&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Hardest Parts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building solo means every bug is your problem. &lt;br&gt;
Some of the hardest things I dealt with:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The daily devotional caching system
I did not want every user triggering a separate AI call when they open the app. The solution was a GitHub Actions cron job that generates the devotional once daily at 3am and stores it in Firestore. Every user just reads from Firestore. Zero per-user AI cost for the core feature.&lt;/li&gt;
&lt;li&gt;Firestore security rules. 
Getting the rules right so users can only read their own data while the GitHub Actions admin can write devotionals was trickier than expected.&lt;/li&gt;
&lt;li&gt;Keyboard behavior on Android. 
React Native keyboard handling across different Android devices is genuinely painful. Different manufacturers handle it differently and there is no perfect solution.&lt;/li&gt;
&lt;li&gt;The Stack Cost
My total OpenRouter spend across all testing is under $0.25. The caching strategy means the AI cost scales almost nothing with user growth since the devotional is generated once for everyone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What I Shipped&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Daily Reflection is live on Google Play today. Free to download with a Pro upgrade at 5,000 Naira per month for unlimited AI features.&lt;/p&gt;

&lt;p&gt;If you are building something in the faith tech space or just curious about how I put this together, drop a comment. Happy to answer questions.&lt;/p&gt;

&lt;p&gt;Download Daily Reflection on Android:&lt;br&gt;
&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.cdttech.dailyreflection" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.cdttech.dailyreflection&lt;/a&gt;&lt;br&gt;
Landing page:&lt;br&gt;
&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;a href="https://daily-reflection-c.vercel.app" rel="noopener noreferrer"&gt;https://daily-reflection-c.vercel.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How I increased DocPilot's conversion rate by removing the signup wall</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Thu, 02 Jul 2026 19:53:47 +0000</pubDate>
      <link>https://dev.to/clarrydaro/how-i-increased-docpilots-conversion-rate-by-removing-the-signup-wall-34l1</link>
      <guid>https://dev.to/clarrydaro/how-i-increased-docpilots-conversion-rate-by-removing-the-signup-wall-34l1</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;DocPilot had 240 visitors in 30 days and only 8 signups.&lt;/p&gt;

&lt;p&gt;That's a 3.3% conversion rate. Not terrible, but with 0 paying users it was clear something was wrong.&lt;/p&gt;

&lt;p&gt;I dug into the data and found the issue immediately.&lt;/p&gt;

&lt;p&gt;People were landing on the app, seeing a signup wall before experiencing anything, and leaving.&lt;/p&gt;

&lt;p&gt;232 out of 240 visitors decided DocPilot wasn't worth the friction of creating an account before they'd seen a single result.&lt;/p&gt;

&lt;p&gt;They were right.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;I removed the signup wall from the Resume Score page.&lt;/p&gt;

&lt;p&gt;Now anyone can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Paste their resume&lt;/li&gt;
&lt;li&gt;Get a score out of 100&lt;/li&gt;
&lt;li&gt;See one strength and their overall rating&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All without creating an account.&lt;/p&gt;

&lt;p&gt;Then — and only then — do I ask them to sign up to see their full breakdown including ATS score, impact score, clarity score, 3 improvements and 3 quick wins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Works
&lt;/h2&gt;

&lt;p&gt;The score number creates emotional investment.&lt;/p&gt;

&lt;p&gt;"Your resume scored 61/100" is a powerful hook.&lt;/p&gt;

&lt;p&gt;People want to know what's wrong. They want the full breakdown. They want the quick wins.&lt;/p&gt;

&lt;p&gt;But they only want it AFTER they've seen that the tool actually works and gives real, specific feedback.&lt;/p&gt;

&lt;p&gt;Asking for an email before that moment is asking people to trust you before you've earned it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Implementation
&lt;/h2&gt;

&lt;p&gt;The guest flow works like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unauthenticated user visits /resume-score&lt;/li&gt;
&lt;li&gt;They see the full input form — no signin overlay&lt;/li&gt;
&lt;li&gt;They click Score My Resume&lt;/li&gt;
&lt;li&gt;The API call goes through normally&lt;/li&gt;
&lt;li&gt;Results come back with full data&lt;/li&gt;
&lt;li&gt;We show them the overall score and one strength&lt;/li&gt;
&lt;li&gt;Everything else is blurred behind a signup wall&lt;/li&gt;
&lt;li&gt;They create an account&lt;/li&gt;
&lt;li&gt;sessionStorage preserves their score result&lt;/li&gt;
&lt;li&gt;After signup they see their FULL results immediately&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That last step is important. The moment they sign up they instantly see the value they were promised. &lt;br&gt;
No need to score again. No friction. Just reward.&lt;/p&gt;

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

&lt;p&gt;Value before registration is not just a nice idea. For tools like DocPilot it's the difference between 3% and 30% signup conversion.&lt;/p&gt;

&lt;p&gt;Let people experience the magic first.&lt;br&gt;
Ask for the account second.&lt;/p&gt;

&lt;p&gt;The trust is earned in that moment between seeing their score and wanting to know more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;If you want to see this in action — paste your own resume and see what score you get.&lt;/p&gt;

&lt;p&gt;No signup needed 👉 &lt;a href="https://dev.tourl"&gt;&lt;/a&gt; &lt;a href="https://doc-pilot-c.vercel.app/" rel="noopener noreferrer"&gt;https://doc-pilot-c.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you're building something similar I'd love &lt;br&gt;
to hear how you handle the signup conversion problem &lt;br&gt;
in the comments.&lt;/p&gt;

&lt;p&gt;— Clarry, Solo Founder&lt;/p&gt;

&lt;h1&gt;
  
  
  buildinpublic #showdev #indiehacker
&lt;/h1&gt;

</description>
      <category>showdev</category>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>career</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Mon, 29 Jun 2026 19:29:05 +0000</pubDate>
      <link>https://dev.to/clarrydaro/-3g8j</link>
      <guid>https://dev.to/clarrydaro/-3g8j</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8" class="crayons-story__hidden-navigation-link"&gt;Why 75% of Resumes Get Rejected by ATS (And How to Fix Yours in 2026)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/clarrydaro" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3975674%2Fb8876eb5-aeaa-4d86-828c-aeef4e67eaea.jpg" alt="clarrydaro profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/clarrydaro" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Clarence Odaro
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Clarence Odaro
                
              
              &lt;div id="story-author-preview-content-3893082" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/clarrydaro" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3975674%2Fb8876eb5-aeaa-4d86-828c-aeef4e67eaea.jpg" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Clarence Odaro&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 13&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8" id="article-link-3893082"&gt;
          Why 75% of Resumes Get Rejected by ATS (And How to Fix Yours in 2026)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/showdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>What's the worst resume advice you've ever received?

I'll go first: "Keep it to one page no matter what" even if you have 15 years of experience 🙃

Your turn 👇</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Wed, 17 Jun 2026 14:24:39 +0000</pubDate>
      <link>https://dev.to/clarrydaro/whats-the-worst-resume-advice-youve-ever-received-ill-go-first-keep-it-to-one-page-no-2dg6</link>
      <guid>https://dev.to/clarrydaro/whats-the-worst-resume-advice-youve-ever-received-ill-go-first-keep-it-to-one-page-no-2dg6</guid>
      <description></description>
    </item>
    <item>
      <title>Unpopular opinion: your resume isn't bad.

It's just invisible to the software reading it first.

Agree or disagree? 👇</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Sat, 13 Jun 2026 18:14:49 +0000</pubDate>
      <link>https://dev.to/clarrydaro/unpopular-opinion-your-resume-isnt-bad-its-just-invisible-to-the-software-reading-it-28pj</link>
      <guid>https://dev.to/clarrydaro/unpopular-opinion-your-resume-isnt-bad-its-just-invisible-to-the-software-reading-it-28pj</guid>
      <description></description>
    </item>
    <item>
      <title>Why 75% of Resumes Get Rejected by ATS (And How to Fix Yours in 2026)</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Sat, 13 Jun 2026 18:10:59 +0000</pubDate>
      <link>https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8</link>
      <guid>https://dev.to/clarrydaro/why-75-of-resumes-get-rejected-by-ats-and-how-to-fix-yours-in-2026-3cp8</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%2Fgiqbe3oh0klkhbrmk09h.jpeg" 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%2Fgiqbe3oh0klkhbrmk09h.jpeg" alt=" " width="800" height="1076"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Silent Resume Killer Nobody Talks About
&lt;/h2&gt;

&lt;p&gt;You've applied to 50 jobs. Heard back from 2. &lt;/p&gt;

&lt;p&gt;It's not because you're unqualified. It's because your resume never made it past the first filter — a piece of software called an ATS (Applicant Tracking System).&lt;/p&gt;

&lt;p&gt;Here's what's actually happening, and how to fix it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an ATS?
&lt;/h2&gt;

&lt;p&gt;An Applicant Tracking System is software companies use to manage job applications. Before any human reads your resume, the ATS scans it, scores it, and ranks it against other applicants.&lt;/p&gt;

&lt;p&gt;If your resume doesn't score well, it never reaches a recruiter's inbox. You get an automatic rejection email days or weeks later — or sometimes nothing at all.&lt;/p&gt;

&lt;p&gt;Studies estimate roughly 75% of resumes are filtered out at this stage before a human ever sees them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Most Common ATS Killers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Passive Language
&lt;/h3&gt;

&lt;p&gt;ATS systems and recruiters both favor action-oriented language. Compare:&lt;/p&gt;

&lt;p&gt;❌ "Was responsible for managing the marketing team"&lt;br&gt;
✅ "Led a 5-person marketing team, increasing campaign output by 35%"&lt;/p&gt;

&lt;p&gt;The second version uses an action verb (Led) and includes a measurable result. The first reads passively and gives no indication of impact.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Missing Keywords from the Job Description
&lt;/h3&gt;

&lt;p&gt;ATS software often scans for specific keywords that match &lt;br&gt;
the job posting. If the job description says "project management" and your resume says "managing projects," some systems may not recognize them as equivalent.&lt;/p&gt;

&lt;p&gt;Fix: Read the job description carefully and mirror the exact terminology used, where it's honest to do so.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Complex Formatting
&lt;/h3&gt;

&lt;p&gt;Tables, columns, text boxes, headers/footers, and graphics &lt;br&gt;
can confuse ATS parsers. Your beautifully designed resume might look like garbled text to the software reading it.&lt;/p&gt;

&lt;p&gt;Fix: Use simple, single-column layouts with standard section headers (Experience, Education, Skills).&lt;/p&gt;

&lt;h3&gt;
  
  
  4. No Quantified Results
&lt;/h3&gt;

&lt;p&gt;"Helped increase sales" tells the reader nothing. &lt;br&gt;
"Increased sales by 40% over 6 months" tells them &lt;br&gt;
everything.&lt;/p&gt;

&lt;p&gt;Numbers are scannable, memorable, and credible. Every bullet point should answer: how much, how many, or by what percentage?&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Generic Skills Sections
&lt;/h3&gt;

&lt;p&gt;Listing "Microsoft Office, Communication, Teamwork" doesn't differentiate you from anyone else. Be specific to your field and the role you're targeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Actually Check Your Resume
&lt;/h2&gt;

&lt;p&gt;Most advice online tells you WHAT to fix but not HOW to check if your specific resume has these issues.&lt;/p&gt;

&lt;p&gt;I built a free tool called DocPilot that does exactly this. &lt;br&gt;
Paste your resume text and it gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An overall score out of 100&lt;/li&gt;
&lt;li&gt;ATS Compatibility score&lt;/li&gt;
&lt;li&gt;Impact score (how action-oriented and quantified your 
language is)&lt;/li&gt;
&lt;li&gt;Clarity &amp;amp; Readability score&lt;/li&gt;
&lt;li&gt;3 specific strengths&lt;/li&gt;
&lt;li&gt;3 specific improvements
&lt;/li&gt;
&lt;li&gt;3 quick wins you can implement immediately&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's free to try — no signup required to use the basic &lt;br&gt;
features.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://dev.tourl"&gt;&lt;/a&gt; &lt;a href="https://doc-pilot-c.vercel.app/" rel="noopener noreferrer"&gt;https://doc-pilot-c.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Your skills and experience are probably fine. The problem is almost always how they're communicated on paper.&lt;/p&gt;

&lt;p&gt;Fix the 5 issues above, run your resume through an ATS checker, and you'll likely see your response rate improve significantly.&lt;/p&gt;

&lt;p&gt;Job hunting is hard enough without an invisible filter working against you. Make sure your resume is working FOR you.&lt;/p&gt;

&lt;p&gt;If you've struggled with ATS rejections before, I'd love &lt;br&gt;
to hear your story in the comments. And if you try DocPilot&lt;br&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%2Fyrxl2m4t1irzjloywu29.jpeg" 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%2Fyrxl2m4t1irzjloywu29.jpeg" alt=" " width="800" height="699"&gt;&lt;/a&gt; let me know what your score was 👀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Why 75% of Resumes Get Rejected by ATS (And How to Fix Yours in 2026)</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Sat, 13 Jun 2026 17:59:17 +0000</pubDate>
      <link>https://dev.to/clarrydaro/new-article-is-up-2d4p</link>
      <guid>https://dev.to/clarrydaro/new-article-is-up-2d4p</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%2F1w8lgluz2yjp28uwm5vl.jpeg" 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%2F1w8lgluz2yjp28uwm5vl.jpeg" alt=" " width="800" height="1187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 5 most common ATS killers + how to &lt;br&gt;
check if your resume has them.&lt;/p&gt;

&lt;p&gt;Read it 👉&lt;a href="https://dev.tourl"&gt;&lt;/a&gt; &lt;a href="https://dev.to/clarrydaro/i-built-an-ai-resume-scorer-as-a-22-year-old-solo-founder-from-lagos-nigeria-46o8"&gt;https://dev.to/clarrydaro/i-built-an-ai-resume-scorer-as-a-22-year-old-solo-founder-from-lagos-nigeria-46o8&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  buildinpublic #career
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>saas</category>
    </item>
    <item>
      <title>I built an AI resume scorer as a 22-year-old solo founder from Nigeria</title>
      <dc:creator>Clarence Odaro</dc:creator>
      <pubDate>Tue, 09 Jun 2026 10:00:51 +0000</pubDate>
      <link>https://dev.to/clarrydaro/i-built-an-ai-resume-scorer-as-a-22-year-old-solo-founder-from-lagos-nigeria-46o8</link>
      <guid>https://dev.to/clarrydaro/i-built-an-ai-resume-scorer-as-a-22-year-old-solo-founder-from-lagos-nigeria-46o8</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%2Frk669tx830ym08wn5t7v.jpeg" 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%2Frk669tx830ym08wn5t7v.jpeg" alt=" " width="800" height="699"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem I Was Trying to Solve
&lt;/h2&gt;

&lt;p&gt;Most resumes never get read by a human.&lt;/p&gt;

&lt;p&gt;Before a recruiter ever sees your application, it goes through ATS (Applicant Tracking System) &lt;br&gt;
software that automatically filters out candidates based on keywords, formatting, and structure.&lt;/p&gt;

&lt;p&gt;75% of resumes get rejected at this stage.&lt;/p&gt;

&lt;p&gt;The frustrating part? Most people have no idea this is happening. They apply to 50 jobs, hear nothing back, and assume they're not good enough.&lt;/p&gt;

&lt;p&gt;They are good enough. Their resume just isn't optimized for how hiring actually works in 2026.&lt;/p&gt;

&lt;p&gt;I wanted to fix that.&lt;/p&gt;

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

&lt;p&gt;DocPilot is an AI tool for job seekers.&lt;/p&gt;

&lt;p&gt;Here's what it does:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resume Builder&lt;/strong&gt;&lt;br&gt;
ATS-compliant templates with live preview and &lt;br&gt;
one-click PDF export. Three templates — Modern, &lt;br&gt;
Minimalist, and Executive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resume Score&lt;/strong&gt;&lt;br&gt;
Paste your resume and get an instant score out &lt;br&gt;
of 100. Breaks down into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ATS Compatibility score&lt;/li&gt;
&lt;li&gt;Impact score&lt;/li&gt;
&lt;li&gt;Clarity &amp;amp; Readability score&lt;/li&gt;
&lt;li&gt;3 Strengths&lt;/li&gt;
&lt;li&gt;3 Improvements&lt;/li&gt;
&lt;li&gt;3 Quick Wins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the feature I'm most proud of. It gives specific, actionable feedback — not generic tips.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cover Letter Generator&lt;/strong&gt;&lt;br&gt;
Fill in your details and AI writes a tailored, professional cover letter in seconds. The output is fully editable so you can personalize it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LinkedIn Summary Writer&lt;/strong&gt;&lt;br&gt;
Generates a compelling About section based on your experience, industry, and tone preference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Documents&lt;/strong&gt;&lt;br&gt;
All your work saved automatically. Download anytime, re-edit anytime.&lt;/p&gt;

&lt;p&gt;The entire app was built using AI-assisted development. I wrote prompts, reviewed the output, tested, and iterated. No traditional line-by-line coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenges
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PDF Export&lt;/strong&gt;&lt;br&gt;
Getting pixel-perfect PDFs was the hardest part. html2canvas kept throwing "Illegal invocation" errors in production. Switched to @react-pdf/renderer and &lt;br&gt;
rebuilt all three resume templates as proper PDF components. Much better output.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Ship fast, fix later.&lt;/strong&gt;&lt;br&gt;
I spent too long trying to perfect features before launching. The routing bug, the PDF issue, the API key exposure — none of these would have been found without real deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Distribution is harder than building.&lt;/strong&gt;&lt;br&gt;
The app took weeks to build. Getting people to use &lt;br&gt;
it is taking longer. Building is the easy part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price lower than you think.&lt;/strong&gt;&lt;br&gt;
Started at ₦6,500/month. Dropped to ₦3,500 lifetime &lt;br&gt;
after thinking about the Nigerian market. Lower &lt;br&gt;
barrier = more conversions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The vibe coding workflow is real.&lt;/strong&gt;&lt;br&gt;
Google AI Studio + well-written prompts can build &lt;br&gt;
production-ready features fast. The key is knowing &lt;br&gt;
what to ask for and reviewing everything it outputs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ Live at doc-pilot-c.vercel.app&lt;/li&gt;
&lt;li&gt;✅ Launched on Product Hunt&lt;/li&gt;
&lt;li&gt;⬜ First paying customer (coming soon 🙏)&lt;/li&gt;
&lt;li&gt;⬜ $1k MRR (the goal)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;DocPilot is completely free to start.&lt;/p&gt;

&lt;p&gt;The AI features (Cover Letter, Resume Score, LinkedIn Summary) give you 3 free uses before asking you to upgrade.&lt;/p&gt;

&lt;p&gt;Founding Member lifetime access is ₦3,500 — price goes up when we hit 100 users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://doc-pilot-c.vercel.app/" rel="noopener noreferrer"&gt;&lt;/a&gt; &lt;a href="https://doc-pilot-c.vercel.app/" rel="noopener noreferrer"&gt;https://doc-pilot-c.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're a developer who's built something similar &lt;br&gt;
or a job seeker who's struggled with ATS — I'd love to hear from you in the comments.&lt;/p&gt;

&lt;p&gt;And if you find any bugs, please tell me. &lt;br&gt;
I read every response. 🙏&lt;/p&gt;

&lt;p&gt;— Clarence Odaro, Solo Founder at CDT TECH&lt;br&gt;
Twitter handle: &lt;a href="https://x.com/clarry_d_trader?s=21" rel="noopener noreferrer"&gt;&lt;/a&gt; &lt;a href="https://x.com/clarry_d_trader?s=21" rel="noopener noreferrer"&gt;https://x.com/clarry_d_trader?s=21&lt;/a&gt;&lt;br&gt;
 Nigeria 🇳🇬&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>buildinpublic</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
