Simple Personal Websites

prototypes — 2 minutes read — 14 Mar, 2025
🪴 Plant

I recently open-sourced my astro-blog-ghost GitHub repository - a modern blog template built with AstroJS and Ghost CMS integration. This project serves as an excellent starting point for developers looking to create a portfolio website with:

  • 📦 Zero-client JavaScript by default (with opt-in hydration)
  • 🚀 Built-in Ghost CMS integration for content management
  • 🌓 Dark/light mode toggle with system preference detection
  • 📱 Mobile-optimized responsive layouts
  • 🎨 CSS custom properties for easy theming
  • 🔍 SEO optimization with automatic sitemap generation
  • 📄 MDX support for interactive components in posts

To create your own portfolio:

  1. Clone the repository: git clone https://github.com/shreyas-makes/astro-blog-ghost
  2. Install dependencies: npm install
  3. Connect to Ghost CMS via .env file
  4. Customize the src/config.ts with your personal details
  5. Modify components in src/components/ to match your style

Key customization points:

  • Update color schemes in src/styles/global.css
  • Add portfolio sections in src/pages/
  • Create custom page layouts in src/layouts/
  • Implement your preferred analytics in src/components/scripts/

The template supports: ✅ Blog posts with code syntax highlighting ✅ Project showcases with responsive images ✅ About page with Markdown/MDX content ✅ RSS feed generation ✅ Open Graph protocol implementation

Deploy to any static host (Vercel, Netlify, GitHub Pages) with built-in CI/CD pipelines.

[Read this essay]([[How I blog blog with Obsidian, Cloudflare, AstroJS, Github]]) to know more about how I use Obsidian for publishing my blog posts on AstroJS.

Liked this post? Get email for new ones:

Here are some other posts you might enjoy

The Modern Startup Stack

Choosing a web framework is like choosing your first pokémon. I didn't want to succumb to the 'new hotness' problem with the myriad of JS frameworks to choose from (Angular, Vue, React, Solid). I wanted something that i can choose and stick to for atleast a decade. So I resorted to a Rails monolith for building apps (but with a slight twist)...

software
Design is a confusing word

As designers, we’re always asked to vouch for the user’s needs above anything else. But if the company takes a hit, all of our efforts might end in vain. To solve this dilemma, this note from Dan Winer comes in handy—...

design
Directory Structure Visualizer

I wanted an easy way in which I could visualise any directory that i'm navigating on the CLI. Yes, you did have standard npm packages such as "tree" for example, but those were not very helpful for me to understand the overall size of the files. I wanted a more "detailed" tree that could help me gauge how the codebase looks like. For this reason, I created this package — dftree. This generates more visual UX-friendly representations of directory structures using Unicode box-drawing characters....

prototypes
Exploring "smart connections" for note taking

Not starting with a blank slate has been a great productivity boost in my writing. I wrote 50K words in 2024. And I can safely say that these 50K words have been written in a well thought manner, instead of an AI generated word salad. All this, because I've been exploring this neat little plugin called as [Smart Connections on Obsidian.](https://www.google.com/search?q=smart+connections+obsidian+plugin&sourceid=chrome&ie=UTF-8) It is a tool, and I wouldn't be naive enough to say that tools don't matter. This tool allows for two main affordances:...

knowledge
How do you know what you believe is true?

My attempt towards discovering epistemology, as a philosophy discipline initially started with a benign question — *How do I know with certainty what I believe is true?* In this attempt, I had to meander around various schools of thought that discussed this topic in depth — from dogmatism, skepticism, empiricism, relativism and finally, critical rationalism. I wanted to know the truth about truth, and yet the path to that was not very straightforward....

rough-notes
Trees, Branches, Twigs and Leaves — Mental Models for Writing

