StealThis .dev

Job Board — Resume Upload

A candidate-portal resume upload step with a drag-and-drop zone, a file chip that shows an animated upload progress bar, and a simulated parse that streams section checks before populating an editable preview. The preview auto-fills name, title, email, phone and location, renders removable skill pills with an add-on-Enter input, and lists prior roles with colored company logos. Remove, re-upload and sample actions all work, powered by dependency-free vanilla JavaScript.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Resume Upload

A two-panel resume step from an ATS-style candidate portal. The left panel is a dashed drag-and-drop zone with a hover and active drag state, a browse-files link, and a “Try sample” shortcut for when no file is handy. Dropping or selecting a file reveals a file chip with a PDF thumbnail, file name and size, and a progress bar that animates from upload to a green “Uploaded” state before parsing begins.

The right panel walks through three states. It opens empty, switches to a parsing view with a spinner and a checklist that ticks off contact details, skills and work experience one at a time, then resolves into an editable preview form. The parser auto-fills name, job title, email, phone and location, renders skills as removable pills with a live count and an add-on-Enter input, and lists prior roles as cards with colored company initials.

Everything is interactive and dependency-free: file validation for type and size, an animated upload simulation, remove and re-upload actions that reset the flow, a working form submit with required-field checks, and a small toast helper for feedback. The layout collapses to a single column and stacks its actions down to roughly 360px.

Illustrative UI only — fictional jobs & companies, not a real hiring platform.