Support & documentation

How Tessira actually works, answered plainly

Everything below describes the app as it is built today — not as a roadmap. If an answer here turns out to be wrong, that is a bug in this page and it gets fixed. Pick a topic, or read straight through.

Start here

Browse by what you are trying to do

Nine places to start, plus a troubleshooting section at the end — 78 answers in all. Each card jumps straight to its section further down this page.

Getting started and your account

Everything between arriving on the site and having a CV open in front of you.

What does Tessira cost?

Nothing. There is no billing in the product at all — no card on file, no paid tier, no trial that expires. Every template, the PDF export and both AI checks are available to any verified account.

There is one limit, and it exists to keep the running costs survivable rather than to sell you an upgrade: 20 AI requests per account per day. Everything else is unmetered.

How do I create an account?

Go to sign up and enter an email address and a password. There is no social login and no third-party sign-in provider — email and password only, deliberately, so no other company is told when you sign in.

Your password must be at least 8 characters and contain an uppercase letter, a lowercase letter and a symbol. The sign-up form shows a live checklist so you can see which requirements you have met before submitting.

Why can I not log in straight after signing up?

Because your email address has to be verified first. Tessira sends a verification link to the address you signed up with; until you open it, logging in is refused. This stops accounts being created against addresses that do not belong to the person creating them.

The link is valid for 24 hours. If it expires, or the email never arrives, use the resend option on the sign-in screen — see troubleshooting for the full checklist.

I have forgotten my password. What happens now?

Use the forgot-password link on the sign-in screen. Tessira emails a six-digit code to your address. The code is valid for 10 minutes, allows 5 attempts, and can only be used once. Enter it along with your new password.

Your existing password cannot be recovered or emailed to you by anyone, including the person who built the app. Passwords are stored as a PBKDF2-SHA256 hash with 100,000 iterations and a per-account salt, which is a one-way operation — there is nothing to look up.

Will resetting my password lose my CVs?

No, and that is a deliberate design decision. Your data is encrypted with a key that belongs to your account rather than being derived from your password, so changing the password never orphans your content. You sign in with the new password and everything is exactly where you left it.

The trade-off is stated openly on the privacy policy: Tessira holds the encryption key. Your CVs are encrypted at rest, not end-to-end encrypted. Recoverability and zero-knowledge cannot both be true, and this product chose recoverability.

A password reset signed me out on my other devices. Is that expected?

Yes. A successful reset revokes every session on the account, on every device. If someone else had a session open, the reset ends it. Sign in again with the new password wherever you need to.

How long does a session last?

Thirty days. The session is a random token held server-side and referenced by a cookie that is HttpOnly, Secure and SameSite=Lax, so it cannot be read by scripts. Signing out invalidates the token immediately rather than just deleting the cookie.

Can I change my email address or add a profile photo?

The account page lets you set an avatar and change your password. The image is cropped to a 320px square in your browser before it is uploaded, and must be a JPEG or PNG of no more than 200KB. Clearing the field removes it and you go back to the generated initial.

Changing the address an account is registered under is not yet a self-service option. Email support@cubicpixel.co and it can be done manually.

How many CVs can I have?

There is no cap. Most people end up with a small number — a general one plus a couple tailored to particular roles — and the workspace lists them with their template, when they were last edited and how complete they are.

A new account starts completely empty, at zero CVs. Nothing is pre-filled with somebody else's content.

The editor and autosave

How writing in Tessira behaves, and what the indicators are telling you.

Where is the save button?

There is not one, on purpose. Tessira saves automatically 900 milliseconds after you stop typing, and flushes immediately when you navigate to another section, switch tabs or close the window. A save button is a thing to forget; autosave is not.

What do the “Saving…” and “All changes saved” labels mean?

Amber “Saving…” means a write is in flight. Green “All changes saved” means the server has confirmed it. The indicator never claims success optimistically — if a write fails, it stays amber and keeps retrying until it succeeds.

If it has been amber for a long time, you have almost certainly lost your connection. Leave the tab open; it will catch up when the connection returns.

How is the completeness percentage calculated?

It is a pure function of your content. The units counted are your profile, the mandatory sections and whichever optional sections you have switched on. A section counts once it has real content in it — not once you have visited it.

