PaddySpeaks
Product Design & Systems
Design Spec · Working Prototype

The Feed Is Winning. Your Career Isn’t.

Alex opens LinkedIn and closes it. He opens CareerOS and keeps reading. Same data, both times. The only difference is what the software was told to maximize.

Tuesday, 7:40 a.m.

Alex Chen is a Staff Data Engineer. He wants to move into AI infrastructure. He has twenty minutes before his first meeting.

He opens LinkedIn

  • A marathon medal, captioned as a lesson about resilience in enterprise sales
  • A work anniversary for someone he met once in 2016
  • “Agree? 👇”
  • Twelve people viewed your profile — upgrade to see who

He closes it.

He opens CareerOS

The first card says:

One missing Kubernetes example is costing you twelve interviews.

He keeps reading.

That is the whole argument. Everything below is how you build the card on the right.

Both products had the same information. Both knew Alex is a Staff Data Engineer, what he has published, who is hiring for his skills, and which of his skills are invisible. One used that to sell him a subscription. The other used it to tell him something true and useful within four seconds.

This is not a failure of execution. Somebody wrote down time spent and sessions per week, and a very competent engineering organisation optimised for them for fifteen years, brilliantly.

The feed is not broken. The feed is winning.

So I built the alternative instead of writing another complaint about it. CareerOS is a working interactive prototype — nine screens, seven modes, all of it clickable: open it here. This is the design spec behind it.


The same inputs, two objective functions, two completely different outputs Identical professional signals feed two systems. LinkedIn maximizes engagement and outputs followers, likes, posts and feed. CareerOS maximizes opportunity and outputs interviews, mentors, roles and career growth. SAME INPUTS who is hiring · what you published · your demonstrated stack peer validation · which recruiters actually reply LinkedIn maximize engagement CareerOS maximize opportunity followers likes posts feed interviews mentors roles career growth ONE DECISION APART
THE INPUTS ALREADY EXIST. ONLY THE OBJECTIVE FUNCTION CHANGES.

01 What Professional Intelligence actually means

The category has been described for years. It has never been defined.

Social networking connects people. Professional networking connects people and calls it a career tool. Neither reasons about your situation. So here is the definition I would defend:

Professional Intelligence
A system that reasons about your professional situation — what you can demonstrate, what you are trying to become, and who is looking for exactly that — and can explain every conclusion it reaches in terms of the outcome it would produce for you.

Three tests, all of which must pass. It reasons rather than ranks by popularity. It explains rather than asserts. And it is measured on what happened to your career, not on how long you stayed. Fail any one and you have a social network with a professional theme.

That definition has teeth. It rules out almost everything currently sold as career software, including most of what has “AI” in the marketing.


02 The same product, a different job

Intent is an input, not a profile field. Seven of them, each its own persona.

A person in the same job wants completely different things in different months. In March they are hiring. In September they are quietly looking. So CareerOS puts a control in the top navigation reading Today I am, with seven states. Changing it re-ranks everything.

Scene two — Amara, VP Engineering, hiring

She switches her intent to Hiring. The dashboard reassembles. Instead of roles, she gets candidates ranked on published work. Instead of a follower count, she gets a panel titled Where your hiring is actually stuck:

Your posted band is below three of your five strongest candidates. This is the most likely reason your last two finalists declined.

No hiring tool tells her that. Most blame the market.

The CareerOS dashboard in the Hiring intent state Amara switched to: a left rail with her identity and an eight-dimension reputation score, a centre column of hiring summary cards and a candidate at 93% evidence match with the reason she surfaced, and a right rail of notifications that each state why they appear.
WHAT AMARA SEES. THE SAME DATA, RE-RANKED THE MOMENT SHE CHANGED ONE CONTROL.
Scene three — Nadia, Principal Engineer, mentoring

She switches to Mentoring. She does not get a feed. She gets one line:

Someone asked for you by name. An engineer named you as the person who had written about this trade-off.

Her mentorship score is 96, the highest in her organisation. The dimension directly beneath it is not: open-source contribution sits at 52, with one line of explanation — your work is nearly all internal. The product says so rather than rounding her up, because flattering her would not help.