What differentiates a good essay and a great essay? — With a great essay, you can see the larger tree that connects all those branches, leaves, and twigs together into a single unit of a 'tree'. A bad essay is where you only see the random assortment of leaves and branches. You don't see the larger tree among the branches. While listening to one of the podcast episodes from [David Perell's Writes of Passage](https://perell.com/write-of-passage-podcast/) where he interviews writer-operators to deconstruct their writing process, I noticed the podcast episodes to be very free-flowing, without losing the central theme of the conversation....

writing
World's most ancient public health problem

From the place I come from, in Kerala, a baby is not given a name until he/she is 28 days old. And for marginalised castes/communities, the naming ceremony is delayed to 90 days. I never really questioned as to why this was the case. I let it become a ritual system until I overheard a conversation between some of our family members. This was mainly because the chances of a baby surviving was very low in our previous times. So our forefathers temporarily delayed the naming ceremony to avoid the emotional downpour if things go south. And for marginalised communities, the mortality rate was even more low owing to the difficult circumstances. Knowing this reality shocked me. We might have more complex challenges facing the world right now — AI taking people’s jobs, climate change induced shock waves, food insecurities, refugee rights, future pandemics etc. But I believe that the cause of addressing maternal deaths requires the most urgency. When a mother dies during childbirth, the future dies with her....

health
I was wrong about optimal stopping

If you were tasked with a need to find the tallest mountain, and went searching in a far away land surrounded by a series of mountains, how would you finalise the tallest mountain, especially when you could still go farther, and find even more taller mountains (only if you explore even more). There are various ways to term this, some call it the travelling salesman problem, or the "secretary problem", or just as the "optimal stopping" problem, which attempts to come to a mathematical decision on when to actually stop in such explore versus exploit situations. ...

mathematics
Publish Originally, Syndicate Elsewhere

Writing for yourself on your personal website is the purest form of self-expression on the internet. It avoids any trappings from the algorithmic maze. And there are no digital echo chambers. It's just you and your ideas in your own cozy little garden. We're witnessing the renaissance of personal websites. As social platforms become increasingly unstable, more creators are rediscovering the power of digital sovereignty....

blogging
Digital Products built like physical artisanal tools

Tobias Van Schneider in his blog talks about a new way to think about building modern software— The advancements of our modern world mean there’s generally more of everything. The streaming age has led to a proliferation of low-quality content, churned out to satisfy the binge-watching masses. The ever-scrolling audiences and their short attention spans require news sources to up the ante, publishing throwaway articles (increasingly written by robots) like hotcakes. Industrialization and the off-loading of production to developing countries means clothes are mass-produced, designed to be thrown away and replaced one season to the next. ...

design
How to spot human writing on the internet?

In the classic Turing Test, a computer is considered intelligent if it can convince a human that it’s another human in a conversation. At that time, human-generated content dominated the internet. But that was a decade ago. Today, the landscape has shifted dramatically. AI-generated content now rivals, and in some cases outpaces, human-created material....

writing
Task management for product managers

In the book **Inspired**, Marty Cagan talks about dividing one's day-to-day tasks into three major buckets: people, process and product. I'd experimented with categorising my tasks into similar such buckets based on the framework by [Shreyas Doshi](https://shreyasdoshi.com/): ![](/images/2024/12/image-2.png)...

product-management
Dear enterprises, we're tired of your subscriptions

When you build a SaaS app, how do you price it? The first option which comes to everyone's mind is a monthly/yearly subscription model While building [Clarity notes](https://claritynotes.io/), I was stuck with a usual question when it comes to building a SaaS—How should I price the app? We settled on the usual monthly/yearly pricing structure. It included a free version to allow users to try out the YouTube note-taking feature as well as a Pro Plan involving all the advanced features not available in the free version. We also tailored an Academic Plan, offering students an affordable option to take notes on YouTube....

software
In-person vision transmission

I recently transitioned from leading a product team in a region to a more centralised role overseeing products across multiple geographies. As part of that transition, I needed to onboard the new product lead of that region, ensuring they were fully briefed While a virtual onboarding could have covered the basic documents and data points, I knew an in-person handoff was crucial. Slide decks can lay out objectives, milestones, and KPIs all day long, but it would definitely lack that oomph factor of an in-person transmission. This was one of the rituals which warrant an in-person interaction even while almost 90% of our interactions are virtual....

product-management
Breaking the fourth wall of an interview

****Intended audience:**** For leaders interviewing candidates for product or other tech leadership roles A group of men eating ice cream during peak London summer started drowning in large numbers....

interviewing
Let's make every work 'strategic'

A 'strategic' wrapper can turn a $100 work into a $10,000 work. Thinking 10,000 ft. above sea level pays more. It's a win-win for both sides....

consulting
Frightening Tech versus Big Daddy Regulators

Let's take a clear pond flourishing with various aquatic plants — water lilies, duckweeds, water milfoils, you name it. The variety of these plants provide a delicate balance, feeding the pond with nutrients, and this very natural filtration system. The algae still tries to outcompete the aquatic plants, but these plants still have an edge (at least for now). The microbial balance ensures the pond stays in a stable state with manageable algae levels. It's in **stable equilibrium**. But unfortunately, the pond starts having even more higher levels of nutrients feeding in. The runoff is too high, or a group of fishermen have one day decided to start dumping all the fish waste into the same pond....

technology
The meeting before the meeting

If you think most product managers spend time in meetings, you're mistaken. The larger chunk of a PM's time is spent in _preparation_ for those meetings - having the "meetings before the meeting", "the meeting", and the "meetings after the meeting." ![meetings, meetings, meetings - Marketoonist | Tom Fishburne](https://marketoonist.com/wp-content/uploads/2017/05/170508.meetings.jpg)...

product-management
Compound Interest of Private Notes

Strongly recommend everyone to keep private notes about people. These could even be some random jotted keywords: "served in the navy", "capuccino lover", "biker", "loves going on long walks", and so on. When private notes accumulate over time in the form of a database, they start showing emergent properties....

knowledge
Writing in Future Past

We lack frequent usage of the **future past tense** in modern discourse. When I was recently drafting my new year resolutions, I noticed the use of 'I can', and 'I will', and found myself questioning the format, especially when I see that I'm good at making promises, but end up being miserable at keeping them....

writing