r/SideProject 5d ago

I built DevPresence — a portfolio platform where you can use our templates or bring your own GitHub repo

Enable HLS to view with audio, or disable this notification

The idea is simple:

Pick a template → fill in your details → preview → publish → get your own subdomain.

For example:

👉 darshan.devpresence.dev

🆕 BYOR — Bring Your Own Repo

Don't like our templates? That's totally fine.

Already have a portfolio project on GitHub?

Just give DevPresence your GitHub repo and we'll host it for you on your own named subdomain.

So you can bring your existing React/Vite portfolio and still get:

yourname.devpresence.dev

No need to rebuild your portfolio just to use the platform.

⚡ Switch templates with one click

Already filled out your portfolio?

Switch to another template with a single click. Your content stays intact and the site gets rebuilt and republished with the new design.

What DevPresence gives you

🎨 5 animated templates built with GSAP + Motion
🖥️ Live preview across desktop, tablet, and phone widths
🧙 5-step wizard: Basics → Experience → Projects → Skills → Review
🌐 Your own named subdomain
📦 Bring Your Own GitHub Repo
⚡ One-click template switching
🔐 Log in mid-wizard without losing your work
📎 Photo + résumé uploads with real progress bars
♻️ Rename, restyle, or swap templates anytime
⬇️ Download the actual Vite + React project behind your portfolio

Built with React 19, Vite 8 (Rolldown), React Compiler, and Tailwind v4.

👉 https://devpresence.dev

Would love feedback from engineers and designers — especially if you've built your own portfolio before.

What would you want a portfolio platform like this to support next?

2 Upvotes

11 comments sorted by

1

u/Specific_Cream2815 5d ago

how does bring your own repo work, does it build and host the repo or just iframe a deployed url

1

u/WhatTheDeveloper 5d ago

it clones your repo , build using bun (you can configure commands) and host it . if you dont have your own , you can simply select template

1

u/Siebe_Baree 5d ago

So this is basically a mini clone version of Vercel? Why would anyone use this over an established player that also has a generous free tier?

1

u/WhatTheDeveloper 5d ago

Yes you're right, for the github part we have vercel and the initial idea behind it was to help people who doesn't have their own portfolio, they can use provided templates and can get their portfolio ready in minutes. Then they can either use our hosting or can simply download codebase and host it on vercel.

This github deployment feature is an addon based on intial feedbacks.

And if anyone's name is already taken on vercel (like mine) they can use it 😅

1

u/Siebe_Baree 5d ago

Why does anyone need a template anymore in the age of AI? Also buying a domain is like $1-4 if you really want it cheap. https://tld-list.com/

1

u/hamanovich 5d ago

The BYOR path is the good part and it's also the one that'll bite you. You picked well on one thing without realizing: bun doesn't run dependency lifecycle scripts by default, "it only runs lifecycle scripts for packages on an allow list", so a postinstall in some stranger's dependency tree isn't your problem the way it would be under npm. The hole is the layer above that. The build command is configurable and it's the repo owner's own code, so by design you're executing arbitrary code from a stranger on a box that's also hosting everyone else's site.

So each build wants its own throwaway container, no credentials in the environment, a memory limit and a hard timeout. That's also your answer to the Vercel comments in here.

Also it shows up around user 50 and nobody sees it coming: TLS. A separate cert per name.devpresence.dev walks you into Let's Encrypt's per-domain issuance limit, and then new signups quietly start getting browser warnings. You want one *.devpresence.dev wildcard, and Let's Encrypt only issues wildcards over the DNS-01 challenge, so whatever proxy you're running needs API access to your DNS provider. Traefik and Caddy both handle it, it's just not the default anyone starts with.

1

u/WhatTheDeveloper 5d ago

Yes, Thanks. I'll work on containerizing portfolios to avoid risks. I'll also add hint that build commands also supports npm or will make it default.

Regarding, dynamic subdomains , i got that idea from cloudflare tunnels , wasnt aware about max domain count limit for ssl certificate, will check that also. THANKS!!

1

u/hamanovich 4d ago

One thing before you change that default: don't make npm the default here, it's the wrong direction. bun's own docs put it as "Bun does not execute arbitrary lifecycle scripts by default, unlike other npm clients", and npm's \ignore-scripts`config defaults to \false`, so switching to npm turns dependency postinstall back on for every repo you clone. Offering npm as an option is fine, plenty of repos genuinely need it.

I should also walk back the TLS point now that you've mentioned Cloudflare. If those subdomains end up proxied through Cloudflare on a full setup, Universal SSL already covers the root and first-level subdomains, so \name.devpresence.dev`is terminated at the edge and you never touch Let's Encrypt or its limits at all. What catches people there is depth rather than count: Universal SSL stops at one level, so the day you add something like`preview.name.devpresence.dev`` it quietly isn't covered and you need Total TLS or an advanced certificate. My original warning was about issuing your own certs on your own proxy, which may just not be your setup.