03 Evidence, not endorsement

A skill nobody can point at is a claim.

Endorsements measure reciprocal politeness, and everyone involved knows it. CareerOS does not count them. Every skill carries its evidence, and — the part that makes people uncomfortable — the gaps a hiring manager would find anyway.

SkillStrengthWhat backs itWhat is missing
Lakehouse architecture Strong · 90 Framework adopted by three teams; cited by two practitioners
Kubernetes Medium · 54 Mentioned in two project descriptions No public leadership example; last demonstrated 18 months ago; affects 12 job matches
ML / feature infrastructure Emerging · 41 A prototype that never reached production No production serving path on record; affects 9 job matches

Column three is what every profile shows you. Column four is what actually decides the outcome.

Note the framing of the gap. Not a percentage — a count of real roles. “Your Kubernetes signal is 54%” motivates nobody. “One gap is holding twelve roles below your threshold, and you already did the work — you just never published it” is a Tuesday evening task.


04 A score you can audit, and switch off

The alternative to a mysterious number is not no number.

CareerOS shows a reputation score — 782 out of 1000 — across eight dimensions, each one expanding to reveal exactly what it was computed from: three architecture articles, two peer endorsements from engineers who reviewed the work, four verified project outcomes, recent work weighted more heavily.

Four things keep it from being dystopian. It is visible only to its subject. Low-sample dimensions are labelled provisional rather than scored confidently. Follower count is excluded, and the panel says so. And there is a Hide button that works and does not nag.

The dimension that earns the design is leadership: 61 — the lowest of the eight, sitting directly under technical credibility at 88. A reputation panel that only tells you what you are good at is a compliment, not an instrument.


05 The agent explains; it does not nudge

Five findings a quarter, each one an evidence chain.

“Career AI” usually means a prompt to post more. The CareerOS agent is bound to a schema, and every finding must fill all five slots: what happened, why it matters, the evidence, one recommended action, and the expected benefit against the effort it costs.

The schema does the real work by what it forbids. “Improve your profile.” “Network more.” “Stay active.” None of them can fill five slots — which is the entire reason the slots exist.

Here is one finding, complete:

Act this week

What happened. Three hiring managers viewed your profile after searching for AI platform experience. All three left within forty seconds of reaching your skills section.

Why it matters. Your Kubernetes work is not visible. It is the first requirement in two of the three roles they are hiring for.

Evidence. Twelve roles sit between 72% and 84% because of this one gap. Your résumé names the operator work. Your evidence section does not.

Benefit and cost. Twelve roles cross your threshold, two of which you already saved. About forty minutes — the material exists, it simply is not published.

This idea is bigger than the space it gets here, and it deserves its own piece. I am writing it.


06 The uncomfortable numbers stay on screen

This is where the thesis costs something.

Recruiter trust. Every recruiter carries eight aggregated metrics — response time, ghosting rate, interview transparency, role accuracy. One recruiter in the prototype has a 54% response rate and elevated ghosting, and it is shown, with a confidence range and a note that agency recruiters often carry roles whose process they do not control. Metrics are suppressed below ten responses. The purpose is calibration, so you know how much hope to invest in a conversation.

Your real odds. One job card reads: “Low odds, worth reading. An internal candidate is already in the process.” No job board tells you this, because telling you costs them an application.

Whether the role is even real. Every role carries a verification date and a plain statement. Saved roles are re-verified weekly and archived when they close, so nobody spends an evening preparing for a role that shut eleven days ago.

And the primary button on a job card is not Apply. It is View role story — why the role exists, what the first six months actually look like, what happened to the last two people in the seat. One-tap apply optimises application volume, which serves the platform and nobody else in the transaction.


07 Eight people, one product

The same screen, assembled for eight different professionals.

Intent is easy to claim and hard to build. The first test is whether the identity changes with the workspace, not just the content list. If the rail still says “Staff Data Engineer, open to Principal roles” while the centre column shows candidates to hire, the product is incoherent and the user cannot tell which side of the table they are on.

