I built pushcv, a local-first CLI for tracking job applications

Built an open-source CLI to make job hunting feel more like a developer workflow.

pushcv lets you:

  • 📋 Track applications on a terminal Kanban board
  • 🔎 Scrape LinkedIn job postings into a local SQLite database
  • ✍️ Generate ATS-optimized resumes and cover letters using a local LLM
  • 💰 Estimate salary ranges
  • 📝 Keep notes and follow-up timelines for every application
  • 📦 Export everything to JSON or CSV

The project is local-first by design:

  • No accounts
  • No telemetry
  • No cloud backend
  • Your application data stays in a local SQLite database
  • Resume generation runs against your own local model

Built with Python, Typer, Rich, SQLModel, and SQLite.

I'd love any feedback, feature requests, or contributions!

GitHub: https://github.com/notnotparas/pushcv-cli

u/mostaptname — 2 days ago

I built pushcv, a local-first CLI that makes job hunting feel like Git 🚀

It's an open-source, local-first CLI that helps you manage your entire job search from the terminal.

Features

  • 📋 Track applications on a terminal Kanban board (Drafting → Applied → Interviewing → Closed)
  • 🔎 Scrape LinkedIn job postings with a single command
  • ✍️ Generate ATS-optimized resumes and cover letters using a local LLM
  • 💰 Estimate salary ranges for jobs
  • 📝 Keep a timeline of notes and follow-ups for every application
  • 📦 Export everything to JSON or CSV

Everything is stored in a local SQLite database.

No accounts.
No telemetry.
No subscriptions.
No API keys required.

The only network calls happen when you explicitly ask to scrape a job posting or fetch salary information.

A typical workflow looks like this:

pushcv init

pushcv fetch <linkedin-url>

pushcv status

pushcv draft 1

pushcv move 1 applied

pushcv note 1 "Recruiter replied today"

The project is still early, and I'd really appreciate feedback from the community.

I'm especially interested in hearing:

  • What features are missing?
  • Does the CLI workflow feel natural?
  • What would make this genuinely useful during a job search?

GitHub:

https://github.com/notnotparas/pushcv-cli

Thanks for taking a look!

u/mostaptname — 2 days ago
▲ 7 r/notebooklm+1 crossposts

I have been working on an AIOps/LLMOps course and decided to use AI tools end-to-end for the first video and not just for writing, but for the full production pipeline

The stack I used:

Claude: course content, lecture structure, Jupyter notebook labs, video transcript [Hands-On Lab video coming up next week]

NotebookLM: fed it the transcript + source PDF to generate a video overview and fact-check the structure

ElevenLabs: audio narration from the transcript Claude helped write

Canva + Adobe Firefly: thumbnails, graphics, and editing

The audio overview sounded great on first listen, but when I went through it carefully for a technical video, it was full of invented filler that added nothing. For a casual explainer this probably doesn't matter. For a course where accuracy is the whole point, it meant a full manual edit pass to strip out the garbage. Ended up costing me way more time than I thught.

Did anyone find a way to get cleaner, tighter audio output without the padding? Or is manual editing just the cost of using it for anything technical? [The workflow still compressed maybe 3-4 days of content work into a few hours 😄 ]

For your feedback: https://youtu.be/Uiqy52KY1VM?si=l8-gs3M1FQbB6KBe

For anyone doing educational content in the ML/AI space: what's your production stack?

u/mostaptname — 2 months ago