Well, original Midgard was completely programmed in order to run the Grey Wolves site. We hacked it together with @jlz in Helsinki Capital of Culture offices in Etelaranta at night time.
Before Midgard, the site had run on a SGML pipelines -based publishing system we called SusiSGML, and member registry on some custom Perl stuff. Then we wanted more dynamic functionality, and Midgard was born. At first @jlz was intending to write it in Scheme, but then chose the C+PHP extension.
For administration, we wrote the “Midgard Admin” tool, traces of which can still be seen in SpiderAdmin.
Midgard was intended to be a one-off, but then as my employer Stonesoft clearly needed some system I deployed there. Then @jlz was hired to my team, and we decided to open source Midgard before any IPR issues would rise with our employer, which was after all a proprietary software vendor.
When the original Midgard-based Grey Wolves site launched in early 99, we had the great example of what things can be: Hiiden Hirven Hiihto photos and reportage were live only couple of hours after the event ended. And this was before we had digital cameras…
Architecturally SusiSGML was pretty much like early versions of Apache Cocoon, only with SGML and DSSSL instead of XML and XSL. Had we been at it a few years later, Midgard might have been based on Cocoon. :-)