JobFlo

The Privacy-First, On-Device AI Job Search Tracker

Master your pipeline, ace every interview with STAR method tracking, and beat the ATS with private, on-device machine learning.

Download on the App Store Download on the Mac App Store
Jobflo - Track Jobs. Trust your Gut. | Product Hunt Featured on PostYourStartup
🔔

Ghost Job Detection

JobFlo watches every open application automatically. A follow-up nudge appears at 14 days, a stale alert at 30, and a no-response flag at 45 — so nothing quietly disappears from your radar.

Follow up 14 days
Stale 30 days
No response 45 days
🎯

ATS Keyword Matching

⚙️ On-device · Privacy First

Ensure your resume aligns with the role. JobFlo's built-in scoring engine compares every application against ATS-friendly keywords and highlights the roles worth your energy — calculated entirely on your device.

🔥

Goal Streaks & Badges

Set a weekly application target and build a streak week over week. Hit milestones — 5 applications, 10, 25, 50 and beyond — and unlock badges as you go. A small but satisfying reminder that momentum compounds.

The Barlow Code

We don't even know you exist.

JobFlo is built on a simple principle: your data belongs to you. Not us. Named after John Perry Barlow — who believed the internet should remain free, open, and ungoverned — the Barlow Code is the privacy philosophy behind everything we build.

🔒

Local Processing

Every calculation — job match scoring, ghost job detection, streak tracking — runs entirely on your device. Nothing is sent to a server to be processed. No cloud inference. No data pipeline. Just your phone, doing the work.

🚫

No External APIs

We don't call home. There are no analytics SDKs, no tracking pixels, no third-party data brokers. When you use JobFlo, the only network request that happens is iCloud sync — directly to Apple's servers, which you already trust.

☁️

Trustless Syncing

Sync between your iPhone and Mac happens through iCloud — a direct device-to-device channel. We never see your data in transit. We can't. The sync architecture is trustless by design: it works without us having to be involved at all.

🗂️

Total Ownership

Your jobs, notes, analytics, and settings live in SwiftData on your own device. Export everything as a spreadsheet, delete it all with one tap, or walk away entirely. Your data doesn't disappear when you unsubscribe — because we never held it to begin with.

Named after John Perry Barlow (1947–2018), author of A Declaration of the Independence of Cyberspace.

Have a bug? Got an idea?

Every little bit helps make this app better!

Upload Screenshot (optional)

Click to upload or drag and drop files here

PNG, JPG, GIF, WebP or PDF

How to use JobFlo

Everything you need to get the most from your job search.

Tap the + button (top-right on iOS, or the toolbar on macOS) to log a new application. Fill in the company name, job title, and pick a status — use Wishlist for roles you're eyeing, or Applied if you've already sent your CV. Add salary, location, a deadline, or a link to the posting — all optional, but useful later.

Open any job and tap its current status badge to cycle through stages: Wishlist → Applied → Screening → Interview → Offer → Accepted (or Rejected/Withdrawn at any point). On iOS you can also swipe left on a card for quick actions. On macOS, click the status pill in the detail panel to update it instantly.

Switch to Board view using the grid icon in the top-right toolbar (iOS) or the Board tab (macOS). Each column represents a stage. Drag a card from one column to another to instantly update the job's status — no tapping into the detail screen needed. Great for a weekly review session when you want to sweep everything at once.

After adding a job or completing an interview round, JobFlo will prompt you to log your gut feeling: 🔥 hot (excited), 😐 meh (neutral), or 💀 dead (not feeling it). You can also set a vibe at any time from the job detail page. The Analytics screen tracks how well your instincts predict actual outcomes — over time you'll learn whether your gut is calibrated.

Once a job reaches Interview status, open it and scroll to the Interview Rounds section. Tap Add Round to log each stage — Phone Screen, Technical, Take-home, Panel, Final, etc. For each round you can record the outcome (Passed, Failed, Awaiting) and a vibe. JobFlo flags rounds where your vibe and outcome don't match — useful data for spotting companies that send mixed signals.

On any job's detail page you'll find a Multiplier Skills section. Add skills that make you a particularly strong candidate for that specific role — things like "system design" or "their tech stack". This acts as a quick-reference prep list before interviews and helps you articulate your fit clearly when talking to recruiters.

The Analytics tab turns your applications into actionable data. On iOS you'll see a pipeline funnel, response rate, callback rate, weekly application pace, and vibe accuracy. On macOS, switch between Funnel, Alluvial, Flow, and Sankey visualisations to see exactly which stages your applications advance through — and where they drop off. Use this to focus energy where it actually converts.

Go to Settings → Goal and set your target role, ideal salary, and key skills. JobFlo's built-in scoring engine compares every application against your goal and surfaces a match score on each job card — so you can immediately see which roles are most aligned with where you want to land. Everything is calculated on your device; no data is sent anywhere. This is especially useful when you're applying broadly and need a signal to decide where to focus your interview prep.

JobFlo automatically watches every application in Applied, Screening, or Interview status. If you haven't logged any activity after 14 days, a Follow up badge appears on the card — a nudge to chase the recruiter. At 30 days it escalates to Stale, and at 45 days the card is flagged as No response. These alerts are calculated from the last time you updated the job, so closing out a round or logging a note resets the clock. Applications in Wishlist, Offer, Accepted, Rejected, or Withdrew status are excluded — only roles where you're actively waiting for a response are monitored.

JobFlo syncs automatically via iCloud — no setup required. Make sure both devices are signed in to the same Apple ID and have iCloud Drive enabled in Settings. Changes you make on iPhone appear on Mac within seconds, and vice versa. There's no manual sync button; it just works in the background. If data seems slow to appear, pulling down on the jobs list triggers a refresh.

Go to Settings → Weekly Goal to set how many applications you want to log each week. The goal progress card on the home screen shows your count against the target and a progress bar that fills as you go. Hit your goal every week and your streak counter climbs — shown as 🔥 weeks on a streak, or 💤 if you missed a week. As your total application count and streak length grow, you'll unlock milestone badges — tap "All badges" on the goal card to see which ones you've earned and which are still locked. There's no AI or external service involved; it's all calculated locally from your own application data.

Go to Settings → Import and select your CSV file. JobFlo works with exports from Teal, Notion, Google Sheets, and Excel. Column mapping is handled automatically for common field names. After the preview looks right, tap Import — all jobs will appear in your list immediately. Your existing jobs won't be overwritten; imports are additive.

Open Settings → Appearance to choose your accent colour, glass intensity, colour temperature, and animation style. Under Accessibility, full colour blind mode support covers Deuteranopia, Protanopia, Tritanopia, and Monochromacy — plus high contrast, reduced transparency, reduced motion, and text size controls. Every setting takes effect immediately with no restart needed.