Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
146980 stories
·
32 followers

Modern CV Technology: JSON Resume embedded in HTML

1 Share

Problem: uploading your resume/CV to a job portal should yield a perfectly parsed CV but often does not. This is true even if your template .docx is a claimed good starting point for later ingesting into such systems.

Building the Future of Digital Resumes: A Technical Deep Dive

In an era where Applicant Tracking Systems (ATS) and job portals increasingly dominate the recruitment landscape, the traditional PDF resume is showing its age. What if we could create a resume format that’s simultaneously machine-readable, human-friendly, and completely self-contained? Well, that ended up being a side project - read on.

The Problem with Traditional Resumes

Traditional resume formats present a fundamental challenge:

  • PDFs look great but are difficult for ATS systems to parse accurately, even in the nascent AI era.
  • Word documents are editable but inconsistent across platforms
  • Plain text is machine-readable but lacks visual appeal
  • Linked In would like to own this space, but they’re way too much lock in, and spend too much trying to keep your engagement in their pages, vs get you a job.

The Solution: JSON Resume Schema + Interactive HTML

This repository showcases a evolutionary approach that combines the best of two words - mnachine parsable and appealing to human eyes. The raw storage of the CV/resume data:

Every resume uses the official JSON Resume standard:

{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "basics": { "contact": "info and summary elemnts" },
  "work": [ { "employment": "history blah blah blah" } ],
  "education": [ { "degrees": "and certifications" } ],
  "skills": [ { "technical": "abilities yada yada"} ],
  "and": "ten more standardized sections"
}

Each resume/CV is a single HTML file containing:

  • Embedded JSON data above in a <script> tag for ATS extraction
  • Inlined CSS (~1000 lines) for complete visual control
  • Inlined JavaScript (~1200 lines) for interactive features
  • Zero external dependencies for viewing (optional CDN for PDF generation)

The same file serves two masters:

  • Machines: Extract structured JSON data for database import. It could have as easily been XML or YAML, but JSON parsing in web pages is built in.
  • Humans: Styled and responsive HTML with some interactive features

Some interactivity to control verbosity

You can click a pen to go into edit mode. Editing isn’t text, it is contract (-) and expand (+) affordances to reduce the verbosity of sections. While I may gush about the origin story of Selenium an in-firm recruiter, then agent who’s taken my CV to them, the downstream interviewers are spectacularly uninterested in that so they’ll hit (-) to collapse that section. This’ll persist if you go on to print the resume/CV, but not if you close the tab.

Responsive Design with Print Optimization

The CSS includes specialized media queries to ensures URLs are visible in printed versions—crucial for ATS systems and recruiters. Versus just hyperlinks when that’s in a browser. No big deal perhaps.

PDF Generation Pipeline

For enhanced PDF output, the system dynamically loads:

  • html2canvas: Renders HTML to canvas with pixel-perfect accuracy
  • jsPDF: Converts canvas to professional PDF format

Ignoring this lazy load of JavaScript from CDNs, this was otherwise a zero dependency tech.

Sample CVs in the repository

Current collection includes 14 example resumes featuring fictional characters:

  • Technical roles: Tony Stark (Genius/Inventor), Harold Finch (Software Engineer)
  • Leadership positions: T’Challa (Head of State), Princess Leia (Rebel Leader)
  • Diverse backgrounds: Hermione Granger (Academic), Mulan (Military Officer)

Take a look at Sam “Root” Groves from “Person of Interest” TV series; paul-hammant.github.io/better-cv-tech/Samantha_Groves_Resume.html

Implementation Highlights

Markdown Support Within JSON

