My resume, written in Javascript/HTML/CSS (using ReactJS).
- Online
- Direct Download - PDF
- Direct Download - Light-themed PDF
- Direct Download - Monochrome/Print-friendly PDF
Writing my resume in HTML seemed like a more structured and maintainable approach than keeping up with various documents in a traditional word processor. Initially this was just an experiment, but so far it seems effective.
Some of the pros and cons of this approach:
+ HTML and CSS allow for precise control over document layout
+ Git history allows maintaining multiple versions of my resume over time
+ Resume content is data-driven [1], allowing a separation of its content vs. its appearance.
+ A live version of the resume could easily be placed online without the need for downloading any files (PDF)
+ Print-to-PDF is effective (on Brave/Chrome, at least), especially with some special CSS hints [2] about printing
+ Possibility for interactive vieweing (esp. filtering)
- Opens the door to browser compatibility issues (mitigated by printing to PDF)
- Currently not mobile-friendly
- May be missing out on special resume-specific features of traditional word processors
If you're interested in building this from scratch, here is how to get started.
git clone <repo>
cd <repo>
npm i
npm start
# open http://localhost:3000
As noted above, resume content is driven entirely by JSON data found in data.js, so start by modifying this file to represent your own experience.
Your browser's print functionality should work, whether printing to file or PDF or other document format. I've tested using using various versions of the Brave browser and am happy with the results.
Note that there is a blank page at the end of the document when printing. I suggest omitting it in the print dialog. This is a workaround for an issue with page breaking CSS rules which results in background color reverting to white in print in some cases.