It is recomputed on every save, so the ring on the Overview, the number on the workspace card and the ticks in the sidebar are all derived from the same calculation and cannot disagree with each other. New CVs start at 0%.

Do I have to reach 100%?

No. 100% means every section you have enabled has content — it is not a quality score and it does not mean your CV is good. Switching off a section you do not need is a perfectly legitimate way to reach it, because the section is then no longer part of the calculation.

When you do reach it, the “Finish your CV” card swaps its checklist for a finished state offering the two AI checks. Dropping back below 100% restores the checklist instantly.

What is the Overview page?

It is the front page of a CV, at /cv/<id>, and it sits inside the same shell as the editor so the sidebar, autosave and section list are shared. It shows the completeness ring and its legend, a ranked list of the three things most worth fixing next, four statistics — estimated pages, word count, number of roles, and when you last exported — and the AI checks card.

Everything on it recalculates as you edit. You do not need to reload to see the numbers move.

How do I rename a CV?

Click the name at the top of the editor sidebar and type. Enter commits, Escape reverts, and clicking away commits. The workspace list updates at the same time. You are also asked for a name when you create a CV; leaving it blank gives you “Untitled CV”, which you can rename later.

Is there an undo?

Within a text field, your browser's own undo works as normal. There is no document-level version history, so a deliberate deletion of a whole section is not reversible from inside the app.

If you are about to make a large change you are unsure about, export the CV as JSON first — it takes a second and gives you an exact snapshot you can import back.

Can I use Tessira on a phone?

The site and the editor are responsive and work on a phone, but writing a CV is a keyboard task and the editor is designed for a laptop-sized screen first. There is no native mobile app.

Sections, ordering and dates

The structure of a Tessira CV and how much of it you control.

Which sections does a CV have?

Eight pages in the sidebar: Profile, then Summary, Experience, Education, Skills, Languages, Interests and Reference.

Profile, Summary and Experience are mandatory and their toggles are locked on — a CV without them is not a CV. The other five are optional and can be switched off entirely.

How do I reorder sections?

Drag the optional sections in the sidebar rail using the grip handle on the left of each row. The order in the rail is the order they render in, in every template.

Dragging is armed only from the grip. That is deliberate: leaving a row permanently draggable stops some browsers delivering clicks to the form controls inside it, which is exactly the bug the grip solves.

What happens to a section I switch off?

It disappears from the rendered CV and from the completeness calculation. Its content is kept, so switching it back on restores what you wrote. Sections with no content are also dropped at render time, so you never get a stranded heading with nothing underneath it.

How do I enter dates on a role?

From and To are month-and-year dropdowns rather than free text, so the format cannot drift between entries. For a current role, use the Present pill — it disables the To field and renders as “Present” in every template.

Tessira is warning me about a gap in my employment. Is that a problem?

It is an advisory, never a blocker. When there is more than a month between the end of one role and the start of the next, an amber card appears above your entries listing each gap with its range and the roles on either side. It goes away when the dates no longer show a gap.

It is there so a gap is a decision rather than an accident. Plenty of gaps are entirely fine and need no explanation; the card exists so you notice it before a reader does. It never stops you saving and it never appears as a pop-up.

Why is Location a dropdown instead of a text field?

Because the templates draw a flag or a country code beside the location, and that only works from a known country. The list covers 198 countries. If you had free text in there from an earlier version, it is preserved as a custom option rather than being thrown away.

Can I add a section type that is not in the list?

Not from the interface today. The eight are what the templates are designed around. If you need something like Publications or Certifications, the Skills or Interests sections are the usual place people put it — and it is worth telling us, since requests are how the list changes.

Templates and accent colours

Four designs, six recommended colours each, and a picker for anything else.

What are the four templates?

Apeal — a two-column all-rounder with a timeline rail. Editorial — one column with a masthead, for CVs that will be read rather than scanned. Swiss — a strict grid with a fixed label column, best for long careers. Ink & Chartreuse — a bold editorial layout for work meant to be looked at.

The templates page shows each one rendered from the same example CV, so the comparison is real rather than a mockup.

Will switching template lose my content?

