How to Quickly Launch a Flexible Portfolio Site for $0 Without Web Development Experience: A Compromise Between Flexibility and Simplicity

The story of a match: why I chose the Astro and Cloudflare Pages combo for my apps

App Screenshot

The Origin of the Idea and Initial Requirements

I am a mobile app developer. I have only superficial knowledge of web development and no practical experience. When the persistent idea of finally getting my mobile apps to a Google Play release came up, I immediately thought about how to make a portfolio site where I could host information about all my projects. At the same time, I didn’t want to spend significant time on creation or support, now or in the future, and the requirements for the site were not the most trivial. From the very beginning, I knew exactly what I needed from the site. However, I wasn’t looking for something bulky: mentally, I was ready to manually write various abstractions to simplify publishing articles, but I didn’t want to mess with setting up something as cumbersome as a typical CMS with modules and similar solutions.

So, here is a bit about the criteria I developed and why I formulated them this way:

  • Minimum effort for development and support with flexible customization: Initially, I wanted templates, but ones that I could “get under the hood” of to implement what is required, rather than just what the system allows.
  • SEO-friendly setup: You always want the site to play the role of a traffic driver to your mobile apps.
  • Markdown support: I knew I needed the ability to form a template to wrap my thoughts into a form, as coding from scratch—even if often just copy-pasting every page—is a real pain.
  • Easy multi-language support: Here again, as in the previous point, it’s about the traffic. Why not cover requests in other languages that might theoretically be less competitive?
  • The lower the cost, the better: This wasn’t a strict requirement, but it’s always a nice bonus, especially for indie developers.

Researching Options and Choosing Astro and Cloudflare Pages

I’ll keep it brief and without mentioning specifically what I tried: various portfolio sites and template generators. The free plans turned out to be heavily restricted: some lacked SEO management, others made it clear that you couldn’t go anywhere without buying a plan. But the main reason for cutting out the template generation options was that I wasn’t satisfied with their creation mechanics. In some cases, it wasn’t even obvious how to create a basic page. Partly, maybe I was just in that kind of mood and didn’t have the motivation to dig deep, and subconsciously the thought was there: “Even though I’m not a web developer and know little about this field, what if I arm myself with an AI assistant and try to make convenient abstractions for a template structure that would be handy for me and my tasks?” There was a fear of getting bogged down in the technical side and failing, as I might hit uncertainties that take too long to resolve, causing my motivation to drop and, ultimately, leading me to abandon everything (I think many are familiar with the fear of losing motivation).

And so, in one of the evenings discussing options with an AI, the Astro and Cloudflare Pages option was suggested to me.

Trying the Astro and Cloudflare Pages Combo

From chatting with the AI, I realized that this combination completely satisfies my criteria and even more. Top advantages that came as a bonus:

  1. No fussing with Docker, project builds, or deployment: You give Cloudflare Pages access to the git repository, push to the master branch, and Cloudflare Pages takes care of the build and deployment. That is, after pushing to master—you don’t need to do anything at all, not even click any additional buttons.
  2. Local verification: Checking what you’ve done locally is literally one command. Check, test, push again.

The conclusion of my test was that my requirements and goals were met, I could continue in this direction, and a draft of my site with its first (initially unrefined) structure was made in just one evening.

Astro and My Criteria

I won’t repeat the praises about this framework that are easily accessible on Google; I’ll just describe how Astro personally solved my problems and helped meet the criteria listed above:

  • Minimum effort and flexible customization: A quick and rough draft of the site was generated in an evening.
  • SEO-friendly setup: In Astro, every page by default is pure HTML, and as a result, all SEO is in my hands.
  • Markdown support: Astro has it implemented and then some. You can create a structure where there is a web page template, separately define minimal conditions for content display differences which will be pulled from md or mdx files, while for creating a new page later on, only an md or mdx file is created. No HTML copy-pasting to distract from the main thing—creating text content.
  • Multi-language: This is implemented in Astro via the i18n mechanism. To organize a set of languages, it’s enough to correctly set up the folder structure. I ended up storing strings for each page in an array in JSON format. Each array contains strings with translations into supported languages, and most importantly, translating markdown files is also supported. You just need to set up the structure.
  • The lower the cost, the better: Cloudflare Pages turned out to be a mechanism with generous limits on the free plan (up to 500 project builds per month). As a result, I only paid for the domain.

Given how fast web development is evolving, Astro and Cloudflare Pages are certainly not the only solutions of this kind, and I can’t say I studied the alternatives in detail. I simply had a “match” with Astro and Cloudflare Pages in one evening, my requests were satisfied, and that was all I needed. If your goals are similar, I definitely recommend this combo.

Parting Words

A little bit about what I regretted or didn’t consider right away (thoughts for those diving into web development for the first time):

  1. Plan the structure in advance: Before even starting the programmatic creation of a draft site, it’s best to sketch it out in some editor to understand the structure and organize the requirements in your mind.
  2. Unification of reusable components: Think in advance about what will be a repeating component on several pages and think in a design system format to avoid a mess of styles and future refactoring (wasting half a day or a day moving out common styles).
  3. Multi-language: Understand what canonical pages are so that search robots don’t get confused or complain about translated pages.

Conclusion

In my view, even without experience specifically in web development, you can create flexible and even powerful sites within reason using the Astro and Cloudflare Pages combo. Armed with AI tools, most problems today are absolutely solvable. And what is important for many—all of this will be free (I see no point in including the domain fee, which is not mandatory but desirable).