Embracing the Suckless Web: Why My Site Has a Minimalist Version

Date: 2025-10-22 | Author: Bünyamin Sarikaya | Language: English

← Back to Blog


In a world drowning in JavaScript frameworks, where a simple blog post requires megabytes of code to render, I decided to do something different: create a suckless version of my website.

If you haven't noticed yet, you're reading it right now. This is `/s/` - a brutalist, terminal-style version that runs on pure HTML and CSS. No JavaScript. No bloat. Just content.

What Does "Suckless" Mean?

The term comes from suckless.org, a community focused on creating software that sucks less. Their philosophy is simple:

"Our software sucks less than other implementations."

Key principles:

While they primarily focus on system software (like their famous `dwm` window manager), the philosophy applies perfectly to web development.

The JavaScript Bloat Problem

Let me paint you a picture. The average website in 2025:

For what? Often just to display text and images.

The Modern Web Stack

User → React → Redux → Router → Webpack → Babel → TypeScript
     → GraphQL → Apollo → styled-components → animations
     → analytics → ads → tracking → GDPR banner
     = 5MB download, 10 seconds load time

The suckless approach:

User → HTML + CSS = 15KB download, 0.1 seconds load time

Why I Created /s/

1. Performance

The suckless version loads in milliseconds, not seconds. No JavaScript parsing. No render blocking. Pure HTML.

Comparison:

2. Accessibility

Works on:

3. Privacy

No JavaScript = No tracking. No analytics. No third-party scripts. Just you and the content.

4. Archival

In 20 years, when React 18 is ancient history and Node.js has been replaced by something else, the suckless version will still work.

Pure HTML from 1995 still works today. Will your React app from 2025 work in 2045?

5. Focus

No animations. No fancy effects. No distractions. Just pure content.

Sometimes that's exactly what you need.

The Technical Implementation

What I Used

That's it.

Design Choices

Typography:

Layout:

Colors:

Interactivity:

Blog Posts

The main site uses marked.js to render Markdown client-side. The suckless version?

Static HTML files.

Every blog post is pre-converted to HTML. No client-side processing. No JavaScript. Just HTML.

Who Is This For?

1. Users with slow connections

Not everyone has fiber optic. Some people still use mobile data with limits.

2. Privacy-conscious users

People who disable JavaScript for security/privacy reasons shouldn't be excluded.

3. Developers who appreciate minimalism

If you use `dwm`, `st`, or `surf` - this is for you.

4. The future

Archivists, historians, and anyone accessing this site decades from now.

5. Myself

Sometimes I just want to read without distraction.

The Philosophy Behind It

Complexity is the Enemy

Every line of code is a liability:

The suckless version has ~300 lines of code total (HTML + CSS).

The main site? Thousands of lines when you count frameworks.

The Best Code is No Code

Every feature you don't add is:

Progressive Enhancement vs. Graceful Degradation

Most sites today:

  1. Build for the latest Chrome
  2. Add polyfills for older browsers
  3. Fall back to "please upgrade"

The suckless approach:

  1. Build for basic HTML
  2. Add CSS for styling
  3. Add JavaScript only if absolutely necessary

Common Objections

"But users expect modern interactions!"

Do they? Or have we trained them to expect bloat?

Most users just want to:

You don't need React for that.

"But it looks ugly!"

Beauty is subjective. The suckless style is intentionally brutalist.

It's not ugly - it's honest. Form follows function.

"But I need analytics!"

Do you? Or do you just like watching numbers go up?

You can have analytics on the main site. The suckless version is for people who explicitly want no tracking.

"But my app has complex state management!"

Then the suckless version isn't for your app.

But your marketing site? Your blog? Your documentation?

Those don't need Redux.

How You Can Do This

Step 1: Create a /s/ Directory

mkdir s

Step 2: Write Semantic HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Your Site</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Your Content</h1>
    <p>Pure HTML. No JavaScript.</p>
</body>
</html>

Step 3: Add Minimal CSS

body {
    font-family: monospace;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    line-height: 1.6;
}

a {
    color: #000;
    text-decoration: underline;
}

a:hover {
    background: #000;
    color: #fff;
}

Step 4: Link From Your Main Site

Add a link in your navigation:

<a href="/s/">Suckless Version</a>

That's it.

The Results

Since launching /s/:

Conclusion

The suckless web isn't about rejecting modern technology. It's about being intentional with complexity.

Ask yourself:

Sometimes the answer is yes. Web apps need interactivity. Complex dashboards need state management.

But your blog? Your portfolio? Your documentation?

Maybe they just need HTML.

The /s/ version of my site will outlive any JavaScript framework. It will work on devices that haven't been invented yet. It will be accessible to everyone, regardless of their connection speed or browser capabilities.

That's the beauty of simplicity.


You're experiencing it right now. This page loaded in milliseconds. No JavaScript. No tracking. Just content.

Inspired by: suckless.org, motherfuckingwebsite.com, and the Unix philosophy of doing one thing well.