The system supports basic markdown in key text fields:

  • **bold text** and *italic text*
  • [link text](https://example.com) for clickable links
  • Paragraph breaks with \n\n

This enhances human readability while maintaining ATS compatibility. Well, maybe.

ATS Integration Strategy

For ATS systems to adopt this format, they need minimal changes:

// Extract resume data from HTML
const resumeScript = document.getElementById('cv-data-json');
const resumeData = JSON.parse(resumeScript.textContent);
// Now import structured data directly into database

Likely they’d just snipping of the unparsed source file though. Either way, this is orders of magnitude more reliable than PDF or .docx text extraction or HTML scraping. Even with claimed AI on their side in 2025

Performance Characteristics

  • File size: ~80KB per resume (including all assets)
  • Load time: Near instant (no external requests for viewing)
  • Browser support: Modern browsers with JavaScript turned on (ES6+ required)
  • Mobile responsive: Breakpoints at 768px and 480px

Security Considerations

For recruiters receiving HTML resumes:

  • No file system access - Pure DOM manipulation
  • No external requests - Self-contained execution
  • Standard JavaScript - No eval() or dangerous APIs
  • Data transparency - JSON visible in source

Likely there will be some over-cautiousness. Bigger companies could verify the JavaScript within each uploaded CV/resume if they really wanted to. A whitelist of sorts (extract, lint / pretty-print / SHA256 -> check against whitelist).

Getting Started

To create your own resume:

  1. Copy a template: Use Lorem_Ipsum_Resume.html as your starting point
  2. Replace JSON data: Update the embedded resume data with your information
  3. Inline css and javascript: They are separate in the repo, as there is fourteen or so sample CV/resumes.
  4. Test thoroughly: Verify print output and mobile responsiveness
  5. Name appropriately: Use FirstName_LastName_Resume.html format

Or get AI to take the constituent pieces and make the page for you. It did so for mine in a couple of mins. Prompt is in the repo.

Repository: paul-hammant/better-cv-tech
Live Demo: GitHub Pages Gallery - 14 resume/CVs
Schema: JSON Resume v1.0.0

Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

AI Slop? Not This Time. AI Tools Found 50 Real Bugs In cURL

1 Share
The Register reports: Over the past two years, the open source curl project has been flooded with bogus bug reports generated by AI models. The deluge prompted project maintainer Daniel Stenberg to publish several blog posts about the issue in an effort to convince bug bounty hunters to show some restraint and not waste contributors' time with invalid issues. Shoddy AI-generated bug reports have been a problem not just for curl, but also for the Python community, Open Collective, and the Mesa Project. It turns out the problem is people rather than technology. Last month, the curl project received dozens of potential issues from Joshua Rogers, a security researcher based in Poland. Rogers identified assorted bugs and vulnerabilities with the help of various AI scanning tools. And his reports were not only valid but appreciated. Stenberg in a Mastodon post last month remarked, "Actually truly awesome findings." In his mailing list update last week, Stenberg said, "most of them were tiny mistakes and nits in ordinary static code analyzer style, but they were still mistakes that we are better off having addressed. Several of the found issues were quite impressive findings...." Stenberg told The Register that about 50 bugfixes based on Rogers' reports have been merged. "In my view, this list of issues achieved with the help of AI tooling shows that AI can be used for good," he said in an email. "Powerful tools in the hand of a clever human is certainly a good combination. It always was...!" Rogers wrote up a summary of the AI vulnerability scanning tools he tested. He concluded that these tools — Almanax, Corgea, ZeroPath, Gecko, and Amplify — are capable of finding real vulnerabilities in complex code. The Register's conclusion? AI tools "when applied with human intelligence by someone with meaningful domain experience, can be quite helpful." jantangring (Slashdot reader #79,804) has published an article on Stenberg's new position, including recently published comments from Stenberg that "It really looks like these new tools are finding problems that none of the old, established tools detect."

Read more of this story at Slashdot.

Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Can YOU make Megabonk ($8mil) or do players like Pixel art?

1 Share

Hello and Welcome, I’m your Code Monkey!

I hope you had an awesome week full of productivity and some fun stuff, I know I did! Just yesterday I went to a fun anime event, IberAnime, it's always super cool! And 2 people randomly recognized me which is also fun!

Also had a super productive week, I've started recording the walkthroughs solving the problems in my Problem Solving course. I've recorded a lot, 40 videos, but still a lot of work to go considering how there are over 200 exercises! I’m really looking forward to getting this into your hands so you can learn this awesome SUPER VALUABLE skill!

  • Game Dev: Make Megabonk, Players like Pixel art?

  • Tech: 1 Trillion Webpages

  • Fun: 3D reprojection



Game Dev

Can YOU make Megabonk (and $8mil) in 1 month?

There is a game that is a mega hit that came out recently, it's Megabonk.

It's a third-person vampire-survivors-like. Tons of enemies, tons of weapons/upgrades, PS1 aesthetic and lots of memes. It's already sold around 1 MILLION copies ($8 million) and players love it with 94% positive review scores.

In terms of mechanics the game does indeed seem nothing too complex, you've got vampire-survivors-like gameplay but in third person. Doesn’t seem technically that difficult which in turn means this leads to an "interesting" discussion happening on Reddit where some people are saying "I can make this game better in a month"

Now I think this sentiment is ridiculous and no game dev with any amount of experience would say such a thing with a straight face, but it does lead to one very important point that is often hard to understand, it's on the difficulty of game design and how hard it is to design a good compelling game.

In technical terms a good game dev can indeed clone Megabonk in a few months, however that is only because the design is already done, all the hard decisions of figuring out what works and what doesn't is already done. That's the really hard part about game dev. Cloning something that is already done is infinitely easier than coming up with something from scratch.

That's also why some great advice if you want to find success as a game dev is find out what already works and just tweak it a bit. Your odds of ending up with something worthwhile are infinitely better than if you try making something completely original or a very new idea completely from scratch. The recent excellent Jonas Tyroller video talks about this topic.

Since this game is such a huge hit I have a feeling the next 12 months will be filled with lots of Megabonk-likes.

Oh and there's also theories that the developer behind this game is Dani. The name Vedinad is DaniDev backwards, the thumbnails on YouTube are very similar and both are from Norway. However the voice is different so it could really just be a fan, or a voice changer. Whoever it is, either the same person or someone else, clearly both are extremely skilled both as developers and marketers.

I love indie games because of this. Someone comes along and mixes genres/formats in a new formula that everyone loves. You don't see this kind of innovation in AAA games but it happens all the time in the indie space.


Affiliate

Synty Bundle ends SOON! FREE Grass Tool!

It’s FINALLY back! There’s an awesome Synty HumbleBundle! (ENDS SOON!)

I think it’s been over a year since a bundle like this came out, this is an excellent deal with thousands of meshes for 97% OFF!

Like I said I haven’t seen a Synty bundle in a year so if you like their style then DON’T MISS this bundle! Get it HERE!

The Publisher of the Week this time is Ekincan Tas, it’s a publisher with some nice tools.

Get the FREE Interactive Wind 2D which adds some wind effect to your trees and grass making your game feel a lot more alive.

Get it HERE and use coupon EKINCANTAS at checkout to get it for FREE!

I’ve recently made another Asset Review video, this time on the excellent Mesh Extractor.

This is an excellent helper tool that has helped me out quite a bit in the past few years. It helps you basically get more out of every asset you already have by picking up pieces from various meshes and reusing them in different ways.

Watch my video to see how easy it is to use.

It’s a super useful tool and for just $20 it is easily worth it, the 50% OFF sale is ending in a few days so get it quickly HERE!


Game Dev

Do players like Pixel art?

One developer on Reddit did a very interesting thorough study on Pixel Art games trying to figure out if that style is something players like or not. The result is out of 6422 games, only 5% managed to hit 500 reviews! That's rough!

Now this might not necessarily mean that Pixel art is responsible for the bad results (although if you're a solo dev then 500 reviews is a hit, not just a "decent" result). Perhaps it is simply the case that more beginners choose pixel art therefore the games are more amateurish as opposed to other styles.

The developer tried doing some manual analysis of the outliers to try to get some sense of the data. Within this style the big winners were Turn-Based + RPG as well as Difficult games, so it appears perhaps this style can be good for more hardcore games whereas games tagged Cute or Magic did not do as well. Based on my own manual analysis I would say this tracks, I have done some research on TikTok/Instagram which are platforms where a bunch of games have found quite a lot of success, and the cozy genre is a big one on there, however those cozy games are almost never pixel art, usually it's more low poly and soft colors.

Singleplayer seems to be more common than Multiplayer in Pixel Art games, and Horror, Visual Novel, Bullet Hell, Puzzle and First Person seem to be the worst performers. Although to be fair, those genres (other than Horror) are very rough genres on Steam as a whole.

I think the main takeaway from this is how it is very difficult to make GOOD pixel art, and it's very easy to make BAD pixel art. Games, and especially game marketing, is a very visual thing and if your game does not look excellent on the first few seconds then you're off to a rough start.

I quite enjoy pixel art but there are definitely a sizeable amount of players that for some reason consider the style "low quality". However like I said it's a style that is hard to make right, so for me considering how I am not an artist and I have to buy art from the Asset Store, for that in order to keep the game looking consistent it is much better for me to go with a style like Low Poly instead.



Tech

One TRILLION Webpages saved!

One of the magical wonders of the internet is the Internet Archive also known as The Wayback Machine. This is a non-profit that attempts to store just about everything on the internet. For example you can see how Steam looked like all the way back in 2007, very different!

They are constantly saving a ton of webpages every single day and just recently hit the 1 TRILLION milestone! That's an insane amount!

They are doing a bunch of talks all throughout October so if you're interested in preservation of the web definitely give them a watch. Oh and this is a non-profit so they rely on donations, if you can send a few bucks their way, I will send a donation myself since I really value what they're doing.

I have used the Wayback Machine a few times over the years, it's really invaluable for getting a snapshot of a website at a certain point in time. For example in my Game Dev Journey video I used it a lot to showcase Flash MX, Mochiads and the Unity website back in the 3.5 days when I first got started.



Fun

Turn your screen into a 3D portal!

3D without glasses/headsets is something I always find fascinating. One former Meta engineer did exactly that with a simple camera.

Basically it uses the laptop camera to find your head, then reprojects the screen in realtime to match what you would see if it was a 3D scene. The result is an image that moves which gives it some very impressive simulated depth, WITHOUT any glasses! The On vs Off demo is super impressive.

I have seen this tech a few times and it always amazes me, as cameras and eye tracking improves this tech will hopefully become more and more commonplace.




Get Rewards by Sending the Game Dev Report to a friend!

(please don’t try to cheat the system with temp emails, it won’t work, just makes it annoying for me to validate)

Thanks for reading!

Code Monkey

Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Testing with FakeLogger — Scopes

1 Share
A practical look at using Microsoft's built-in FakeLogger for testing logging scopes in .NET applications.
Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Cursor Levels Up With 1.0 Release, Adding MCP Support and Persistent Memory

1 Share
Cursor 1.0 is here, featuring BugBot for seamless GitHub code reviews, asynchronous Background Agents, collaborative Jupyter support, and more!
Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Random.Code() - Automatically Logging Invocations Using Interceptors, Part 4

1 Share
From: Jason Bock
Duration: 0:00
Views: 8

In this stream, I cover how I got the test to work, I write more tests, and I add a couple more things to hopefully close out the POC.

https://github.com/JasonBock/Tachyon/issues/1

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories