Moving my portfolio on the Internet Computer

For a while, I wanted to create a personal website to showcase case studies and share my thoughts online. I looked at various options but wanted something different, something that gave me full control and was not too expensive. That’s how I ended up creating a custom website and hosting it in a non-traditional way using the Internet Computer blockchain.

DFINITY background

Understanding options for a portfolio website

When thinking about where to build my portfolio, I considered many options:

Realizing that I’d put efforts into compiling portfolio case studies, writing blog articles — I wanted to have something that I’ll have a full controll of. I didn’t want to depend on a service that might shut down or terminate my access. So, I decided to build my website by myself.

Custom built website, why I chose Astro

I have development experience and am eager to learn more. After some research on currently popular frontend solutions, I picked Astro — a framework for content-driven websites.

I liked Astro right away because it simplifies things. For instance, to add a new project or write a blog post, I just create a new markdown file (.md), and the site automatically generates a page for it. This means I don’t have to worry about coding each page—just focusing on the writing part, which I find to be the most challenging.

So far, everything looks great. Building the actual layouts took some effort, but the way information is structured in Astro makes total sense. It has allowed me to easily build the site, focusing on sharing my projects and ideas without the technical hassle.

What is the Internet Computer?

The Internet Computer is an open and secure blockchain-based network that allows individuals to personally manage their data without relying on third-party solutions. All user data is stored in ‘canisters’, a unique storage solution on this platform. From a technical standpoint, websites are hosted on the blockchain, yet end users will not notice any difference compared to traditional hosting services.

🤙 What’s great about it

🚧 What’s not so great

How to host on the Internet Computer

You need a few things to start

Manual way

In short, you’ll need to:

  1. Install IC SDK
  2. Understand some Internet Computer basics (what is a principal, how does the canister address look like, etc…)
  3. Have a cycles wallet that contains cycles (Cycles is like a gas on Ethereum but insted of users, developers pay for their canisters).
  4. Deploy an asset canister
  5. Configure your domain name to point to the canister url.

Official documentation for creating a sample project.

Host with Juno.build

It’s an open-soursed platform somewhat like Netlify or Cloudflare, but for Web3. As it explains on the Juno’s website — it’s a zero-knowledge blockchain platform that equips developers with all the essential tools to create any Web3 application, making it as easy as developing serverless Web2.

It provides a set of features like Authentication, Datastore, Storage, Functions, Analytics and Hosting. For hosting a static website we’ll only need the last one (and optionally Analytics).

In comparison to the manual way, you’ll not need to worry about Internet Computer SDK, getting cycles and reading through the documantation. For the start you’ll only need ~$5 worth of ICP tokens, and following basic instructions. Here is a good step by step tutorial.

Final thoughts

Building my website with Astro and using the Internet Computer for hosting was a big step for me. It was more than just making a site; it felt like I’m now getting a very private playground that only I can access, really personal and safe.

If you’re thinking about doing something similar, I say go for it. It might look hard at first with all the new stuff to learn, but it’s worth it. You get a website that you fully own and control, plus it’s safe and cheap to keep online. So, why not start? It’s a chance to make something cool and learn a lot along the way.