6 Roadmap
Tiago Águeda edited this page 2026-09-16 19:02:09 +02:00

Roadmap

The current release is 0.3.0. Releasing is a deliberate act here rather than something that happens on a schedule, so main is sometimes ahead of the last tag; the changelog says by how much.

This page says plainly what exists and what does not, so nothing on this wiki reads as a promise.

Released

Milestone What it brought
M0 Project skeleton, tooling, continuous integration
M1 Accounts, invitations, ownership separation, private file delivery, the interface
M2 Companies, contacts, postings, applications, the event timeline, board and table, reminders, tags
M3 The career record, CV variants, cover letters, uploads, PDF export, snapshots of what you sent
M4 Capturing a posting from its address, the plugin interface, and the capture API
M5 Insights read from the timeline, and a complete export you can import back
M6 A container image and Compose files, and the 0.1.0 release

The lettered milestones gave way to numbered releases after that.

0.2.0

Forty-four issues, released on 7 September 2026:

  • The twenty-four official languages of the European Union, each under its own name, with the interface saying how far along each catalogue is. See Translating.
  • Passkeys, and single sign-on that an operator can let count as the second factor.
  • Security work found by auditing the code: the link checker no longer follows a redirect onto a private address, rate limits are shared between workers rather than counted three times, forwarding headers are believed only from proxies you have named, and a connection is made to the address that was approved rather than to whatever DNS says a moment later.
  • The dashboard and Insights are one page, built from seventeen widgets you arrange yourself. See Insights and the dashboard.
  • Importing a Europass CV, in either the current JSON or the legacy XML.
  • ORCID and other identifiers on your details, phone numbers with their country, a log an administrator can read and Prometheus metrics, both off unless asked for.

0.3.0

One hundred and seven issues, released on 16 September 2026:

  • The languages of Africa, and everything a language needs before its words arrive: an instance can now offer fewer languages than Postulo speaks, and a catalogue that nobody has started is not offered at all. Ukrainian, Turkish and Brazilian Portuguese arrived too. See Translating.
  • The interface is laid out right to left when the language is, rather than merely translated into it.
  • A report about a period, to hand to an employment office or to read yourself, filed beside everything else you sent.
  • Parent and child companies, contacts in departments, and the employment service recorded as the kind of company it is rather than as an employer nobody applies to.
  • Notifications in the browser, with nothing to set up on the server, beside a Calendar page and a dashboard you arrange yourself.
  • Capture became a review rather than a leap: forty postings from one results page are announced once, an advert you already hold says so before it is made, and what was captured can be corrected before it is kept.
  • Plugins grew up: a manifest each, a logo, a version of Postulo they are held to, repositories an administrator manages as rows, and delivering mail became one of them.
  • Addresses, telephone numbers and identifiers each have one contract instead of each having their own, so a new kind of detail is a plugin rather than a column.
  • Security work found by auditing the code: the capture limit bounds captures rather than the form it came through, nothing captured from a stranger's page can act once it leaves Postulo, the image takes Debian's security updates and is scanned by the project, and POSTULO_SECRET_KEY=changeme no longer starts an instance.

In progress

Milestone What it is for
0.4.0 The languages of Asia and South America, and the fonts to draw them
0.5.0 The rest of the world's languages, and the tooling that lets a speaker add one without a developer
0.6.0 Readable and usable on a phone, rather than merely rendered on one

The issue tracker is the authority. This table summarises it and will sometimes lag it; the tracker never lags itself.

Already built, as separate repositories

These were once "after version 1" and are not any more. Each is a plugin or an extension with its own repository, installed only if you want it:

Chromium extension and Firefox extension One button that sends the posting you are looking at to your instance, over the capture API
postulo-imap Reads one folder of a mailbox and suggests what it says happened — acknowledgements, rejections, invitations. Nothing is written on a guess
postulo-dav Company contacts to a CardDAV address book, interviews to a CalDAV calendar, both ways
postulo-apprise Notifications through Telegram, ntfy, Discord, Matrix, Signal, email and a hundred more
postulo-paperless Every rendered CV, letter and upload filed into a Paperless-ngx archive
postulo-mcp Lets an AI agent read, and if you allow it record, your job search — through Postulo's own API. No model inside Postulo
postulo-templates A curated set of CV and letter templates
postulo-helloworld The smallest plugin there is, to copy

Still wanted, not scheduled

  • Optional assistance from a language model for tailoring, as a plugin, disabled by default and never required.
  • Tagged PDFs, so a CV made here is one a blind recruiter can read with a screen reader. See Accessibility.
  • Speakers to review the machine-drafted translations. Every European Union catalogue is complete and every entry in it is marked as a draft until a person has read it, which is the honest state rather than a finished one. See Translating.

Things that are not planned

  • Applying to jobs on your behalf.
  • Scraping job boards in bulk. URL capture fetches one page that you asked for.
  • Any telemetry.