Blogging
Owning a personal blog offers a unique avenue for sharing your insights and experiences with a global audience, serving as a dynamic platform for self-expression and thought leadership. Furthermore, it enables you to carve out your online presence and cultivate a distinctive personal brand.
Opting for a free blog holds significant value as it eliminates financial barriers, not just for you but also for your readers. This fosters a more inclusive environment, opening doors to a wider audience and enhancing engagement with your content.
Free blog options
I contemplated starting a blog, but the question lingered: where could I post it? Naturally, there are myriad options available: Medium, Substack, LinkedIn, and the list goes on. However, each comes with its own set of drawbacks, whether it's paywalls or formatting limitations. Given my background as a Data Scientist with some proficiency in Frontend (HTML, CSS), the idea of building my own blog website intrigued me.
While there may be numerous alternatives, I believe certain advantages should take precedence from my standpoint:
- Simplicity: It should be easy enough for someone with minimal IT knowledge to construct.
- Versatility: The platform should allow for the publication of modern-day content in various formats, including text, tables, code snippets, and embedded media.
- Branding: Having one's own domain (website name) can be invaluable for self-marketing purposes.
- Cost-effectiveness: A free solution would not only benefit the blogger but also extend to the readers, facilitating the dissemination of knowledge without financial barriers.
1. GitHub Pages
For those seeking a swift and minimalist approach to crafting a personal website, GitHub Pages offers a speedy solution with its github.io websites. Here's how to get started:
- Begin by creating a GitHub account if you haven't already.
- Next, establish a repository with a specific naming convention:
{your_github_username}.github.io
. This repository name will also serve as your website. Ensure to include aREADME.md
file (or index.html) within the repository.
And that's it – your website is now primed for action! However, it currently lacks content.
To populate your website, you can fill out your README.md
using Markdown or HTML syntax. Alternatively, you can organize your content by creating folders within your repository, linking files together to create a multipage website. Any changes made to your repository will automatically update your website. For more detailed instructions on creating a GitHub Pages site, refer to GitHub's documentation.
💡
Downsides: While deploying a website is swift and straightforward, the process of generating and updating content – such as adding new blog posts regularly – can be somewhat cumbersome. Additionally, enhancing the appearance of your website may require advanced knowledge of HTML and CSS.
2. Notion
For those seeking an easy and versatile platform for content sharing, Notion emerges as a compelling option. Here's how to get started:
- Begin by creating a Notion account.
- Create a page and share (publish) it. You can enhance the presentation by incorporating features like the Gallery View Database, which organizes subpages into tiles within the gallery view. While you can use a custom domain, Notion appends
notion.site
to the end of your domain, resulting in a final URL format like{your_custom_domain}.notion.site/{your_page_name}
.
And just like that, your site is up and running! Notion offers unparalleled freedom when it comes to formatting content – from tables to code snippets, images to YouTube videos, the possibilities are virtually endless. Additionally, you can find free templates like this one to kickstart your project, simply duplicate the template and fill it with your own content.
💡
Downsides: While Notion excels in flexibility, building a traditional website with complex navigation can pose challenges. Moreover, making detailed adjustments to elements like button appearances using CSS isn't feasible, as it's limited to the options provided by Notion.
3. NEXT.js-powered and Notion-managed 🥇
Before delving into the details, let me preface this option as a game-changer! By the end of this process, you'll boast a sleek, fully functional web application powered by NEXT.js, a React framework, with your content seamlessly managed by Notion. Here's how to make it happen:
- Start by ensuring you have a GitHub account to host your code.
- Set up a Notion account to serve as your content management service (CMS). Duplicate this page to your Notion account.
- Create an account on vercel.com to deploy and host your website (hobby account is a free).
- Fork or clone this repository to your GitHub account and update your details (Notion page ID, etc.) in the
site.config.ts
file. Detailed instructions can be found here.
Voilà ! You now have your very own dazzling website complete with multiple pages. Plus, content creation is a breeze – akin to drafting a Word document, if not easier, thanks to Notion's user-friendly interface and AI support.
💡
Advantages: This option offers ample customization opportunities, especially if you have a basic understanding of CSS or are familiar with NEXT.js or React. Content creation is a breeze with Notion, and the best part? It's all completely free 🤑!
Creating your own website to showcase your resume, blogs, and projects – all for free – is truly invaluable, in my opinion. I highly recommend opting for the last option if you're looking to establish your very own portfolio and blog website.
Disclaimer: The blog you're currently reading is also crafted using the third option described above.