Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 2 min read

Show Dev: I scored 16K LinkedIn profiles. Most of them land around 59/100

About a year ago I started a side project: paste a LinkedIn URL, get a 0-100 score for the profile and a list of what to fix. It's called LinkedOptimizer. 250 commits later it has scored 16,775 profiles, and the numbers

About a year ago I started a side project: paste a LinkedIn URL, get a 0-100 score for the profile and a list of what to fix. It's called LinkedOptimizer. 250 commits later it has scored 16,775 profiles, and the numbers are more interesting than I expected, so here they are, plus how the thing is built and a few things I broke along the way.

What the scores look like

The median profile scores 59. The average is 56.

  • 23% score under 40
  • 32% score 70 or higher
  • you need 73 to be in the top quarter, and 82 to be in the top 10%

Each profile gets four section scores. The averages:

Section Avg score
Headline 59
About 57
Skills 57
Experience 53

Experience is the weakest section, and it's the one the overall score weights most, because it's what recruiters spend the most time reading. That combination explains a lot of the low totals.

The fixes the scorer suggests most often are boring. Bullets that list duties instead of results. A headline that's just a job title. An About section of two sentences. Skills that don't match the role you're actually going after (you can give it a target role, and the score changes a lot when you do).

How it works

The stack is plain:

  • Flask app on Google Cloud Run, Postgres, Redis
  • It reads the public profile from the URL you paste, so nobody has to log in with LinkedIn
  • Gemini scores each section against the target role and writes the rewrites
  • Paddle for payments

The part that took the most debugging was rate limits. On busy days Gemini returns 429s. The first version just failed. Now it walks a list of models (several Flash versions) before it rotates API keys, so a 429 on one model usually means the request quietly lands on the next one.

Things I got wrong

I once shipped a typo in a model name. Every single analysis failed until I noticed. There was no alert for "100% of analyses failing", which says more about my monitoring than about Gemini.

I ran a price test on the paid report: $9 vs $4.95. $4.95 won, which surprised me. Round two ($4.95 vs $6.99) is running now.

I also put a heavy blur over the locked part of the report to push upgrades. Two days later I added the opposite: one real, unblurred example rewrite per section, because a blurred box gives people no reason to believe the paid part is any good.

Try it

The score and the diagnosis are free, no signup and no LinkedIn login: linkedoptimizer.ai. If you run your profile through it, I'd like to hear where the score felt wrong. That's the feedback I learn the most from.

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.