Job application · 3 designs
Drop-in careers form: name, email, role applied for, portfolio / LinkedIn link, and a free-form "why this role" answer. Three designs covering quiet underlines, friendly cards, and an opinionated manifesto-style brutalist layout.
HTML · 1 file
<!-- SaveForm.io: job-application (minimal) -->
<style>
[data-sf-tpl="job-application"] {
all: revert;
box-sizing: border-box;
display: block;
width: 100%;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
font-size: 16px;
line-height: 1.5;
color: #18181b;
-webkit-font-smoothing: antialiased;
}
[data-sf-tpl="job-application"] *,
[data-sf-tpl="job-application"] *::before,
[data-sf-tpl="job-application"] *::after {
box-sizing: border-box;
}
[data-sf-tpl="job-application"] input,
[data-sf-tpl="job-application"] textarea,
[data-sf-tpl="job-application"] select,
[data-sf-tpl="job-application"] button {
font: inherit;
color: inherit;
margin: 0;
}
[data-sf-tpl="job-application"] button {
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
[data-sf-tpl="job-application"] label {
display: block;
}
[data-sf-tpl="job-application"].sf-job-application--minimal {
max-width: 520px;
background: transparent;
padding: 24px 0;
}
[data-sf-tpl="job-application"] .sf-job-application__title {
font-size: 24px;
font-weight: 600;
margin: 0 0 4px 0;
color: #18181b;
letter-spacing: -0.01em;
}
[data-sf-tpl="job-application"] .sf-job-application__lede {
font-size: 14px;
color: #71717a;
margin: 0 0 28px 0;
}
[data-sf-tpl="job-application"] .sf-job-application__field {
margin-bottom: 18px;
position: relative;
}
[data-sf-tpl="job-application"] .sf-job-application__label {
display: block;
font-size: 12px;
font-weight: 500;
color: #52525b;
margin-bottom: 4px;
text-transform: uppercase;
letter-spacing: 0.08em;
}
[data-sf-tpl="job-application"] .sf-job-application__input,
[data-sf-tpl="job-application"] .sf-job-application__textarea {
width: 100%;
padding: 8px 0;
border: 0;
border-bottom: 1px solid #d4d4d8;
background: transparent;
font-size: 15px;
color: #18181b;
outline: none;
transition: border-color 120ms ease;
}
[data-sf-tpl="job-application"] .sf-job-application__textarea {
resize: vertical;
min-height: 100px;
}
[data-sf-tpl="job-application"] .sf-job-application__input:focus,
[data-sf-tpl="job-application"] .sf-job-application__textarea:focus {
border-bottom-color: #18181b;
}
[data-sf-tpl="job-application"] .sf-job-application__input::placeholder,
[data-sf-tpl="job-application"] .sf-job-application__textarea::placeholder {
color: #a1a1aa;
}
[data-sf-tpl="job-application"] .sf-job-application__button {
margin-top: 8px;
padding: 10px 0;
background: transparent;
color: #18181b;
font-weight: 500;
font-size: 14px;
border: 0;
text-align: left;
border-bottom: 1px solid #18181b;
width: auto;
transition: opacity 120ms ease;
}
[data-sf-tpl="job-application"] .sf-job-application__button:hover {
opacity: 0.7;
}
[data-sf-tpl="job-application"] .sf-job-application__honey {
position: absolute;
left: -9999px;
}
</style>
<form
class="sf-job-application--minimal"
data-sf-tpl="job-application"
action="https://saveform.io/api/submit/YOUR_FORM_ID"
method="POST"
>
<h2 class="sf-job-application__title">Apply</h2>
<p class="sf-job-application__lede">We read every application. Real humans, two-week turnaround.</p>
<input type="text" name="_honey" class="sf-job-application__honey" tabindex="-1" autocomplete="off" />
<div class="sf-job-application__field">
<label class="sf-job-application__label" for="sf-job-application-name-m">Full name</label>
<input id="sf-job-application-name-m" class="sf-job-application__input" type="text" name="name" required />
</div>
<div class="sf-job-application__field">
<label class="sf-job-application__label" for="sf-job-application-email-m">Email</label>
<input id="sf-job-application-email-m" class="sf-job-application__input" type="email" name="email" required />
</div>
<div class="sf-job-application__field">
<label class="sf-job-application__label" for="sf-job-application-role-m">Role applying for</label>
<input id="sf-job-application-role-m" class="sf-job-application__input" type="text" name="role" placeholder="e.g. Senior Frontend Engineer" required />
</div>
<div class="sf-job-application__field">
<label class="sf-job-application__label" for="sf-job-application-link-m">Portfolio or LinkedIn</label>
<input id="sf-job-application-link-m" class="sf-job-application__input" type="url" name="link" placeholder="https://" />
</div>
<div class="sf-job-application__field">
<label class="sf-job-application__label" for="sf-job-application-cover-m">Why you</label>
<textarea id="sf-job-application-cover-m" class="sf-job-application__textarea" name="cover_letter" placeholder="A few lines on what draws you to this role." required></textarea>
</div>
<button class="sf-job-application__button" type="submit">Submit application →</button>
</form>
Replace YOUR_FORM_ID with the id of a form in your SaveForm dashboard. Every class is namespaced under [data-sf-tpl="job-application"] so the template cannot collide with (or be overridden by) your site styles.