The second test is harder, and I failed it first time round. In an earlier build every mode showed the same name. Alex Chen was the candidate, and Alex Chen was also the hiring manager assessing candidates, and Alex Chen was the professional who was not looking. It read as one man with an identity crisis. Worse, it hid the actual claim: these are not seven moods of one person, they are seven jobs, and the product owes each of them a different set of numbers.

So every mode is now a different professional — and each of them already exists inside the prototype’s world. Wei Lin, Priya Ramaswami, Nadia Rhee, Jonas Ferreira, Lena Vogt, Amara Osei and Renata Okafor all appear in Alex’s network before you ever switch to them. Changing mode moves you to someone you could already see from where you were standing.

Each carries their own record: their own reputation score with its own eight dimensions, their own evidence, their own communities, their own thin spots. Nobody is shown someone else’s career. And nobody is recommended to themselves, which the single-identity build did constantly.

Here are four of them in full. Note what changes: the person, the badge, the job title, the focus panel, the numbers that are counted, the search scope, and which alerts qualify.

Candidate Alex Chen Staff Data Engineer · Ridgeline Health
CareerOS for a candidate: Alex Chen badged Open to roles, a career-goal focus panel, a reputation score, and signals about hiring managers who searched for his expertise.
Focus panel
Career goal — AI infrastructure or data platform leadership
Counts
Role matches, hiring managers who viewed you, profile dwell time
Search scope
Roles, hiring managers, recruiters, skills
Top signal
“A hiring manager searched for expertise matching your profile”
Professional Wei Lin Staff Engineer, Distributed Systems · Meridian
CareerOS for a professional not job hunting: Wei Lin badged Not looking, a current-focus panel about compliance boundaries, practice counts covering what he read and answered, and no job-search signals at all.
Focus panel
Current focus — compliance boundaries, and what they do to platform design
Counts
Read to the end, saved for reference, questions you answered
Search scope
Practitioners, writing, working groups, papers
Top signal
“Your article was cited in a hiring discussion”

Not looking means not collected. Wei has no career goal on record, so the goal panel is not rendered empty for him — it is absent. Job-search signals are not merely hidden either: they are not gathered, and the rail says so in a line he can read. A product that quietly keeps scoring your job-search intent while displaying “not looking” is lying with a toggle.

Hiring manager Amara Osei VP Engineering · Fathom Health AI
CareerOS for a hiring manager: Amara Osei badged Hiring manager with the title VP Engineering, an Active hiring focus panel naming the open requisition, hiring overview counts, team activity, and candidate-side signals.
Focus panel
Active hiring focus — the requisition, not her own goal
Counts
Qualified candidates, interviews scheduled, time to first interview
Search scope
Candidates, roles, skills, companies
Top signal
“Imani Brooks is moving forward”
Recruiter Renata Okafor Technical Recruiter · Cedarpoint Data
CareerOS for a recruiter: Renata Okafor badged Recruiter, an active-requisitions focus panel, and an overview showing her own measured record including response rate and ghosting rate.
Focus panel
Active requisitions — 5 roles across 3 companies
Counts
Her own response rate, ghosting rate, role accuracy
Search scope
Candidates by demonstrated work, not keywords
Top signal
“Imani Brooks is moving forward”

The recruiter sees her own scorecard. Response rate, ghosting rate and role accuracy sit in her left rail, with a line underneath: candidates can see these figures before they reply to you. Transparency that only points outward is just surveillance with better branding.

The other four people

Intent has seven states, and each one gets its own person rather than borrowing another’s. These four are in situations that are not a job search, and none of them is measured on anything a job search would measure.

Open to conversations

Connector — Priya Ramaswami

Senior Data Engineer, Northwind. Counts first messages that got a reply, and conversations still going.

Never counts: total connections. A contact you never speak to is not a connection.

Mentoring

Mentor — Nadia Rhee

Principal Engineer, Ridgeline Health. Surfaces questions where someone named her specifically, and tracks mentees.

Only counts: mentees who confirmed. Claims do not count themselves.

Building

Builder — Jonas Ferreira

Founder, Tessellate. Collaborators, open-source work, and founders near the problem he is already in.

Shows honestly: commercial packaging, Emerging — the thing he is worst at is the thing that decides whether the company survives.

Exploring

Explorer — Lena Vogt

