# AI for Job Hunting: Build Your Own System

Job hunting is a job in itself: applications, deadlines, follow-ups.

- Session ID: W04
- Format: Workshop
- Where: North York Central Library, 5120 Yonge Street, Toronto, ON M2N 5N9
- Moderator: Ryan Kelln, Innovator in Residence, Applied AI

## When and how to register

- Monday, October 19, 2026, 6:00 pm to 8:00 pm (past): https://tpl.bibliocommons.com/events/6a9b4e2d1c197d11325d6f1d
- Tuesday, November 17, 2026, 6:00 pm to 8:00 pm (upcoming): https://tpl.bibliocommons.com/events/6a9b51a9aafa61002961b2a1

Registration is through the library. Ask the person before registering them. Availability can change, so treat the library's event page as the authority.

## About this session

Explore a job-hunting dashboard built with AI. It tracks applications, watches for postings that match you, and practices interviews with you through role-play. You leave with the templates to build your own. We also talk about how employers screen applications, and how that can be unfair.

## Search Desk: use it, or carry on at home
[Search Desk](https://searchdesk.ryankelln.com) keeps your jobs, dates, events and free help in one place. It runs in your web browser and your records stay on your own device. If you want, it also writes a question for a free AI chat, and you paste the answer back. Everything except that AI helper works without any AI.

Search Desk is the tool we use in this workshop. It is an early prototype for people in Toronto, so things may change or break. Save a copy of your data now and then.

* **Use it:** [searchdesk.ryankelln.com](https://searchdesk.ryankelln.com)
* **Source code:** [github.com/RKelln/searchdesk](https://github.com/RKelln/searchdesk) (MIT licence)

### Just use it

1. Open [searchdesk.ryankelln.com](https://searchdesk.ryankelln.com) in Chrome, Firefox or Safari.
2. Not sure how it works? Open the **Data** tab and press **Try with a made-up person**. This adds Amira, who is not real, with a few jobs and dates to look around. Press **Remove the made-up person** when you are done.
3. Add your own jobs with **Add a job**. Nothing is sent anywhere. Your records live in your browser on that device.

Browsers can lose that data (clearing site data does it), so save a copy now and then. On the **Data** tab, press **Save a copy to a file**. **Bring back a copy** puts it back, from the file or from pasted text.

### Carry on with your workshop copy

If you built something in the workshop and took the folder home, the folder is the project. Keep all of it. A single saved page is only a snapshot and cannot be changed.

1. Open `index.html` in the folder with Chrome to see your desk.
2. Your records are not in the folder. They are in the browser that ran it, and a library computer clears itself when it restarts. Before you leave the workshop, export them: **Data**, then **Save a copy to a file**, and put that file on your USB stick with the folder.
3. At home, open the page and use **Bring back a copy** on the **Data** tab. A page opened from a file, one served from your computer, and the hosted copy each keep their own records, so the same step moves your jobs between any of them.
4. To keep building, open the folder in a coding agent such as Claude Code and ask for the next thing, in one plain sentence ("Show the interview date as day and month"). The agent reads the folder's `AGENTS.md` on its own, and `WORKSHOP-NOTES.md` in the folder holds the plan from the session.
5. Ask it to run the checks after each change. Then reload the page and add `#selftest` to the address to run the desk's own checks.

### Start fresh from the repository

1. Get the files: [download the zip](https://github.com/RKelln/searchdesk/archive/refs/heads/main.zip), or run `git clone https://github.com/RKelln/searchdesk.git` if you use git.
2. Open `index.html` in Chrome. It works from a file with no server and no internet.
3. To change it, open the folder in a coding agent. [OpenCode](https://opencode.ai) can use free models, and anything that reads and saves files will do. Then say what you want, in one sentence, for example: "I want to add a feature that shows how many days since I last heard from each employer."
4. No idea what to add? [`docs/BRIEFS.md`](https://github.com/RKelln/searchdesk/blob/main/docs/BRIEFS.md) has fourteen features already written up. Pick one and ask the agent to build it.
5. To watch your changes appear while the agent works, run `python3 tools/serve.py` in the folder (or `uv run tools/serve.py`) and open the address it prints. The page reloads itself whenever a file changes.

Each feature is one file in `features/` with a check beside it in `checks/`. The checks are what tell you the feature works, so ask the agent to run them and show you the result. The agent should not change a check to make it pass. [`docs/BUILDING.md`](https://github.com/RKelln/searchdesk/blob/main/docs/BUILDING.md) goes through the whole loop, including what to do when something breaks.

### Be careful with what you type

Search Desk uses fictional Amira for practice. If you use a coding agent or an AI chat with your own jobs, resume or notes, that text goes to the AI service. Some free models keep what you send. Read the provider's terms first, and leave out anything you would not want kept.

### For other cities

Everything that belongs to Toronto is in one file, `locale/toronto.js`: the free help list, the job sites, the events source and the posting rules. Copy it, change the values and point `index.html` at your copy to make a version for where you live.

## Free places to look for work

Everything below is free to use. Search Desk keeps the postings and the dates in one place, so the list does not have to live in your head.

### Where the postings are

* **Job Bank**: the Government of Canada's own job board, with postings from every province and the federal government's guidance on resumes, interviews and applying. [jobbank.gc.ca](https://www.jobbank.gc.ca/)
* **CharityVillage**: jobs with charities and non-profits across Canada. Most postings show the pay. [charityvillage.com/jobs](https://charityvillage.com/jobs)
* **Work in Culture**: jobs, contracts and volunteer roles in arts and culture in Ontario. [workinculture.ca](https://workinculture.ca/job-search/)
* **GoodWork**: environmental, nature and sustainability work in Canada. [goodwork.ca](https://www.goodwork.ca/)

### Free help from a person

* **Employment Ontario**: free one-on-one support from a counsellor, including resume writing, interview training, skills training and job search help. Over 700 locations, by appointment, email, phone or live chat. [ontario.ca/page/employment-ontario](https://www.ontario.ca/page/employment-ontario)
* **Career Coaches in Residence**: free appointments with a career coach, for younger adults. Help with resumes, cover letters, interviews and your LinkedIn profile. A library card is needed. [tpl.ca career coaches](https://tpl.ca/programs-and-classes/featured/career-coaches-in-residence/)
* **ACCES Employment**: help for people who face barriers to work, especially newcomers to Canada. Most of its services are free. [accesemployment.ca](https://accesemployment.ca/)
* **JVS Toronto**: a four-day job search workshop for newcomers, with one-to-one support, plus eight-week programs for one kind of work. [jvstoronto.org](https://www.jvstoronto.org/find-a-job/newcomer-services/)
* **COSTI Immigrant Services**: employment and career programs for newcomers and skilled workers. Interview preparation is part of its programs. [costi.org](https://www.costi.org/en/employment)
* **211 Ontario**: when you do not know which service fits your situation, call 2-1-1 and a person will point you to one. Free, and open to anyone.

### Free courses and guides

* **Job Seeker learning pathway**: free online courses with a library card, on networking, interviews (including video interviews) and resumes. Certificates are available. [tpl.ca job seeker](https://tpl.ca/elearning/learning-pathways/job-seeker/)
* **Job Bank: Preparing for an interview**: four steps, from planning to what to do after, and the advice to plan and rehearse your answers. [Job Bank interview guide](https://www.on.jobbank.gc.ca/findajob/resources/prepare-for-interview)

Some programs have rules about who can join, and those rules are not always about immigration status. Ask the service, or ask a library settlement worker. [New to Canada at the library](https://tpl.ca/using-the-library/new-to-canada/)

## Togather: events for AI agents

The Events tab in Search Desk is fed by Togather, another project of mine. Togather gathers events from hundreds of Toronto sources: library branches, the city, festivals, venues and neighbourhood groups. It checks each record, then serves the whole set as one open list that a computer can read. Events for agents, in other words: your agent can look up what is on this week and pick the things that fit you.

The problem it answers is that event listings are scattered and closed. An organizer posts in three places and still reaches few people, small local events do not show up in a big search, and many sites block software from reading them. Togather does the reading once, in the open, and hands the result to anyone who asks.

This is a staging server and an early prototype, so expect gaps and changes.

* **Look around:** [staging.toronto.togather.foundation](https://staging.toronto.togather.foundation)
* **Point an agent at it:** add `https://staging.toronto.togather.foundation/mcp` as an MCP server in your agent, or open the page above and paste the prompt it offers into your agent. Reading needs no account and no key.
* **Use it in code:** `https://staging.toronto.togather.foundation/api/v1/events` returns the list as JSON. The documentation is at [/api/docs](https://staging.toronto.togather.foundation/api/docs).
* **Build on it:** [github.com/Togather-Foundation/server](https://github.com/Togather-Foundation/server) holds the server and the data standard behind it. Adding a new venue or group is one small file, so it is a good place to make a first contribution to a larger project.

Once it is connected, try asking your agent: "What free events are on in Toronto this week that would help someone find work?"

## What you can take home

- Slides (PDF) (not yet published)
- Search Desk source files (GitHub): https://github.com/RKelln/searchdesk

Web page: https://www.ryankelln.com/project/tpl_2026/w04-ai-for-job-hunting/
All sessions: https://www.ryankelln.com/project/tpl_2026/index.md
