ezBadge v2: Now in Stunning Javascript HD
If you have ever wondered what it looked like to convert an application from Python to Javascript, you are in luck. After finishing ezbadgeyesterday, I came to the realization that the entire thing could and should have been written in Javascript. There is absolutely no reason for this thing to send any requests to a server in order to process the URL and render the markdown.
So, I did just that. Introducing, ezBadge v2 After removing all of the Flask, I was able to create two Javascript functions that essentially did the same thing as the Flask app was doing for me. The added benefit is that other than serving the initial HTTP request, I do not have to handle any additional requests and the entire thing now runs in the browser.
This was a fun little exercise, and I think the Javascript version of this application is a bit more elegant. Rather than appending the template with Jinja as I was doing before, I am now spawning a modal (after doing some form validation) and then using the Marked library to render the preview of the badge markdown. I could have done all of the UI stuff with Flask without any issues, but the fact that the entire thing now runs in the browser saves bandwidth, computing resources, and time.
You can see the transformation for yourself in the ezBadge GitHub repo. In the next iteration of ezBadge I plan on adding more choices for the types of badges that you can make. If you have any suggestions please feel free to leave a comment here or open up a github issue.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2025
- Ladybird on Debian Stable
- My Custom Miniflux CSS Theme
- SQLite DB Migrations with PRAGMA user_version
- Great Lakes, Illinois
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Pluralistic: bunnie's piggyback hack (09 Jan 2026) from Pluralistic: Daily links from Cory Doctorow
- Clicks Communicator from Chris Hannah
- A Year Of Vibes from Armin Ronacher's Thoughts and Writings
- Pluralistic: A perfect distillation of the social uselessness of finance (18 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- Moving from WordPress to Substack from charity.wtf
- Grow, Like a Tree Not a Cancer from Jim Nielsen’s Blog
- Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- DEP-18: A proposal for Git-based collaboration in Debian from Optimized by Otto
Articles from blogs I follow around the net
Bandcamp is Taking Slop Head On with Unequivocal Ban, to the Cheers of Music Lovers Everywhere
’Tis But Some Quick News for January 16, 2026 Bandcamp read the room. It is the hero we need in our hour of darkness. Amidst an onslaught of horrendous AI-generated slop pretending to be music (Spotify is rife with this garbage, though they keep claiming …
via The Internet Review January 16, 2026Pluralistic: Catch this! (16 Jan 2026)
Today's links Catch this! Email is good, actually. Hey look at this: Delights to delectate. Object permanence: LDS excommunication; King Foundation v "I Have a Dream"; "Lat-stage capitalism" v "Christ, what an asshole"; Pelosi …
via Pluralistic: Daily links from Cory Doctorow January 16, 2026Liberating the ASUS CX1100CN Chromebook with OpenBSD
Liberating the ASUS CX1100CN Chromebook with OpenBSD 2026-01-16 I’ve always enjoyed the idea of having a portable, lightweight, 11 inch laptop for my personal use for around the house and small trips. A device that I wouldn’t have to be concerned about just…
via btxx.org RSS Feed January 16, 2026Generated by openring