{% extends "base.html" %} {% block title %}Application #{{ application.id }}{% endblock %} {% block content %}

Application #{{ application.id }}

{{ job.title }} · {{ job.company }} · {{ application.status }}

Self-Audit (final check before send)

{% for c in checks %} {% else %} {% endfor %}
CheckResultDetail
{{ c.item }} {{ c.result }} {{ c.detail }}
No audit run yet.
{% set fails = checks|selectattr('result','equalto','FAIL')|list %} {% if fails %}

⚠ {{ fails|length }} check(s) FAILED — fix before sending.

{% endif %}

Email

Subject: {{ application.email_subject }}

Body (plain text):

{{ application.email_body }}

Tailored resume

{% if application.tailored_pdf %}

One-page PDF ↓ Download PDF

{% endif %} {% if tailored_text %}
{{ tailored_text }}
{% else %}

No tailored resume generated.

{% endif %}

Approve & Send

{% set fails = checks|selectattr('result','equalto','FAIL')|list %} {% if job.contact_email %}

Scraped contact: {{ job.contact_email }}

{% else %}

No contact email scraped for this job — approving will just mark it approved (open the posting or email manually).

{% endif %} {% if application.status != 'approved' %}

You review first, then approve. Approving AUTO-SENDS the email to the scraped contact (if found) and marks it Sent.

{% else %} {% if job.url %}
Apply via the job posting: Open Application ↗

Most board jobs (Greenhouse/Lever/RemoteOK) are applied through the posting link, not email. Open it, submit there, then hit "Mark as Applied" to track it.

{% endif %}

Email path is optional — only if you have a direct contact. The posting link above is the normal route.

{% endif %}

Record outcome (self-improvement)

{% endblock %}