No. Your content and the design are stored separately, and the template is just a choice on the record. Switch as often as you like; the same words reflow into the new design with nothing to copy or retype.

How do accent colours work?

Each template ships six recommended accents chosen to suit its design, plus a colour wheel that opens a picker for anything else. Each template declares four accent variables and Tessira derives the contrast-safe variants for you, so a custom colour will not silently produce unreadable text.

Setting no accent at all is also a valid choice — the template then renders in its own factory colours.

I changed an accent and it changed on another CV too.

That is current behaviour, not a fault on your side: an accent is currently stored against the template rather than against an individual CV, so it applies wherever you use that template. Per-CV accents are a known piece of pending work.

In the meantime, the workaround is to keep CVs that need different colours on different templates.

Why is my photo showing on one template and not another?

Because the templates make different editorial choices. Ink & Chartreuse and Apeal give a photo a designed place; the more typographic layouts do not. If you need the photo shown, choose a template that uses one.

Worth knowing regardless: in a number of countries a photo on a CV is either discouraged or actively unhelpful. The CV writing guide goes into where it helps and where it does not.

Are the thumbnails on the templates page real?

Yes. Each card renders the sample CV live in your own browser at A4 proportions and scales it down — it is the actual template, not a screenshot that could drift out of date. Changing an accent re-renders them.

Preview, PDF and exporting

How the file you send to an employer is produced.

How is the PDF made?

By a real headless Chromium running on Cloudflare's Browser Rendering, printing the same HTML you saw in the preview at A4 with backgrounds enabled. It is a browser printing a page, not a converter re-interpreting your layout — which is why the page breaks, the fonts and the colour running to the paper edge match what you were looking at.

Templates that paint their paper edge to edge get a final pass with a PDF library that stamps the background across the full page, because no CSS mechanism will make Chromium paint the page margin area.

What is the difference between the web preview and the PDF?

The web preview compiles the template in your own browser and is instant and free. The PDF goes through the headless browser so it produces a genuine print artefact with real pagination.

Use the preview while you are writing and the PDF when you are ready to send something.

Why was my second PDF download instant?

Because rendered PDFs are cached for seven days against a fingerprint of the content, the template and the accent. If none of those changed, you get the stored file immediately and no rendering happens at all.

Editing anything changes the fingerprint, so you can never be served a stale file. Volatile fields like the CV's name and last-edited time are excluded from the fingerprint, so an autosave alone does not throw away a valid cached PDF.

How many pages will my CV be?

As many as your content needs — Tessira does not force a one-page limit. The Overview's page estimate gives you a reasonable guide while writing, and the PDF is authoritative.

Ink & Chartreuse paginates itself so its closing band always lands flush at the bottom of the final page, and Swiss repeats section headings with “(continued)” when a section runs over a page break.

Can I get a Word document instead?

No. Tessira exports A4 PDFs, plus your content as JSON. A Word export would mean rebuilding every template in a format that cannot reproduce them, and the result would look worse than what you designed.

If an application form insists on .doc or .docx, the practical route is to paste your text into their form or their own template — your JSON export gives you all the content in one place to work from.

The PDF failed to render. What do I do?

Use the Retry button on the error panel first — most failures are transient. If it keeps failing, the “Use web preview” fallback on the same panel still shows you the current design, and you can print from there.

Rendering capacity is a metered resource, so a burst of renders can be temporarily refused. The error distinguishes a short-term throttle from an exhausted daily budget, and the message tells you which one you hit.

What does the “exported” statistic on the Overview mean?

The last time you downloaded a PDF of that CV. It is recorded when the download happens, so it is a useful reminder of whether the version you are looking at is the version you actually sent.

The AI review and job match

Two checks, both started by an explicit click. Nothing here runs on its own.

What are the two checks?

A general review judges the CV on its own terms: a grade, a score, sub-scores for the craft of the writing, what is working and what is holding it back, ranked advice, and line-level findings with suggested rewrites.

A job match compares one CV against one saved job description and returns a percentage with sub-scores, what you clearly have, what appears to be missing, and advice on what to change.

They are drawn deliberately differently — the review uses a grade square and a five-band meter, the match a ring and a percentage — so that two very different numbers can never be mistaken for each other.

