@{
    var data = await SolutionInfo.GetAll();
    string[] cats = new[] { "Web Sites and Applications", "WordPress", "Static Sites", "Personal" };
    IEnumerable<SolutionInfo> solutionsForCat(string cat) =>
        data.Where(it => it.Category == cat && it.FrontPage.Display).OrderBy(it => it.FrontPage.Order ?? 99);
    string aboutTitle(string title) => $"{title} | Bit Badger Solutions";
}
<aside class="app-sidebar">
  @foreach (var cat in cats)
  {
    <div>
      <div class="app-sidebar-head">@cat</div>
      @foreach (var sln in solutionsForCat(cat))
      {
        <div>
          <p class="app-sidebar-name">
            <strong>@sln.Name</strong><br>
            @if (sln.LinkToAboutPage)
            {
              <a href="~/solutions/@(sln.Slug).html" title="@aboutTitle(sln.Name)">About</a><text> &bull; </text>
            }
            @if (sln.LinkToSite) { <a href="@sln.Url" title="@sln.Name" target="_blank">Visit</a> }
          </p>
          <p class="app-sidebar-description">@Html.Raw(sln.FrontPage.Text ?? sln.Summary ?? "")</p>
        </div>
      }
    </div>
  }
</aside>
