Independent product case study · Working v1.0

Native macOS product · 2026

ApplyKit

Turning a fragmented job search into a calm, local-first workflow. Designed and built to organize applications, explain role fit, and keep the next decision visible.

Role & responsibilities
Independent product designer and developer · Strategy, UI/UX, SwiftUI implementation, workflow design & QA
Timeline & status
2026 · Working v1.0 · Active independent product
Platform & tools
Native macOS · SwiftUI · Figma · local Codable JSON
Constraints & validation
Private local data · Explainable scoring · Core tracker, imports, reminders, and stage-aware workflows implemented
ApplyKit macOS workspace with status navigation, demonstration job applications, and a selected role’s details and fit score
A Figma reference for the connected workspace, using demonstration data rather than the private live tracker.

01 / Overview

One place for the evidence and the next action.

A serious job search rarely lives in one place. Listings collect in tabs, status updates drift into spreadsheets, and the reason one role looked promising gets harder to recover.

ApplyKit brings saved roles, application state, descriptions, fit evidence, notes, follow-ups, and interview details into one native desktop workspace, without making a hosted account the center of the experience.

  1. 01

    Calm by defaultShow the next decision without turning the search into a dashboard of noise.

  2. 02

    Local by designKeep the core tracker and search profile in readable files on the user’s Mac.

  3. 03

    Explain the scoreSurface the evidence behind role fit instead of presenting an opaque ranking.

02 / Explainable fit

A score that shows its work.

Fit scores create false confidence when their inputs are hidden. ApplyKit uses a deterministic model built from the user’s own priorities.

Target titles contribute 30 points, required terms 50, and preferred terms 20. Avoided terms subtract 10 points each, capped at 30. Matched, missing, and avoided terms stay visible so the score can be questioned.

30Target titles
50Required terms
20Preferred terms
−30Maximum avoided-term penalty

03 / Search profile

Make the model personal and inspectable.

The profile turns general matching into an explicit set of priorities.

Titles and three groups of terms can be edited alongside salary, location, and remote preferences. The result supports judgment instead of pretending to replace it.

Product decisionUse scoring as traceable evidence, not as an automated verdict.
ApplyKit Search Profile reference with target titles, required skills, preferred skills, avoided terms, salary, location, and remote preference
The search profile exposes the inputs behind every score.
5Application statuses
4Scoring signal groups
100Point score model
JSONLocal data core

04 / Stage-aware workflow

Reveal interview tools when they become useful.

Moving into an interview changes the information a person needs to see.

Round, date and time, interviewers, interview type, and preparation notes appear in the job context at that stage. Follow-up and interview reminders remain attached to the same underlying record.

OutcomePreparation stays with the role, its description, score evidence, and earlier notes.
ApplyKit job detail reference showing an Interview status with round, date, interviewers, type, and preparation notes using demonstration data
Stage-specific fields keep interview preparation in the application’s existing context.

Reflection

Clarity, explanation, ownership.

ApplyKit’s value comes less from adding another job board and more from keeping the evidence and next action for every opportunity intact.

The core tracker uses local Codable JSON rather than a remote database. That choice reduces account and infrastructure complexity while matching the sensitive, personal nature of the work.

Next validation pass

Capture the implemented product

Run the current project in full Xcode, replace design-reference screens with sanitized build captures, and verify keyboard and VoiceOver behavior before making broader quality claims.

Evidence first