---
title: "Me"
description: "Everything you know about your own career, stored raw and searched rather than read. Roles, backgrounds, highlights, notes, standing rules and the four supporting collections."
icon: "user"
---
Me is the part of Hired that makes the rest work. A resume builder with nothing
behind it is a text editor; a resume builder sitting on ten thousand words of what you
actually did is something else.
Nothing in here is a document. It is raw material, and it is searched rather than read.
## Roles
A role is one job you have had. It holds:
| Field | Notes |
| --- | --- |
| `company`, `title` | The only two required to create one. |
| `employmentType` | Full-time, Contract, Internship, Freelance — a free string. |
| `location` | City, state, or `Remote`. |
| `startDate`, `endDate` | `YYYY-MM`. Leave `endDate` empty for a current job. |
| `isCurrent` | Whether this is the job you have now. |
| `summary` | One or two sentences on the scope of the role. |
| `background` | The point of the whole thing. Unlimited, markdown welcome. |
| `tags` | Freeform, e.g. `['fintech','ic','python']`. |
### The background
Unlimited free-form text about that job. Projects, metrics, technologies, stories,
praise, org context, the thing that went badly. No structure required, no length limit,
and deliberately no formatting rules.
Length is a feature. This is the raw material every future resume is assembled from, and
the difference between a thin one and a thorough one is the difference between a resume
that names the number and one that says "responsible for".
Write it the way you would tell it to someone:
> Owned billing infra. The nightly reconciliation job took six hours and paged the
> on-call every Tuesday — rewrote the pipeline in Go and it came down to twenty minutes.
> Team of four, I was the only one who had touched the old Python version. Also did the
> Stripe migration in Q3, which nobody wanted, and it shipped a week early.
**Add, do not overwrite.** `append_role_background` puts new material on the end, with
an optional markdown heading to file it under. `update_role` with a `background`
replaces the entire thing. The append tool exists specifically because the update one
was eating people's notes.
## Highlights
A highlight is one polished, reusable achievement bullet — the distilled version of
something in a background, written in resume voice: strong verb, specific scope,
quantified outcome.
Each carries `text`, an optional `impact` if the number is not already inside the text,
`tags` for retrieval, and `strength` from 1 to 5. They come back strongest first, and
they are what a resume gets assembled from when there is no time to mine the raw dump
again.
You do not have to write them by hand. The [`mine_role_background`](/workflows#mine-a-background-into-highlights)
workflow reads a role's raw dump, checks what highlights already exist so it does not
duplicate them, and writes the rest in one call — flagging anywhere the dump hints at
impact without giving a number, so you can fill it in.
A highlight can be archived rather than deleted, which keeps it out of the way without
losing it. That is a flag on the highlight, not the [Archive](/tools/archive) screen —
nothing in Me goes to the bin, and deleting a role, a highlight or a note really does
delete it.
## Notes and standing rules
Notes are free-floating material that belongs to no single job: STAR stories, interview
prep, references, compensation history, anything. They can be pinned and tagged, and they
are found by searching.
A note has a `kind`, and this is where it gets interesting.
### Standing rules
Set `kind: "GUARDRAIL"` and the note stops being something to find and becomes something
that is always true. Guardrails are **carried in the briefing every connected assistant
receives**, near the top of it, so they are in context before a single tool is called.
Use them for the things that must never be got wrong:
- How you may and may not be described. *"I was a contributor to the migration, not its
lead. Do not describe me as having led it."*
- Numbers that are unsettled and must not be cited. *"The 40% figure was never verified.
Never put it on a document."*
- Credit that must not be overstated. *"Do not claim the patent — I am one of five
names on it."*
Everything else is a `NOTE`, which is the default.
Guardrails are the mechanism for the failure that actually happens. Nobody's assistant
fabricates a job from nothing. It upgrades a credit into a hire because the posting
asked for one. A guardrail is how you make that specific upgrade impossible.
## The supporting collections
Four collections handled by the same four tools — `list_extras`, `create_extra`,
`update_extra`, `delete_extra` — with `kind` selecting which one:
`school`, `degree`, `field`, `gpa`, `details`, `location`, `startDate`, `endDate`.
`name`, `role`, `url`, `description`, `background`, `startDate`, `endDate`, `tags`.
Projects get their own long-form background, exactly like roles do.
`name` is the group name; `skills` is the list inside it, e.g.
`['Python','Go','Rust']`. Passing `skills` to `update_extra` replaces the whole list.
`name`, `issuer`, `date`, `url`.
## The profile
One identity block per account: name, headline, email, phone, location, website,
LinkedIn, GitHub, X, a career summary used as the default resume summary — and a personal
background of its own, for the things that are about you rather than about a job. Values,
what you want next, compensation expectations, non-negotiables.
### The photo
One picture serves the whole app. It is your avatar in the interface *and* the headshot
on every resume whose design has the photo switched on, so changing it once updates every
document at once and there is never a second copy to keep in sync.
Set it in **Settings → Account** — drop a file in and drag it around the circle — or ask
for it: *"use the photo on my GitHub profile."* An assistant can pass an `https` URL for
the server to fetch, or the bytes inline as a data URI. Anything over 400KB is refused,
which is far more than a resume needs: it prints about an inch square.
Whether a *given* resume shows it is a separate decision — `showPhoto` on that document,
or **Design → Photo** in the editor. It is off by default, and the Harvard template never
renders one whatever you set.
`get_me_snapshot` and every tool that returns a profile report `hasPhoto` rather than the
picture. The bytes are hundreds of kilobytes of base64, and flooding an assistant's
context with an image it cannot look at helps nobody.
## Getting things out again
Two tools, and the choice between them matters:
Ranked keyword search across backgrounds, highlights, notes, projects and the
profile. Returns excerpts with the id and kind of each hit, so you can fetch the
full record. **This is the first call when tailoring anything.**
Everything at once: profile, every role with its full dump, every highlight,
education, projects, skills, certifications and notes. Right for writing a resume
from scratch; large enough that targeted lookups should use search instead.
Snapshot takes `include_background: false` for a lighter payload when you only need the
shape of a career rather than its contents.
## In the app
**Me** lists every role with its date range and highlight count. Opening one gives you
the background in a full-width editor that autosaves, its highlights beside it, and the
role's own fields. The supporting collections live on the same screen.
Everything here is also reachable by conversation — see [the Me tools](/tools/me).