Front-end and static sites
Where to host a portfolio site and get one link
In short
The easiest way to host a portfolio site is to publish it as an ordinary website, because that gives you one permanent link for your CV, your job applications and your client chats. A plain folder with index.html works, and so does a React, Vue or Astro project: you hand over the files, the platform builds them and serves the site over HTTPS. With Netrun you upload a ZIP or import from GitHub, and on the free plan a portfolio site keeps running indefinitely: it sleeps while nobody visits and wakes up by itself in a couple of seconds.
A portfolio exists for exactly one reason: to be a link you can share. A link in your CV, in a job application, in a message to a client, in your profile bio. So the real question behind "where to host a portfolio site" is where to get an address that will still work in a year and that looks decent next to your name. The usual answer is tiring: rent a server, install a web server on it, get an HTTPS certificate and keep an eye on all of it.
With Netrun it is one action. You upload the folder with your site or import it from GitHub, the platform works out what it is looking at, and you get a public link with HTTPS, including the padlock in the browser. You can paste that link straight into your CV. Below is what to check so the portfolio loads fast and looks put together.
Put the portfolio into one folder#
If your portfolio is hand-written markup, place index.html in the root of the folder with the styles, fonts and images next to it. If you built it with React, Vue, Svelte or Astro, upload the sources together with package.json: we run the build for you, so there is no need to include node_modules or the already built output. Both cases follow the same principle: the platform looks at the files and sees that this is a website.
Compress the images and move heavy video out#
A portfolio is mostly pictures, and pictures are what make a page slow. Compress your photos and project screenshots before uploading, and scale them down to the size they are actually displayed at. Heavy video is better kept on YouTube or Vimeo and embedded with a player: we do not offer separate media storage, and a video file sitting next to the site will load noticeably slower.
Decide how people will reach you#
A contact form does not work on its own: plain HTML can collect what a visitor typed, but it cannot send an email. You have two practical options. Plug in an external form service that receives the submission and forwards it to your inbox, or make the portfolio a small app that accepts the message itself. If you would rather not bother, put your email and a messenger link on the page: for getting a reply that is usually enough.
Upload the folder and get your link#
This is the actual answer to where to host a portfolio site: upload the folder as an archive or import a repository from GitHub, including a private one. Netrun builds the project, brings the site up and gives you a public HTTPS address you can open on a phone, send in a chat and paste into your CV. Publishing status and logs are visible in your dashboard in real time, so a mistake shows up right away instead of as a blank page.
Connect your own domain if the link goes into a CV#
An address like firstname-lastname.com reads better in a CV than a service one. You buy the domain from a registrar separately and connect it on the Pro plan: open the Domains tab, enter the domain, add the DNS record shown in the hint at your registrar and press Verify. The HTTPS certificate is issued automatically, and a second record lets the site open with www as well.
Update the portfolio without changing the link#
When a new project joins your selection, upload a new version or refresh the code from GitHub in your dashboard. The address stays the same, so you do not have to redo your CV and profiles. There is no automatic update on git push: it is one action in the dashboard, and in exchange you always know exactly when the portfolio changed.
Your portfolio lives at a permanent HTTPS link, with no server to rent and no certificate to renew. A portfolio site is exactly the case where the free plan lasts a long time: it sleeps when nobody is looking and wakes up by itself when someone opens the link. The first visit after a pause is a little slower, after that it behaves normally. A custom domain and non-stop uptime are what the Pro plan adds. Try Netrun.
Common questions
How do I add a contact form to a portfolio?
Markup alone will not do it: an HTML form can collect input, but it cannot send an email. Two options work. Connect an external form service that receives the submission and forwards it to your inbox, or turn the portfolio into a small Python or Node.js app that handles the message itself. If neither appeals to you, put your email and a messenger link on the page; for getting a reply that is usually enough.
What do I upload if the portfolio is built with React, Vue or Astro?
Upload the sources together with package.json, and the platform runs the build and serves the finished site. There is no need to include the built output or node_modules; they only make the upload bigger. The result is no different from plain markup: the same public HTTPS link.
Can I keep a PDF of my CV next to the portfolio?
Yes. Put the file in the same folder as the pages and it opens at an address like your-site/resume.pdf, which you can share on its own. Use a simple file name without spaces, otherwise the address turns into an unreadable string.
Why does the site open but the images do not show?
Usually it is letter case in file names. On your own machine photo.JPG and photo.jpg are the same file, on a server they are two different ones, so the path stops matching. Check that the names in your code and in the folder are written identically, and that the images actually made it into the archive instead of sitting in an ignored folder.
Will the portfolio show up in search results?
The link is an ordinary public one, so search engines can reach it, but appearing in results is not automatic and takes time. A clear page title, a short description and meaningful captions for your work all help. The platform does not do promotion: its job is to keep the site open.
What if the portfolio was made in a website builder or exported from Figma?
Look at what you end up with. If it is a folder with HTML, styles and images, it will work as it is. If the builder only publishes on its own hosting and gives you no file export, there is nothing to move yet: first you need the site files themselves.
How do I put a website online?
Upload your site code as a ZIP archive or from GitHub — Netrun builds it and gives you a working link with HTTPS. A static site (HTML, CSS, JS), a React app or a Python site all work. There is no domain to buy and no server or certificates to set up.
Is this free hosting?
For websites — yes. On the free plan a website lives as long as you like: it sleeps when nobody visits and wakes up by itself when someone opens it, and you pay nothing for a server. A bot or a background script can be started and tried for free for 3 days — they are busy all the time and cannot sleep, so after that they need the Pro plan. For several projects there are slots you can buy.
Can I connect my own domain?
Yes, on the Pro plan, and not just one: you can connect as many of your own domains to a website as you need. Open the “Domains” tab on the project page, enter the domain you bought from a registrar, and add the DNS record shown in the hint — every next domain is added the same way. Once the domains are ready, press “Check”: Netrun checks them all at once and issues a separate HTTPS certificate for each, so a hiccup with one domain does not hold up the others. The site opens at any of your addresses, and the Netrun link stays as a backup. If you connect a whole domain (for example myshop.com), you can add one more record so the site also opens with www. This is for websites — a bot or a background script does not need a domain.
Why does my website sometimes sleep?
On the free plan, websites sleep after being idle and wake up in a couple of seconds on the first request. On the Pro plan your project runs without sleeping.