Exactly what is sent to the AI provider?

An anonymised copy of the CV's text. Specifically:

  • Removed entirely: your name, email address, phone number, postal address, website, photo, and any contact details typed into your CV text.
  • Replaced: every employer, client and school becomes a label — “Company A”, “Client B”, “Institution A”. The real names are put back only after the response returns.
  • Never sent: your account, your IP address, your device or browser details, your session, or any Tessira identifiers.
  • Sent: your job titles, dates, countries, skills, languages and the wording of your bullets and summary — the text that actually needs reviewing.

The outbound request is built from scratch with only an authorization header and the anonymised body, so no cookie, referer or user agent from your browser is forwarded, and the request reaches the provider from Cloudflare's network rather than from your device.

Who is the provider?

DeepSeek, an external AI provider, using the model deepseek-v4-flash (and deepseek-v4-pro for the strategic pass on the highest quality setting). You are told this before your first review rather than finding it in a policy page.

Tessira does not make claims about what the provider does with a request after it arrives — that is governed by their terms, not by this app, and it would be dishonest to speak for them.

Is my review anonymous?

Everything that identifies you is removed and employer names are replaced with labels — but a CV is a document about one career, and Tessira will not tell you a career history is “fully anonymous”. Someone who already knew you could recognise the shape of your career from the text alone. That is inherent to having a CV reviewed at all, and you deserve to know it before you click.

The anonymisation is enforced in code rather than by policy: the checks that look for identifying and technical data run on the finished request body immediately before it is sent, and they throw rather than transmit.

What does “anonymisation check failed” mean?

It means one of those fail-closed guards found something it was not prepared to transmit, and stopped the request. Nothing was sent. It is the system working, not breaking.

The usual cause is identifying or technical data pasted inside your CV text where it is not expected — an email address or phone number inside a bullet, a full postal address, an IP address, a UUID, a token or a long hex string in a project description. Remove or generalise it and run again. If you cannot see what triggered it, send the CV's name to support@cubicpixel.co and it can be traced.

Does the AI make up numbers about my CV?

It is designed not to. Before the model is called at all, Tessira computes the facts itself: bullet and word counts, what proportion of your bullets are quantified, how many start with a strong verb, an estimated page count, your career span, and a list of located defects such as weak phrasing, clichés, filler, mixed UK/US spelling, repeated openers and duplicated skills.

Those measurements are handed to the model as established fact, so its job is to judge and rewrite rather than to count — and it cannot contradict them.

How do I know a suggested rewrite is not invented?

Every finding quotes the original line it is about. After the model responds, Tessira checks each quote against your actual CV and drops any finding whose quoted text is not literally present. Findings that suggest no change, or whose suggestion is identical to the original, are dropped too, then the rest are de-duplicated, sorted by severity and capped at twelve per section.

The number of findings that were removed is reported with the result, so the filtering is visible rather than silent.

How long does a review take?

Up to about a minute on the default quality setting. A review is two passes: a forensic pass over the line-level detail, then a strategic pass on positioning, credibility and competitiveness that is given room to reason properly. If the second pass fails, the first is still returned rather than the whole run being lost.

The working animation shows that something is happening. It deliberately does not show a progress percentage, because the app genuinely does not know how far along the model is and inventing a bar would be a lie.

What if I navigate away or close the tab while it is running?

The run completes either way. Moving to another part of the app keeps it going, and coming back shows the loader still running mid-cycle or the finished result, as appropriate. Closing the tab entirely also completes it: the model call and the saving of its result are both run in a way that survives the browser disconnecting, so a request you paid for is never thrown away.

When you come back, the finished result is waiting and free to open.

Does re-running a check cost me another request?

Only if something changed. Results are cached for seven days against the content that produced them and are also stored on the CV record, so opening a previous result is always free, and re-running an unchanged CV returns the stored result without contacting the provider or spending against your daily allowance.

What is the daily limit?

Twenty AI requests per account per day, shared between reviews and matches. It resets at midnight UTC. If you hit it, the app tells you plainly rather than failing obscurely.

Why does my result say it is out of date?

Because you have edited the CV meaningfully since that result was produced — the badge appears once the word count has moved by five or more. The result is still shown, since most of it will still apply; the badge is there so you know it is describing an older version.

