Blog

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:

  • Figma and other design tools: Good for designers who want to quickly show their projects, but it doesn’t let you customize much. Not an option for a standalone blog.
  • Website builders like Readymag, Squarespace or WIX: They’re easy to use and look nice, but you can’t fully control everything or easily move your site elsewhere.
  • Social media like Instagram, X or LinkedIn: Great for meeting people and easy to use, but you can’t change much about how things look.
  • Webflow: Lets you change a lot, add cool effects, and is suitable for web designers. I was really considering this, especially since I used it to build websites for my clients, but I wanted to have even more flexibility and control.
  • Custom built websites: You can do whatever you want, but it needs coding skills.

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

  • Complete ownership of your site and content.
  • No need to “register” anywhere, you basically get access to the blockchain with your Passkey (Internet Identity).
  • You don’t have to worry about someone else deciding to block or delete your site.
  • Very reliable — the network has never stopped working. However, it’s important to note that there have been times when it operated slower than usual.
  • Low costs: Approximately $5/year for a simple static website, provided it is not updated too frequently.

🚧 What’s not so great

  • It can be confusing at first with all the new words and steps.
  • If you want to do more than just show static pages, it gets more complicated, you actually need to dive into the IC developement and code canister smartcontract (on Rust or Motoko).

How to host on the Internet Computer

You need a few things to start

  • The source code for the website
  • Internet Identity - an authentication service for the Internet Computer. With this you can connect to most of the dapps on the Internet Computer (wallets, social medias, games, etc…). Takes a minute to create.

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.

The journey to design

People often find it interesting when I talk about my career because it combines engineering, design and marketing. Right now, I work at the DFINITY Foundation in Zurich, a beautiful city. I’m writing this to introduce myself to people online.

Web and mobile development, first product experience

I’d say, I’ve always liked technology and design. At school, I used to change my phone’s software, changing the icons and themes just to make them look and work slightly different (hello Nokia and Sony Ericsson). After school, I began making simple websites for family and friends. Then, during university, after learning a bit about programming, I dove into creating simple apps for iOS.

One app I made, Training Diary, for tracking workouts got downloaded over a few houndred times. But I quickly learned that making an app is more than just coding and putting it out there. There’s a lot to do after it launches, like fixing bugs, adding new features, and figuring out how to make money from it. I won’t lie, it was tough keeping up with user feedback and keeping the app up to date.

TrainingDiary app icon

This experience taught me the importance of building things correctly from the start. But despite the challenges, this app proved to be very valuable — while still at university, it helped me land a job at a local company where I worked on web and mobile development. However, I quickly found out that repetitive programming or template-based work wasn’t for me. I wanted to be part of the creative process from the start, which steered me towards a deeper focus on design.

Common sense

My design journey began with a focus on understanding how to solve problems practically. I read a lot about design and learned that it’s not just about how things look but making sense of ideas. By talking to people and asking the right questions, I found out I could really help.

I believe everyone has a bit of a designer in them because we all know when something doesn’t feel right. This belief has been a big part of my journey, showing me how important it is to listen to that sense of what works and what doesn’t.

Personal development

Design is about creating experiences that feel right, solutions that actually work, and products that make people happy. Every project has been a chance for me to learn something new, to grow, and to add my own touch to the design world.

Here’s how different experiences helped me grow my skills:

  • As a developer: I got to know how tech products are built and the development process.
  • Turning into a designer: I focused on making things not only work but also look great. I explored different layouts and learned about typography.
  • Freelancing after leaving the agency: I got better at working on my own, managing my time, and talking to clients.
  • Working on long-term projects: I learned a lot about product design by actually doing it — figuring out what users need, how to keep them happy, and how to sell to them.
  • Product design phase: I dived deep into product research, looked at metrics to see what works, and learned about developing products from start to finish.
  • As a team player: I learned how to align a team, work across different departments, and bridge the gap between tech and design.

I’ve grown better at making websites, mobile apps, product designs, and leading creative projects. This has helped me see how to do meaningful work. Whether I’m creating apps, designing how things work for users, or leading teams on projects, I always aim to make a real difference with my work, trying to change things for the better.