EverBlog: A Self-Hosted Blogging Engine
EverBlog is the custom blogging system that powers Jani Järvinen's technology blog. The system was created to solve a simple problem: how to preserve and publish three decades of technical writing reliably, efficiently, and without depending on external platforms or services.
EverBlog focuses on longevity, simplicity and full control. These are the same principles that guided Jani's earliest posts in the mid-1990s.
Design Philosophy
EverBlog is intentionally small and straightforward:
- Fast: server-side rendering with a lightweight ASP.NET Core MVC app
- Local-first: runs entirely on its own infrastructure (can run on cloud, but why do that?)
- Archival-friendly: designed to store and serve posts spanning long timescales
- Transparent: simple URLs, clean HTML, no JavaScript frameworks required
- Private and independent: no external analytics, trackers, or SaaS dependencies
- Easy to extend: the server-side codebase is intentionally compact and readable.
Contemporary blogging platforms often try to do everything, but fail when you want to customize them with your own code. EverBlog aims to do only what is needed, but with full extension possibilities. Technologies were chosen so that they could run the next 30 years. The first code that would eventually become EverBlog was written in 2003 with .NET 1.1, and has been maintained ever since.
Core Features in v2.4
This version was launched in November, 2025.
-
Full SQL Server-backed archive
- All posts, including Jani's hand-written HTML 4 posts from 1996 are stored, indexed, and searchable as structured records.
-
Static HTML export
- EverBlog can generate complete static output for offline archival or alternative hosting formats.
-
Clean URL slugs
- Slugs are generated automatically with safe character rules and custom mappings (including "CS" for "C#").
-
Automatic metadata management
- Original timestamps, imported timestamps, eras, categories, and tags are preserved as first-class data.
-
Optional AI-assisted summaries
- Monthly summaries generated by AI help readers catch up on older posts.
-
Performance-focused
- No unnecessary overhead.
- Optimized SQL queries and minimal server-side processing ensure fast page loads.
Technology Stack
EverBlog is built using:
- ASP.NET Core MVC
- C# 14 (migrated from C# 1.1 beginnings)
- .NET 10 runtime
- SQL Server 2022 for storage
- Razor (CSHTML) views for server-side rendering
- Bootstrap 5 for lightweight styling.
Custom utilities written in C# for importing, cleaning, and processing historical content
The system is fully self-hosted and runs on energy from a solar-powered setup.
Why Build a Custom Platform?
Because Jani's writing spans thirty years, a system was needed that could:
- import thousands of old articles
- handle inconsistent early HTML formats
- normalize metadata
- preserve original timestamps and images
- remain usable 10, 20, or 30 years from now.
Existing blogging platforms weren't designed for that kind of history, so Jani built one that was.
Contact
If you have questions about EverBlog, want to use the system to power your own blog (EverBlog is not a public download, but I'm open to discussion), or you're curious about the technical details behind this site, feel free to reach out:
Jani Järvinen
Finland
janij@dystopia.fi