Everything is greyed out while a check runs. Is that a bug?

No. While a run is in flight the mode tabs, both buttons, the job picker and the source actions are all disabled, so you cannot start a second run, switch mode mid-flight or overwrite the result you are waiting for. Everything re-enables when it finishes.

Can I use Tessira without the AI features at all?

Completely. Nothing is sent anywhere unless you click Run on a check. The editor, every template and the PDF export work exactly the same if you never touch the AI card, and no background analysis, scoring or telemetry runs on your content.

Job descriptions

Saved once, matched against any CV you like.

Where do job descriptions live?

In a library on your workspace, not inside a single CV — you save a posting once and can match any of your CVs against it. They are stored per account and encrypted at rest like everything else.

Can Tessira fetch a posting from a URL?

It can try. Paste an https link and Tessira fetches the page and extracts the title, company and body — structured job data first, with a readability-style fallback. This is an ordinary web request and text extraction, not a model call, so it costs nothing and never touches your AI allowance.

The form is always the source of truth: whatever comes back is editable before you save it, and you can correct or replace anything the extraction got wrong.

Why did fetching from LinkedIn or Indeed fail?

Because large job boards routinely refuse automated requests. It is not a bug in Tessira and there is no setting that will fix it. Select the posting text in your browser, copy it, and paste it into the form — the paste path is the reliable one and always has been.

When a fetch fails you get an honest reason rather than a silent empty form.

Is a job posting sent to the AI provider as well?

Yes — a match needs both documents. The posting is scrubbed of recruiter contact details before it is included, and your CV goes through exactly the same anonymisation as a general review.

What happens to my match results if I delete a job description?

They are kept. A match result belongs to the CV as part of its history, so deleting the posting removes the posting and leaves your record of how that CV scored intact.

Does Tessira score every CV against every job automatically?

No, and it will not. There is no matrix, no background scoring and no automatic re-scoring when you edit. Every analysis is a deliberate click, because every one is a real request to an external provider and you should be the one deciding to spend it.

Import, export and deleting things

Getting your content out is a first-class feature, not an afterthought.

How do I export my content?

The “CV data” block in the editor sidebar downloads the open CV as a JSON file containing its name, template, profile and every section. Internal identifiers, timestamps and the completeness figure are stripped, because they are Tessira's bookkeeping and not your content.

The file is produced in your browser. It is a plain, readable file you can keep, diff or move somewhere else.

What exactly does importing do?

It is a full replacement of the open CV's content, and the confirmation dialog says so. Everything currently in that CV is replaced by what is in the file: content that is absent from the file is gone, not merged, and that includes the photo if the file has none.

The file is validated and sanitised on the way in — the shape is checked, unknown fields are filtered out, duplicate sections are collapsed and any standard section the file omits is added back as an empty one. Only the CV's identifier survives the operation.

Can I import a PDF or a Word CV I already have?

No. Import accepts a Tessira JSON export. Parsing arbitrary CV files reliably is a different product, and doing it badly would silently mangle your career history — which is worse than not offering it.

For an existing CV, copy and paste section by section. It also gives you a good reason to reread every line, which most CVs need anyway.

How do I delete a CV?

Either from the trash control on its workspace card, or from the “Delete CV” row in the editor sidebar. If the CV has any content, the dialog offers Export JSON & delete alongside a plain delete, so you can take a copy on the way out. A blank CV just asks you to confirm.

Deletion is immediate and there is no recycle bin, which is exactly why the export option is placed inside the confirmation.

How do I delete my account and everything in it?

Email privacy@cubicpixel.co from the address the account is registered under. Account deletion is handled manually today rather than being a self-service button, and it is honest to say so.

Export anything you want to keep first — deletion removes your CVs, your saved job descriptions and your stored analysis results, and none of it can be brought back afterwards.

Can I get a copy of all my data, not just one CV?

Yes. Export each CV from its editor, and for anything beyond that — your saved job descriptions and stored analysis results — email privacy@cubicpixel.co and ask.

Privacy and security

What is guaranteed, how it is enforced, and what is deliberately not claimed.

Is my CV encrypted?

