aschmelyun/print-my-profile-pic
Productivity & UtilitiesA fun personal project that prints stargazers' GitHub avatars on the author's receipt printer.
This is a personal novelty project rather than a reusable tool. When someone stars the repository on GitHub, the author's own system captures that person's display name and avatar URL, frames the avatar, and prints it on a thermal receipt printer at his desk. The README presents it as a playful experiment, not as software others are expected to install or run.
What happens when you star it
A GitHub webhook is configured for the star event on this repository GitHub star webhook event. The webhook payload is POSTed to a Cloudflare Tunnel domain Cloudflare Tunnel, which routes to a PHP script on a Raspberry Pi on the author's desk. That script extracts the stargazer's display name and avatar URL, renders the profile picture behind a photo-frame cut-out, adds other receipt details, and sends the result to an Epson TM-T88IV thermal printer over USB. Formatting and printing use the escpos-php library escpos-php.
So the workflow is: star the repo → GitHub webhook → tunnel → PHP script on the Pi → framed avatar printed → the receipt is pinned to a board the author calls the "Hall of Frame" README. The README says the board is updated periodically with photos as frames are added.
Optional framing perk
The author notes that a one-time GitHub Sponsorship of any amount before starring causes the profile picture to be printed in a special frame one-time sponsorship. This is a personal thank-you, not a product feature, and it does not alter what stargazers need to do.
Requirements and scope
Following the documented flow requires the author's infrastructure, not the reader's: the GitHub webhook setup, a Cloudflare Tunnel, a Raspberry Pi running PHP, and a specific USB thermal receipt printer. The repository supplies the webhook design and describes the printing script, but it is presented as a personal, ongoing physical installation. The project is about a demonstrated pipeline, and following it in practice means supplying equivalent hardware and hosting yourself.
The README does not document deployment instructions, general compatibility, or supported platforms for recreating the setup. There is no declared license, so reuse or redistribution terms are not provided in the supplied material repository. The scope is a fun way to send the author a star, not a maintained utility with a user-facing service.
Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.