<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kei</title>
    <description>The latest articles on Forem by Kei (@tinonet).</description>
    <link>https://forem.com/tinonet</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3806881%2Ff70573f5-cda0-4b75-9d83-2c1dd59a5358.png</url>
      <title>Forem: Kei</title>
      <link>https://forem.com/tinonet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tinonet"/>
    <language>en</language>
    <item>
      <title>I built a feature that appears on its own — and now it is hard to keep up with the job matches</title>
      <dc:creator>Kei</dc:creator>
      <pubDate>Thu, 19 Mar 2026 02:35:31 +0000</pubDate>
      <link>https://forem.com/tinonet/i-built-a-feature-that-appears-on-its-own-and-now-it-is-hard-to-keep-up-with-the-job-matches-27e2</link>
      <guid>https://forem.com/tinonet/i-built-a-feature-that-appears-on-its-own-and-now-it-is-hard-to-keep-up-with-the-job-matches-27e2</guid>
      <description>&lt;p&gt;Neural Void Walker has a feature called the Synthetic Profile. You don't configure it. You don't turn it on. It just appears when the system knows you well enough.&lt;br&gt;
Here's how it works — and why building it this way was the right call.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Explicit Preferences
&lt;/h2&gt;

&lt;p&gt;Every job search tool starts the same way. Fill out a form. Tell us what you want. Pick your industries, seniority levels, keywords.&lt;br&gt;
The problem is people are bad at knowing what they want. They say "Staff Engineer" but save every "Senior Engineer" role at an interesting company. They say "no startups" but keep bookmarking Series B companies. The explicit preferences and the actual behavior diverge almost immediately.&lt;br&gt;
I wanted to close that gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Synthetic Profile Actually Does
&lt;/h2&gt;

&lt;p&gt;Neural Void Walker lets users search directly against company ATS systems using Boolean queries. As they use the tool — saving jobs to their Vault, archiving ones that don't fit, running searches — the system accumulates behavioral signal.&lt;br&gt;
After enough signal, the Synthetic Profile activates. It analyzes the pattern of what the user actually saved versus what they skipped, extracts the implicit preference model, and generates a set of Boolean search queries that reflect their real criteria — not the ones they typed in a form.&lt;br&gt;
Those queries then run automatically on a 24-hour (or your set) cycle. Results surface in a triage queue without the user doing anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Decision: Threshold-Based Activation
&lt;/h2&gt;

&lt;p&gt;The feature is deliberately hidden until it's useful. Showing an empty or inaccurate Synthetic Profile early would erode trust. The system waits until it has enough behavioral data to generate queries with reasonable signal-to-noise ratio.&lt;br&gt;
This threshold approach has a side effect I didn't fully anticipate: it feels like the system is paying attention. Users notice when it activates. It creates a moment of "wait, I didn't set that up." That reaction is exactly right — it means the implicit modeling worked.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Observed
&lt;/h2&gt;

&lt;p&gt;A user recently told me they had 138 signals in triage and couldn't keep up with applying. Every match was high quality. None of it was job board noise — these are roles pulled directly from company career pages, filtered by a profile the system derived from behavior.&lt;br&gt;
That's the outcome I designed for. The system finding better matches than the user could specify manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The Synthetic Profile currently generates Boolean queries. The next evolution is confidence scoring per match — surfacing not just what fits but how strongly, and explaining why in terms the user can understand and correct.&lt;br&gt;
The goal is a feedback loop: user corrects a mismatch → profile updates → next cycle is more accurate.&lt;br&gt;
If you're building tools that learn from implicit behavior rather than explicit configuration, I'd be curious what activation thresholds you're using and how you handle the cold start problem.&lt;br&gt;
Neural Void Walker is live at neuralvoidwalker.com — Founders discount still active.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuhzsceupsvvzjyto2sc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuhzsceupsvvzjyto2sc.png" alt="NeuralVoidWalker_Console" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>jobsearch</category>
      <category>career</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>I rebuilt CareerAutomata's UI — here's what I changed and why</title>
      <dc:creator>Kei</dc:creator>
      <pubDate>Tue, 17 Mar 2026 01:27:32 +0000</pubDate>
      <link>https://forem.com/tinonet/i-rebuilt-careerautomatas-ui-heres-what-i-changed-and-why-3njo</link>
      <guid>https://forem.com/tinonet/i-rebuilt-careerautomatas-ui-heres-what-i-changed-and-why-3njo</guid>
      <description>&lt;p&gt;I've been running CareerAutomata for a while now — a tool that lets job seekers search directly from company ATS systems instead of job boards. The core product worked. The UI did not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;The old layout tried to do too much at once. Wide job cards, cluttered navigation, a Career Hub that had a Kanban board nobody could actually use. Users were landing, scanning for two seconds, and leaving. Not because the data wasn't there — it was — but because reading it felt like work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;A full UI rebuild focused on one thing: making jobs easy to scan.&lt;br&gt;