Yes — encrypted at rest. Every account has its own randomly generated data key, itself wrapped by a master secret that lives only in the deployment's secret store and never in the database or the code. Your CV records and job descriptions are sealed with authenticated encryption before they are written.

Is it end-to-end encrypted?

No, and Tessira will not say it is. Tessira holds the key. That is a deliberate trade: because the key is not derived from your password, a password reset can always restore your data. A zero-knowledge design would mean that forgetting your password destroys your CVs permanently.

The correct description is “encrypted at rest”, and that is the phrase used everywhere on this site.

Can another user see my CVs?

No. Your account identifier is taken only from your session — never from anything a request can ask for — and every stored key is namespaced under it, so an identifier belonging to someone else simply does not resolve inside your namespace. It has been tested adversarially: cross-account fetches return “not found” and a cross-account preview leaks nothing.

Does Tessira track me?

There is no analytics script, no advertising pixel and no third-party tracker on the site. The only cookie is the one that keeps you signed in. The cookie policy covers it in full — it is a short document, because there is not much to cover.

Is my data shared with anyone?

The one case where your content leaves Tessira is an AI check you started yourself, where an anonymised copy of your CV goes to DeepSeek — covered in full in the AI section above. Email delivery for verification links and reset codes goes through an email provider, and the site runs on Cloudflare's infrastructure.

Your CV content is not sold, and it is not used to train anything by Tessira. The privacy policy is the full and authoritative version.

How are passwords stored?

As a PBKDF2-SHA256 hash with 100,000 iterations and a unique per-account salt, compared in constant time. Nobody can read your password out of the system, because it is not in there — which is also why a reset code, rather than a reminder, is the only route back in.

Do you use my CVs as examples anywhere?

Never. Every screenshot, template thumbnail and preview on this site is rendered from a fictional sample CV that ships with the app. No real user content appears in any public page, and none of the app's own defaults contain real personal data.

Troubleshooting

The things that actually go wrong, and what to do about each.

The verification email has not arrived
  • Give it a few minutes — delivery is usually fast but not instant.
  • Check spam, junk and any “promotions”-style tab.
  • Check the address you typed for a typo. If it is wrong, sign up again with the correct address.
  • On a work address, a filter may be holding it. A personal address is the quicker test.
  • Use the resend option, then email support@cubicpixel.co if it still does not arrive — an account can be verified manually.
My reset code is not being accepted

Codes expire after 10 minutes, allow 5 attempts and work only once. If you requested more than one, only the most recent is valid. Request a fresh one and enter it straight away.

I was signed out unexpectedly

Sessions last 30 days, so the common causes are that the session simply expired, that you or someone with access reset the password (which revokes every session), or that your browser cleared its cookies — private windows and aggressive privacy settings both do this on close. Sign in again; nothing is lost.

The page looks broken or half-styled after an update

Hard-refresh: Cmd+Shift+R on macOS, Ctrl+F5 on Windows. That clears a cached stylesheet or script from a previous version, which accounts for nearly every case.

The preview is blank

Close and reopen it — the preview blanks the previous document deliberately while loading, and an interrupted load can leave it empty. If it persists, hard-refresh the page, and check that a content blocker or strict privacy mode is not blocking the preview frame.

An AI check failed with an error

The message carries the actual reason rather than a generic failure. Nothing is written when a run fails, so your CV is untouched and you can simply try again.

If it mentions a daily limit, you have used your twenty requests for the day. If it mentions the anonymisation check, see the AI section — that one means the request was stopped before it was sent, on purpose.

My changes are not appearing in the PDF

Check that the autosave indicator says “All changes saved” before you download — the PDF is rendered from the saved record. If it does and the PDF still looks old, hard-refresh and download again.

Something else is wrong

Email support@cubicpixel.co. The contact page lists what to include so the problem can be reproduced on the first attempt instead of the third.

Did this page not answer it? That is worth knowing about. Email support@cubicpixel.co with the question and the answer usually ends up here afterwards.
Keep reading

Guides, rather than support answers

The help centre explains the app. These explain the job of writing a CV.

Still stuck? Ask a person.

Tessira is made by one person, so support is a real reply rather than a ticket queue — which also means it takes a few days rather than a few minutes.