There are two ways to look at Sputnik: as a simple wiki or as a web platform. Those may seem like contradictory requirements, but we aim to satisfy both. Let's tackle them separately:
Sputnik is Simple
The basic sputnik install consists of three files that add up to 1140 lines, two general purpose libraries, and 300 lines of templates. Even if you add up all of those together, plus the examples, it's still less than 2000 lines of code. In comparison, Oddmuse and UseMod wikies (both considered small) weigh in at 4000 and 5000 lines respectively. This comparison may be unfair since Sputnik runs on top of Kepler, but Kepler is easy to install and is itself small. Kepler consists of 85K lines of code that build into an 800kb directory, so even Sputnik + Kepler is substantially simpler than systems like MoinMoin (26MB/92K lines of Python), not to mention MediaWiki (15MB/230K lines of PHP, on top of over 1.5M lines PHP implementation). Obviously, Sputnik doesn't do everything MediaWiki does, but you trade bells and whistles for simplicity. One of the design goals for Sputnik is to keep this basic setup small. In fact, we are hoping to get it to be under 1000 lines of Lua code.
If you just want to use Sputnik as a wiki, please go to Installation.
Sputnik is Extensible
At the same, Sputnik is designed to be fully configurable. A simple change of templates can change your Sputnik quite a bit and a small amount of Lua code can turn it into almost anything. Ok, not quite anything, since Sputnik is committed to supporting a particular wiki-inspired data model. Specifically, Sputnik maintains a collection of versioned pages that can be editable through the web (just like any wiki), but at the same time it allows those pages to store any data (text, tab delimited data, lists of named parameters, Lua tables, XML, etc.) While by default the page is displayed as if it carried Markdown-formatted text, the way the page is viewed (or edited, or saved, etc.) can be overriden on a per-page basis. In the extreme case, a page can act as a placeholder for a script that generates the content on the fly. As a result, you can add functionality to sputnik with just a small amount of code. E.g., Sputnik's RSS feed is implemented as in 29 lines of Lua code (see Special:RSS) and a 22 line template (see Templates:RSS).
If you are interested in understanding the full range of what Sputnik can do, look at the Conceptual Model and the Examples.