The job listing view is now a narrower two-column layout. Tighter cards, more jobs visible without scrolling, less visual noise per card. The information hierarchy is cleaner — company name, role, and ATS source are immediately readable.&lt;br&gt;
Navigation got compressed into a concise top bar. No more hunting for where things are.&lt;/p&gt;

&lt;p&gt;The Career Hub is the part I'm now happy with. The Kanban board was technically there before but practically unusable — columns were misaligned, drag-and-drop was unreliable, cards were too wide. It's now actually functional. You can track applications from applied to offer without fighting the interface. And you can now drop (not just archive) the cards. &lt;/p&gt;

&lt;p&gt;And Automatic job pruning is back! Cleaner DB and faster search as a result. Now up to 670 companies and counting. &lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Most UI problems aren't about missing features. They're about information density and visual hierarchy. The job data didn't change — just how it's presented. Scan time dropped noticeably in my own testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;SEO improvements and a proper landing page rewrite are next. The tool finds jobs humans miss. &lt;strong&gt;More people need to know it exists.&lt;/strong&gt; The more people use it, the more it learns about success patterns and shares them with users. All automatically. All FREE. &lt;/p&gt;

&lt;p&gt;What's the one thing that makes you abandon a job search tool immediately?&lt;/p&gt;

</description>
      <category>career</category>
      <category>buildinpublic</category>
      <category>ux</category>
      <category>react</category>
    </item>
    <item>
      <title>I Built a Job Search Tool That Pulls Directly From Company ATS Systems (Not Job Boards)</title>
      <dc:creator>Kei</dc:creator>
      <pubDate>Thu, 05 Mar 2026 02:23:45 +0000</pubDate>
      <link>https://forem.com/tinonet/i-built-a-job-search-tool-that-pulls-directly-from-company-ats-systems-not-job-boards-2l6d</link>
      <guid>https://forem.com/tinonet/i-built-a-job-search-tool-that-pulls-directly-from-company-ats-systems-not-job-boards-2l6d</guid>
      <description>&lt;p&gt;By the time a job appears on LinkedIn or Indeed, it has often been live on the company's ATS for days. Sometimes longer. The aggregators are downstream of the source, and that gap is real.&lt;/p&gt;

&lt;p&gt;That observation is what CareerAutomata is built around.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Most job search tools scrape job boards. The boards themselves pull from company ATS systems, add their own indexing delay, and surface listings to job seekers somewhere further down the chain. By the time you see a posting on an aggregator, you are competing with everyone else who saw it at the same time, and the role may already be deep into review.&lt;/p&gt;

&lt;p&gt;The closer you can get to the source, the better your signal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;CareerAutomata pulls job listings directly from company ATS systems. Not from job boards. Not from aggregators. The data comes from 622 companies, and right now the index sits at 25,645 jobs updated daily. Companies are researched and added automatically and via users' suggestions. All features are community driven.&lt;/p&gt;

&lt;p&gt;It is free to use. No paid tier for the job search itself. You sign up, track applications through the career hub pipeline tracker, and search listings that came from the source rather than a copy of a copy.&lt;/p&gt;

&lt;p&gt;The site is at careerautomata.com if you want to look at it directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Decisions
&lt;/h2&gt;

&lt;p&gt;The core approach is connecting directly to ATS gateways rather than scraping board pages. Each company's careers hub exposes structured data if you go to it directly. That is what gets indexed. The result is that a job search without job boards is actually possible if you have enough direct sources in the pipeline.&lt;/p&gt;

&lt;p&gt;The phrase "jobs directly from company website" is not marketing language here. It is a literal description of where the data comes from.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Worked
&lt;/h2&gt;

&lt;p&gt;Freshness. The listings are closer to real-time than anything pulling from an aggregator. For job seekers trying to get in early, that matters more than having ten times as many stale listings.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Didn't
&lt;/h2&gt;

&lt;p&gt;Coverage is still a real constraint. 622 companies is not every company. There are industries and company sizes that are not well represented yet. That is the ongoing build.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Expanding the ATS gateway coverage and improving the triage layer so the pipeline tracker gets smarter about fit scoring. The autonomous search side of this lives in a separate product, Neural Void Walker, but CareerAutomata stays free and focused on direct access.&lt;/p&gt;

&lt;p&gt;If you are building in the job search or HR tech space and want to talk through the ATS-direct approach, I am happy to get into it in the comments.&lt;/p&gt;

</description>
      <category>career</category>
      <category>python</category>
      <category>ai</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
