A sailing ship heeled over in a storm, under dark clouds, with light breaking through a wave in the foreground

Backend & ML engineer · Boise, Idaho

I build data systems that run every day, and the machine learning that sits on top of them.

Most recently: a pipeline that collects every posting from about 5,000 company job boards each day, and an LLM search agent that reads from it. Every project here has a write-up that covers what broke as well as what worked.

Ivan Aivazovsky, a ship in a storm (19th c.)

Systems

01

June 2026 to now, runs daily

Job Market Data Platform

A daily batch pipeline over about 5,000 company job boards and USAJobs. Python and pydantic ingestion, Postgres, a tested dbt star schema, and posting lifecycles no job board publishes.

job boards and searches collected daily
5,088
job boards and searches collected daily
open data, software and ML postings right now
58,967
open data, software and ML postings right now
dbt tests passed in the last build
100+
dbt tests passed in the last build
PythonpydanticPostgresNeondbtGitHub ActionsEvidence.devDuckDB-WASM

September 2026

Job Search Agent

Ask for jobs in plain English. Llama 3.3 on Workers AI picks validated search filters, never SQL, and a Durable Object keeps each visitor's conversation.

validated search filters, no SQL from the model
6
validated search filters, no SQL from the model
table its database login can read
1
table its database login can read
until an idle conversation is deleted
30 days
until an idle conversation is deleted
TypeScriptCloudflare WorkersWorkers AIDurable ObjectsPostgresVitest

Machine learning

02

Coursework & other projects

03
Retail Sales Forecasting Fall 2024 · Forecasting House Price Prediction Fall 2024 · Regression Global Energy Narrative Summer 2024 · Visualization Global Econ Dashboard Summer 2024 · Dashboard Gradient Descent Golf September 2026 · Game

About

04
Will Charles
Now
Data Analyst, Idaho Supreme Court
Education
Master of Computer Science, Data Science, UIUC
Looking for
Backend and ML engineering roles, remote or in the San Francisco Bay Area

Most of what I enjoy about this work happens before the modelling: collecting data, finding out what is actually in it, and getting it into a shape where a question can be answered.

I'm a data analyst at the Idaho Supreme Court. Most days that means writing and tuning T-SQL against large operational databases, building extracts that other people reuse, and checking reporting datasets against the systems they come from.

Before that I co-founded a company and ran it while finishing my bachelor's and a Master's in Computer Science with a Data Science focus. We took one product from an idea through a patent, manufacturing, marketing and day-to-day operations, and I built the data systems we used to run it. That is where I learned that the useful answer is usually the one someone can act on, not the one with the best score.

Before school I worked in warehouses and manufacturing, including a job building furniture and then driving it out to deliver it.

Contact

05

I'm looking for backend software engineering and ML roles, remote or in the San Francisco Bay Area. If something here lines up with what your team is working on, I'd like to hear from you.

wjcc91@gmail.com