Kunal Marwaha

evolving philosophy on website-building


I’ve tried some newer frameworks, including React and friends, Angular, JSX, …

I find these frameworks useful for:

  1. Really good-looking, quickly-built sites
  2. Larger, more complicated projects with a significant web interface
  3. Tools for general public audience, many many users, many types of devices, and/or specialized users (e.g. some frameworks need no extra work to be accessible to screen-readers for blind persons).

Go minimal

When I have the choice, I tend towards minimalism in both tooling and “look and feel”.

For my latest work project (in Django), I’m using raw HTML templates and CSS styling from Bootstrap.

No additional JS frameworks or styling frameworks (Less, Sass, …) Bootstrap is simple, familiar to the team, and popular.

Curated website

You could call my personal website a “curated” website.

Everything you see is raw HTML and CSS. Many low-level design decisions were carefully chosen to make the site look good.

Until recently, I wrote pure HTML. Now I write in Markdown (quicker to get my thoughts out) and use pandoc to compile to HTML. Add .text to the URL to see the raw Markdown file. (Inspired by the Markdown creator.)

I like many things about this site:

  1. I think that sans-serif fonts are easier to read, but this is under debate.
  2. I chose the colors carefully to be accessible, clear, and gentle.
  3. I found standard link styling (ocean blue and underlined) to be too aggressive for the site, so I muted the colors and adjusted the underlines to my liking.
  4. I use slight indents to organize information clearly; I later added emojis for fun.
  5. I like new-page links, so you still have the website open.

Always learning

These decisions are often inspired from blogs and websites I like. The dotted underline is inspired by a blog on online readability, and the colors from Derek Sivers.

But I’m not confident about everything:

  1. I used some online app to make my favicon. The design was mine, but I’m not sure how it looks on all devices.
  2. It’s readable on my phone, but in general not great for mobile viewing.
  3. Emojis may not load on older browsers.

I also think the development process for this website is rapid and fun.

  1. I have a git repository on a DigitalOcean server that hosts my website.
  2. I have a git clone of the repository on my laptop.
  3. I write in the .text files and loop the ./pandocify.sh script. (while :; do ./pandocify.sh; sleep 1; done)
  4. I look at my updates locally on Google Chrome.
  5. I git commit and git push, like in other projects, but when I push, my website is updated!

No true way

I don’t think there is any “true way” to build a site. There are many great-looking and useful sites on the Internet.

What do you think? Send me your thoughts over email.