I Built a Job Search Dashboard Because Job Boards Are a Mess

Job boards are messy, so I built a dashboard to track the roles I care about, watch market churn, and give myself a clearer view of what comes next after the Army.

I Built a Job Search Dashboard Because Job Boards Are a Mess

I’m getting closer to the end of my Army career, which means I have to do the thing every transitioning service member eventually has to do.

Figure out what I want to be when I grow up.

That sounds simple until you actually start looking.

Job boards can be hard to sort through because titles are not always used the same way from one company to the next. A Program Manager role at one company might look a lot like a Project Manager role somewhere else. At another company, those same titles might describe completely different levels of responsibility, technical depth, or leadership scope. Even within the same organization, Program Manager and Project Manager can mean different things depending on the team, department, or mission. That makes it difficult to rely on job titles alone when trying to understand what roles are actually a good fit.

That makes the search harder than it needs to be.

I did not want to spend every morning manually searching the same job boards, reading the same vague job descriptions, and trying to remember whether I had already seen a role before.

So, what do I do?

I build a system.

The Problem With Job Searching

The normal job search workflow is terrible.

Open LinkedIn.
Search a title.
Adjust location.
Adjust remote settings.
Open a dozen tabs.
Read the same corporate language over and over.
Try to remember which one was actually interesting.
Repeat tomorrow.

That works if you are casually browsing.

It does not work very well if you are trying to understand a market.

I’m not just looking for “a job.” I’m a little far out to be doing a large application push, but I still want to know what I can expect when I get to the grind. I’m trying to understand which roles actually match the skills I have built over a 20-year Army career. Project management. Team leadership. Operations. Risk management. Planning. Coordination. Technology work. Making things function when the org chart, the timeline, and reality are all fighting each other.

That is a narrower target than “veteran looking for management job.”

A broad search gives broad results.

Broad results are mostly noise.

The Stack

Of course, it’s not enough to just write a little dashboard that refreshes existing job listings.

I need the system to understand me and what I’m looking for.

I incorporated an AI agent with a dedicated job-hunting skill, a database to store what it finds, and a dashboard to make it all usable. I also have a self-hosted resume builder that helps me maintain my “everything” resume. That version will never be sent to a recruiter because it is five pages of text wall, but it gives me a source record I can use to build custom resumes for specific roles and postings.

The Agent

I set up an OpenClaw agent to search for a narrow scope of jobs that match the kind of work I’m interested in after the Army.

Every morning, it scans several major job boards. It looks for roles that closely align with the background I’m trying to carry forward: project management, team leadership, technical coordination, operations, and the kind of work where being able to organize people and systems actually matters.

It primarily relies on existing API harnesses because I’m trying not to be a menace.

When it finds a new role, it adds it to NocoDB.

When a role disappears from the market, it closes it out. It does not delete the record. It adds the date the role left the market and keeps track of the churn for me.

When something changes, it updates the record.

Nothing magical.

Just useful.

The important part is that I’m not asking it to find every possible job I could technically apply for. That would be useless. I’m asking it to watch a specific slice of the market so I can make better decisions.

The Database

NocoDB is doing the boring part.

That is a compliment.

It gives me a structured place to keep the roles, companies, dates, locations, statuses, and other useful information without turning the whole thing into some giant custom application before I even know what I need.

New jobs come in.

Old jobs get closed out.

Rejected jobs stay in the record instead of disappearing into the void.

That matters because job searching is not just about what is available today. It is also about what keeps showing up, what disappears quickly, which companies are repeatedly hiring, and which job titles are actually worth watching.

A spreadsheet could probably do some of this.

I did not want to fight a spreadsheet.

The Dashboard

Once the data was in place, I used it to help build a dashboard.

The dashboard shows me the jobs currently available, the companies posting them, how many roles are active, how many have closed, and how long these kinds of jobs are staying on the market.

That last part matters.

If the roles I care about are only staying open for a few days, that tells me something. If certain companies keep posting similar positions, that tells me something. If a title keeps appearing but the actual job description is all over the place, that tells me something too.

The dashboard gives me a way to see the market instead of just reacting to whatever listing happens to be in front of me.

That is the real value.

Not automation for the sake of automation.

Clarity.

The Resume

I hosted an instance of Reactive Resume on my homelab. It allows me to quickly change the formatting and layout of my resume while keeping the information intact. I can fit everything cleanly into a two-page format and ensure that all the important items are present.

It exports to PDF, DOCX, or JSON. That last one is a game changer. JSON is highly machine-readable and writable. This means I can export a job-role resume, feed it to my agent with the job description, and get a custom, job-specific resume back in JSON format that can be imported back into Reactive Resume.

Then I read through it, clean up anything weird, and make sure it still sounds like me.

AI as a Tool, Not a Career Counselor

This is where AI is actually useful to me.

Not as a magic career oracle.

Not as a replacement for reading the job description.

Not as a robot that decides my future while I drink coffee and pretend everything is handled.

The agent does the repetitive collection work. It helps keep the database current. It helps me maintain a cleaner picture of the market than I would have if I were doing all of this manually.

Is it perfect? No. In fact, most of the jobs I’ve actually sent resumes to (I’m still in the experimentation phase, mostly testing which roles and resume versions seem to get traction) have been jobs that I found on my own with inspiration from the places that my agent watches.

I still have to think.

I still have to decide which roles are worth applying to.

I still have to clean up the resume.

I still have to look at a job posting and decide whether it is a real fit or just keyword soup wearing a blazer.

AI can gather and organize.

It cannot care about my family, my goals, my limitations, or what kind of life I’m trying to build after the Army.

That part is still on me.

Why I Built It

I built this because I wanted a better view of the transition market I’m preparing to enter.

That is it.

I do not need another generic job alert email. I do not need a dashboard full of motivational nonsense. I do not need a platform telling me I’m a “great match” for a job because one bullet in my resume contains the word “leadership.”

I need a focused tool that tracks the jobs I actually care about.

So I built one.

You can see the dashboard here:

https://transition.gitchegumi.com/dashboard

If you’re interested in program or project management roles around the eastern Twin Cities metro, you’re free to use it too.

It is not meant to replace LinkedIn, Indeed, ClearanceJobs, or any of the other places jobs live. It is just a layer on top of the mess. A way to collect the signal, reduce the noise, and give myself a cleaner picture of what is actually happening.

That feels like a better way to approach the next chapter.

Still figuring it out.

Just with better data now.