Description: "I stopped decorating my GitHub profile and started shipping it like a product page. Four apps, four download buttons, zero widgets."
I [stopped / spent a weekend] treating my GitHub profile like a résumé and started treating it like a product page.
Now a stranger lands on it and can download one of my four apps before they finish reading my name.
👉 Live: github.com/Akhouri-Anmol-Kumar
Credit: the spark to push my profile past badges came from Giorgi Kobaidze's cyberpunk-console post. Go read it.
The problem with every "awesome" profile
Open ten popular profile READMEs. You'll see the same things:
- a wall of badges
- a stats card that shows commit counts
- a "Hi 👋 I'm ___" line
- a snake eating your contribution graph
They're decorations. None of them answer the question every visitor has in the first three seconds:
"What can I get from this person, right now?"
I build desktop apps: ATLOCK, APIC, ANOTE and ACALCU. So I asked myself a different question:
What if my README worked like an app store listing?
The 5 Rules of a Storefront README
Rule 1: The 3-Second Download Test
If someone can't download your best work within 3 seconds of landing, the page has failed.
So each of my apps gets its own card, and directly under every card is a download button that points to the actual .zip release. There's no "see releases" and no hunting.
<td align="center">
<a href="https://github.com/USER/APP">
<img src="assets/app_card.svg" width="408" alt="APP">
</a><br>
<a href="https://github.com/USER/APP/releases/download/TAG/APP.zip">
<img src="https://img.shields.io/badge/⬇%20DOWNLOAD%20APP-B8935F?style=for-the-badge&labelColor=8a6c3f&logo=windows&logoColor=white" height="38">
</a>
</td>
Card on top, action underneath. It's the same pattern as a store listing.
Rule 2: Pick one metal and never leave it
Mine is gold: #B8935F for the light tone and #8a6c3f for the shadow.
The ring-light logo, the section headers, the buttons and the card edges all use it. Because every element shares one palette, the page looks designed rather than assembled.
Badges look cheap because they're every color at once.
Rule 3: One width, everywhere
Every full-width image on my profile is 830px. That's the entire layout system.
Nothing is slightly wider or narrower than its neighbour, so the page reads as one column instead of a pile of widgets. The app cards are 408px, which is two cards plus a gutter inside that same 830.
If you only copy one rule from this post, copy this one.
Rule 4: Name your sections like paths
My headers aren't "About Me" and "Projects". They are:
~/links
~/apps
~/status
~/stack
It costs nothing, and it tells a developer in half a second that the person behind the page lives in a terminal. It also makes the page scannable, because every header looks the same and sits in the same place.
Rule 5: Make your manifesto a design element, not a paragraph
Right in the middle of the page I put one banner:
Zero telemetry. Zero cloud. Zero subscriptions. Zero ads.
It isn't a bio line. It's the whole product philosophy, rendered as a full-width image. And the page closes with one sentence:
Your machine. Your data. Your control.
Visitors don't remember bullet lists. They remember a line they could repeat.
The "no widgets" decision
I made one hard choice: every visual on my page lives in my own repo.
No stat cards from someone else's server. No streak counters that go blank when a free service sleeps. No images that vanish when a third party changes a URL.
My cards, headers, hero and footer are all SVGs in /assets, and the only outside piece is the download badge. (If I ever need to remove even that, I can swap in my own SVG.)
Two details that matter:
-
I use absolute
raw.githubusercontent.comURLs for images, so the README still renders if it's copied, mirrored or previewed somewhere else. - Everything has alt text, including the manifesto banner, so the page works for screen readers and for people whose images fail to load.
The structure at a glance
[ ring-light logo ]
[ hero: whoami ]
[ ~/links → Website · Blog · LinkedIn · Peerlist · Instagram ]
[ ~/apps → 2×2 grid of cards, each with a DOWNLOAD button ]
[ ~/status → ZERO telemetry banner ]
[ ~/stack → tech stack ]
[ footer → "Your machine. Your data. Your control." ]
Only six sections and one action per app. Nothing on the page is there just to fill space.
Here's the challenge. Your profile has one job. Find it, then make that job a button.
- Selling apps? Put a download button under each one.
- A writer? Put your three best posts as cards.
- A library author? Put
npm i your-libas the hero.
Then drop your link in the comments and tell me the one action your page is built around. I'll read every one.
Stop decorating your profile and start shipping it. 🚀
I'm Anmol, and I build privacy-first desktop software at Akhouri Systems.
🌐 Website · 💼 LinkedIn · 🔒 ATLOCK


