<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r" -->

---
title: This Website is Served from Nine Neovim Buffers on My...
description: A developer created a Neovim plugin that serves HTTP requests directly from editor buffers using pure Lua. The plugin leverages Neovim's libuv bindings for...
canonical: https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: This Website is Served from Nine Neovim Buffers on My Old ThinkPad | daily.dev
og:description: A developer created a Neovim plugin that serves HTTP requests directly from editor buffers using pure Lua. The plugin leverages Neovim's libuv bindings for...
og:url: https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r
og:image: https://api.daily.dev/og/posts/rWyscoG2R.png
og:image:alt: This Website is Served from Nine Neovim Buffers on My Old ThinkPad
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# This Website is Served from Nine Neovim Buffers on My Old ThinkPad

**[Lobsters](https://daily.dev/sources/lobsters)** · 10 min read · 60 upvotes · 3 comments

## Summary

A developer created a Neovim plugin that serves HTTP requests directly from editor buffers using pure Lua. The plugin leverages Neovim's libuv bindings for asynchronous I/O and surprisingly outperforms Nginx in benchmarks due to LuaJIT's efficiency and NaN tagging optimization. The implementation serves a static website from nine buffers on a 2012 ThinkPad, with security measures including Docker containerization, AppArmor profiles, and restricted system calls. The setup demonstrates how text editors can be repurposed for unconventional tasks while maintaining good performance.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://vim.gabornyeki.com/>

## Community discussion

Top comments from developers on daily.dev.

**@andradei** · 4 upvotes

> That's impressive, creative, insane, and funny all at the same time.

**@kennethwedmorelund** · 4 upvotes

> MAN, I love stuff like this - it's SO much "Why? Because I could!" :D

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#docker](https://daily.dev/tags/docker), [#lua](https://daily.dev/tags/lua), [#performance](https://daily.dev/tags/performance)

[View this post on daily.dev](https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"This Website is Served from Nine Neovim Buffers on My Old ThinkPad","url":"https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r"},"datePublished":"2025-08-18T13:51:24.240Z","dateModified":"2026-03-15T03:39:17.713Z","description":"A developer created a Neovim plugin that serves HTTP requests directly from editor buffers using pure Lua. The plugin leverages Neovim's libuv bindings for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5965b77c81c8dc68678619018f7e2d0d?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5965b77c81c8dc68678619018f7e2d0d?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Lobsters","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Lobsters","logo":"https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg","url":"https://daily.dev/sources/lobsters"},"commentCount":3,"discussionUrl":"https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":60},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":3}],"keywords":"devtools,docker,lua,performance","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":3,"name":"This Website is Served from Nine Neovim Buffers on My Old ThinkPad"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/this-website-is-served-from-nine-neovim-buffers-on-my-old-thinkpad-rwyscog2r","comment":[{"@type":"Comment","text":"That’s impressive, creative, insane, and funny all at the same time.","datePublished":"2025-08-19T13:14:59.793Z","url":"https://daily.dev/posts/rWyscoG2R#c-m5NFiILIN","author":{"@type":"Person","name":"Isaac de Andrade","url":"https://daily.dev/andradei","image":"https://avatars.githubusercontent.com/u/2653546?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4}},{"@type":"Comment","text":"MAN, I love stuff like this - it’s SO much “Why? Because I could!” :D","datePublished":"2025-08-24T19:58:57.763Z","url":"https://daily.dev/posts/rWyscoG2R#c-xsuT5Tsr3","author":{"@type":"Person","name":"Kenneth WedMore Lund","url":"https://daily.dev/kennethwedmorelund","image":"https://media.daily.dev/image/upload/s--5_zJBSZi--/f_auto/v1756065205/avatars/avatar_gnik6ZTjGeNlI3aamCELE?_a=BAMClqZW0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4}}]}
```

