<?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: Mahendra Telure</title>
    <description>The latest articles on DEV Community by Mahendra Telure (@mahendra_telure).</description>
    <link>https://dev.to/mahendra_telure</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%2F3986127%2F05365510-d6ae-4fc9-b6a3-f5283d9b9399.jpg</url>
      <title>DEV Community: Mahendra Telure</title>
      <link>https://dev.to/mahendra_telure</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahendra_telure"/>
    <language>en</language>
    <item>
      <title>How I Built an ATS Resume Builder App for Android (And What I Learned)</title>
      <dc:creator>Mahendra Telure</dc:creator>
      <pubDate>Mon, 15 Jun 2026 19:06:50 +0000</pubDate>
      <link>https://dev.to/mahendra_telure/how-i-built-an-ats-resume-builder-app-for-android-and-what-i-learned-2bc1</link>
      <guid>https://dev.to/mahendra_telure/how-i-built-an-ats-resume-builder-app-for-android-and-what-i-learned-2bc1</guid>
      <description>&lt;p&gt;After months of watching friends get rejected by job applications they were qualified for, I discovered the real culprit: Applicant Tracking Systems (ATS). Over 75% of resumes are auto-rejected before a human ever reads them. I decided to fix that by building NextCV — a free Android app that creates ATS-optimized resumes in minutes.&lt;/p&gt;

&lt;p&gt;Here's everything I learned building it.&lt;/p&gt;

&lt;p&gt;The Problem I Was Solving&lt;br&gt;
A close friend of mine — a solid software engineer with 4 years of experience — was applying to 30+ jobs and hearing nothing back. His resume looked beautiful. Designed in Canva. Clean fonts, nice icons, two-column layout.&lt;/p&gt;

&lt;p&gt;The problem? Canva resumes fail ATS scanners completely.&lt;/p&gt;

&lt;p&gt;ATS software (used by 99% of Fortune 500 companies and most mid-size companies) reads resumes like a plain text document. Multi-column layouts break the parsing. Icons and graphics get ignored. Fancy fonts cause character errors. His resume, which looked great to humans, was essentially unreadable to machines.&lt;/p&gt;

&lt;p&gt;He wasn't alone. Most job seekers don't know this.&lt;/p&gt;

&lt;p&gt;Why Mobile-First?&lt;br&gt;
The existing ATS-friendly resume builders (Jobscan, Resume.com, Zety) are all desktop-first. But research shows that over 60% of job applications are started on mobile devices.&lt;/p&gt;

&lt;p&gt;There was a clear gap: a mobile-native, ATS-optimized resume builder that feels as natural as using any other productivity app on Android.&lt;/p&gt;

&lt;p&gt;That became the vision for NextCV.&lt;/p&gt;

&lt;p&gt;What Makes a Resume ATS-Friendly?&lt;br&gt;
Before writing a single line of code, I spent weeks studying how ATS systems work. Here's what I learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Single-column layout&lt;br&gt;
Multi-column resumes confuse parsers. The reading order gets scrambled. A single clean column is always parsed correctly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standard section headings&lt;br&gt;
ATS systems look for specific keywords: Work Experience, Education, Skills. Creative labels like Where I've Been or My Toolkit get missed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No tables, text boxes, or graphics&lt;br&gt;
These are invisible to most parsers. Any information inside them simply doesn't exist as far as ATS is concerned.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standard fonts&lt;br&gt;
Stick to Arial, Calibri, Georgia, Times New Roman. Unusual fonts sometimes render as garbled characters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;.docx or simple PDF&lt;br&gt;
The best ATS parsers handle both, but a "print-to-PDF" from a clean HTML template is typically more reliable than an export from Canva or Figma.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keyword matching&lt;br&gt;
ATS systems score resumes against job descriptions. The closer your language matches the job posting, the higher your score.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every template in NextCV is built around these six rules from the ground up.&lt;/p&gt;

&lt;p&gt;The Tech Stack&lt;br&gt;
I built NextCV as a Flutter Android app backed by a Spring Boot API.&lt;/p&gt;

&lt;p&gt;Flutter (Android)&lt;/p&gt;

&lt;p&gt;Clean Architecture with feature-first folder structure&lt;br&gt;
Riverpod for state management (code generation via riverpod_annotation)&lt;br&gt;
GoRouter for navigation&lt;br&gt;
Firebase Auth (Google Sign-In)&lt;br&gt;
Secure token storage with flutter_secure_storage&lt;br&gt;
Dio for HTTP&lt;br&gt;
Freezed + json_serializable for type-safe models&lt;br&gt;
PDF generation handled server-side (cleaner output, consistent fonts)&lt;br&gt;
Spring Boot (Backend)&lt;/p&gt;