Top comments (47)
Thanks for the mention. I really like your version, you nailed it!🔥
thanks
you really started a trend bro.
congrats and thanks for the trend.
you inspired me to update my old readme to a really great store front readme.
I'm glad I indirectly contributed to that!
yeah, bro also you guys are managing the no. stats easily but when I just set up one download counter my mind blowed, it was not working automatically manual run workflow was only working how do you guys manage it?
Do you mean the automatic scheduled workflow didn't work? If that's the issue, sometimes it has some delays, it can run a bit later than scheduled, but it'll eventually run.
Like I waited for 3hours but I set it to 30minutes update.
I will try it to setup one more time.
Try daily updates. I have set it on a daily schedule and it usually still runs late. That’s because of high loads and many scheduled runs I suppose.
oh, like 24hours update right? okay I will set up 1 day auto-update.
for temporary purpose to resolve the issue I removed the download status from the readme completely lol.
Yeah, once in 24 hour is a good frequency for that kind of stats. It’s not too frequent and your data doesn’t get stale for too long.
yeah, we are connections in linkedIn now. and dev.to too
BROS 🤝?
Haha sure😄 DEV bros😂
yeahhhh
🤝
feeling proud to be bro of 2x hackathon winner.
😂don’t take me too seriously. I’m just a guy who loves building stuff😄
just a guy LOL.
really just a guy I've never seen just a guy with 2 times hackathon winner title. LOL 😂
😄
☠️😂
Awesome, another top post!👏
another top? bro it is not viral till now.
oh yeah sorry sorry I just seen this post is also viral
500 views crossed just.
bro have you seen my new readme?
waiting for this badge lol.
source: screenshot taken from @xulingfeng 's profile badges
bro how can I get that badge any tips?
You just need someone to send you two diamonds.
and who is that someone?
@xulingfeng BRO BRO assemble all my freinds.
mustafa, the lazy girl and you. please quick hurry I need to say one thing.
something special.
right here in this chat.
😕???
bro please be quick grab there attention and make them active here in chat. I want to share one thing please...
The 3-second download test is the right frame. I ran something similar when I moved my project links above the fold — bounce rate on my profile dropped hard because people stopped scrolling for the "see releases" link. One thing I'd push back on: the
.zipdirect download is clean for desktop apps, but if any of these ever ship as web services, you'll want a live demo link next to the download, not buried. Four apps with four buttons is a strong start though — most profiles I see have zero.thanks for the feedback
but I didn't understand
feeling glad that you liked my readme
Treating a README as a storefront is a mindset shift that a lot of developers miss, often getting bogged down in flashy badges and contribution graphs that don't actually tell a recruiter or collaborator what you can build. I've found that the most effective profiles focus heavily on the "why" and the "how" rather than just a list of technologies. Instead of just listing React or Go, showing a quick architectural breakdown or a link to a specific, well-documented problem you solved makes a much stronger impression. One thing to watch out for is over-engineering the README itself; if it takes more time to maintain your profile than your actual projects, you've crossed the line from storefront to distraction. Keep the documentation lean and let the code do the heavy lifting.
yeah bro I will manage & maintain it.
Thanks for the advise
Spot on. Honestly, I’m so tired of scrolling through endless contribution snakes and generic stats cards just to figure out what someone actually builds. Treating a README like an app store listing is a solid mental model. It cuts straight to the value proposition.
yeah actually right.
Glad you agree, Akhouri. At the end of the day, a hiring manager or open-source maintainer wants to see your impact, not your setup. A profile README should act like a pitch deck for your skills—show me the live demo links, the architecture layout of your top project, and what problem you actually solve. The generic stats cards just create unnecessary noise and bloat.
I am also fall into a README.md black hole, but at least I zip my CV to one line:
single line CV: Creator of mordorjs and TifY also pipeline-operator fanatic. 🇭🇺
The placeholder image just is a beginning something new which will be comming ...
github.com/Pengeszikra
The most important part is where my dev.to post link to my repo.
This is actually a much better way to think about a GitHub profile. Most profiles look nice, but I rarely know what I’m supposed to click first. Putting the actual apps and download buttons front and center makes the page feel way more useful.
yeah that's why I called it a storefront.
and I would recommend every developer if they are shipping apps then make github profile readme like me.
Cách tiếp cận coi README là storefront thực sự thay đổi tư duy của mình về việc xây dựng thương hiệu cá nhân. Thay vì lấp đầy trang cá nhân bằng các badge màu mè hay những dòng quote vô nghĩa, việc tập trung vào các dự án thực tế và cách chúng giải quyết vấn đề cụ thể sẽ gây ấn tượng mạnh hơn với nhà tuyển dụng. Một kinh nghiệm mình rút ra là đừng chỉ liệt kê tech stack, hãy thử đính kèm một vài con số hoặc kết quả thực tế từ các dự án đó. Nó giúp người xem hình dung ngay lập tức năng lực thực chiến của bạn thay vì chỉ nhìn vào một danh sách từ khóa khô khan.
"Your profile has one job, make it a button" is such a sharp idea. The single-width rule and self-hosted SVGs are underrated details.
Yeah, thanks
the manifesto as image (rule 5) is the one that scales. a banner you can read in half a second stays with people after they close the tab. "zero telemetry. zero cloud. zero subscriptions." is compact enough to repeat and specific enough to mean something. most bios try to say everything and end up saying nothing.
the ~/apps path naming is also doing more work than it looks. it's not just aesthetic: it tells someone scanning the page in two seconds that the person behind it works on the command line. that's a signal before they read a word.
one thing worth testing: does the download button convert better before or after the screenshot? some product pages put the action above the fold, others let the visual do the selling first. curious which one your bounce data says.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.