Data Platform Lead, Cobalt Health. Adjacent fields and transition stories, one step outside the work she already does well.

Private by default: she also appears in Amara’s candidate list — surfaced on her published work, never on what she has been reading. Both screens are in this prototype, and they agree.


08 The dashboard is yours to arrange

A default is a starting point, not a verdict on how you work.

Personas ship with a sensible arrangement, but the person using the product knows their job better than the person who designed it. Every panel can be moved, removed or added back, in any of the three regions.

The CareerOS dashboard customiser open: three columns headed Left rail, Main column and Right rail, each listing its panels with up, down and remove controls, and chips underneath for adding panels that are not currently placed.
EVERY PANEL IS ADDRESSABLE. LAYOUTS ARE STORED PER MODE, SO A HIRING ARRANGEMENT IS NOT A JOB-SEARCH ARRANGEMENT.

Three decisions worth naming:

Layouts are per mode, not global. Rearranging a hiring dashboard does not disturb a job-search one. They are different jobs — in this prototype, different people — and a single stored layout would force one to compromise for the other.

Panels move with buttons, not drag-and-drop. Dragging is hostile to keyboard and screen-reader users, and a dashboard people depend on is exactly the wrong place to require a mouse. The whole customiser is operable from the keyboard, and each move is announced.

One panel cannot be removed. Identity is marked always on. A product whose entire premise is that you should always know which professional situation you are in cannot let you hide the thing that tells you.


09 How you would know it worked

A different objective needs a different scorecard.

This is the most likely place for the whole idea to quietly die — eighteen months in, when someone builds a growth dashboard out of habit.

Success

  • Placements per active job seeker, and time to placement
  • Share of first messages that get a real reply
  • Candidate-reported quality of the processes it routed them into
  • Mentor relationships both sides confirm six months later
  • Market-wide ghosting rate, trending down

Explicitly not success

  • Daily active users
  • Session length
  • Posts per user
  • Feed impressions
  • Connection count

The honest tension is a business one, and it is worth naming rather than hiding: a product that works this way gets used less. The user gets what they came for and leaves. That is fatal under advertising and fine under subscription, or fees tied to actual hires. You cannot adopt the thesis and keep the business model — and pretending otherwise is how a thesis erodes one quarter at a time.

Click through it

The CareerOS prototype

Nine views, eight people, fully interactive. Switch the intent chip and watch the dashboard reassemble around a different professional — new identity, new numbers, new reputation, new thin spots. Open any “Why this?” panel. Press / for conversational search.

Open the prototype →

Independent design concept. Every person, company, role and metric in it is invented. It uses no branding or visual asset belonging to any existing network, and is not affiliated with one. Nothing you do in it leaves your browser.

Professional networking optimized attention.
The next generation should optimize human opportunity.

Alex still has twelve interviews he cannot see. The information needed to find them already exists, on a platform he already pays attention to. That is not a technology problem. It is a choice about what to rank.

Technical appendix — how the prototype is built

What matters to a reader: it is fast, it is private, and it runs entirely in your browser. There is no backend, no analytics, and no network request after the fonts load. Your intent, saved items and preferences persist locally and go nowhere.

For anyone who wants the detail: no build step, no framework, no runtime CDN. Forty-four ES modules — nine views, twenty-three components, nine mock-data modules, a state store, a template helper and a shell — assembled with a small escaping template helper. Components emit data-action attributes and one delegated listener dispatches them, so every state change is auditable from a single file.

Two of those data modules carry the persona work. personas.js holds who each of the eight people is — name, badge, title, employer, search scope, rail composition, default layout — and profiles.js holds what each of them has actually done. Every component reads the active persona rather than a global signed-in user, which is the change that stopped one man appearing as three different roles.

Accessibility was treated as a design constraint rather than a checklist. No meaning is carried by colour alone — every match score renders a number, a proportional bar and a word. The full palette clears WCAG AA at 4.5:1; two tokens were darkened to get there. Twenty-eight scripted interaction checks pass across desktop and mobile viewports with no console errors.

If you work on a professional network and any of this reads as naive, I would genuinely like to hear which part. The constraint I am underestimating is more interesting to me than the agreement.