&lt;p&gt;Java 21 with Virtual Threads (spring.threads.virtual.enabled=true)&lt;br&gt;
Spring Security + Firebase token verification&lt;br&gt;
PostgreSQL via Spring Data JPA&lt;br&gt;
Redis for caching and refresh tokens&lt;br&gt;
Flyway for database migrations&lt;br&gt;
iText / OpenPDF for server-side PDF generation&lt;br&gt;
MapStruct for entity ↔ DTO mapping&lt;br&gt;
Soft deletes only — user data is never hard deleted&lt;br&gt;
Why server-side PDF?&lt;br&gt;
Client-side PDF generation on mobile is inconsistent. Fonts render differently, page breaks break, file sizes bloat. Generating on the server gives us full control over the output — pixel-perfect, consistent, ATS-compatible every time.&lt;/p&gt;

&lt;p&gt;The ATS Score Feature&lt;br&gt;
The feature I'm most proud of is the real-time ATS score.&lt;/p&gt;

&lt;p&gt;After building a resume, NextCV analyzes it across four dimensions:&lt;/p&gt;

&lt;p&gt;Keyword match — does it contain industry-standard terms?&lt;br&gt;
Formatting — single column, standard headings, no tables?&lt;br&gt;
Readability — sentence length, action verbs, quantifiable achievements?&lt;br&gt;
Completeness — are all critical sections filled in?&lt;br&gt;
The score is displayed as a percentage with actionable improvement tips. Users can see their score jump in real time as they edit.&lt;/p&gt;

&lt;p&gt;Building this was surprisingly hard. The scoring algorithm went through 11 iterations before I was happy with it. The biggest challenge was avoiding false positives — a highly creative resume for a graphic designer shouldn't be penalized the same way as an engineer's resume.&lt;/p&gt;

&lt;p&gt;The AI Content Suggestions&lt;br&gt;
One of the most common user blockers is the blank page problem — people don't know what to write in their summary or experience descriptions.&lt;/p&gt;

&lt;p&gt;NextCV integrates AI to generate:&lt;/p&gt;

&lt;p&gt;Professional summary paragraphs tailored to job titles&lt;br&gt;
Bullet-point experience descriptions with action verbs&lt;br&gt;
Skills suggestions based on job role&lt;br&gt;
The AI doesn't replace the user — it gives them a strong starting point they can edit. This alone cut our average resume completion time from 23 minutes to 8 minutes in beta testing.&lt;/p&gt;

&lt;p&gt;The Biggest Mistakes I Made&lt;br&gt;
Mistake #1: Building the perfect architecture before validating the idea&lt;/p&gt;

&lt;p&gt;I spent 3 weeks setting up the perfect Clean Architecture, CI/CD pipelines, and testing infrastructure before talking to a single user. Classic over-engineering. I should have validated with a prototype first.&lt;/p&gt;

&lt;p&gt;Mistake #2: Underestimating PDF complexity&lt;/p&gt;

&lt;p&gt;PDF generation sounds simple. It's not. Font embedding, page margins, unicode characters, line height, table-free layouts — every edge case took 2–3x longer than estimated.&lt;/p&gt;

&lt;p&gt;Mistake #3: Ignoring onboarding&lt;/p&gt;

&lt;p&gt;My first beta had a 60% drop-off on the first screen because I asked for too much information upfront. Redesigning the onboarding flow to be progressive (ask for the minimum, reveal more later) doubled completion rates.&lt;/p&gt;

&lt;p&gt;Results So Far&lt;br&gt;
NextCV launched on the Google Play Store and within the first month:&lt;/p&gt;

&lt;p&gt;10,000+ resumes created&lt;br&gt;
4.8/5 average rating&lt;br&gt;
Users in 15+ countries&lt;br&gt;
Average ATS score improvement: from 52% → 87% after using the app&lt;br&gt;
The most rewarding feedback: "I got 5 interview calls in 2 weeks after using NextCV. My previous resume wasn't getting any responses."&lt;/p&gt;

&lt;p&gt;What's Next&lt;br&gt;
The roadmap includes:&lt;/p&gt;

&lt;p&gt;Job description analyzer (paste a JD, get keyword gap report)&lt;br&gt;
Cover letter generator&lt;br&gt;
Resume version A/B testing&lt;br&gt;
iOS version&lt;br&gt;
Try NextCV&lt;br&gt;
If you're job hunting or know someone who is, NextCV is free to download on Google Play.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://nextcvbuilder.online/" rel="noopener noreferrer"&gt;Download NextCV on Google Play&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love feedback from the dev community — especially on the ATS scoring algorithm and AI suggestion quality. Drop your thoughts in the comments.&lt;/p&gt;

&lt;p&gt;Built by Empire Softtech · &lt;a href="https://nextcvbuilder.online/" rel="noopener noreferrer"&gt;nextcvbuilder.online&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>career</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
