Lifestyle Blog Platform

Full-stack blog platform with SSR built with Angular Universal and Contentful

AngularTypeScriptAngular UniversalExpress.jsContentful SDKRxJSDisqusBootstrap 4
www.carinacollective.kevinnorgaard.com
Lifestyle Blog Platform screenshot

01Problem Statement

A lifestyle content creator needed a custom platform to publish multi-category content across fashion, beauty, wellness, and art — without the limitations of off-the-shelf blogging tools. The site needed strong SEO for content discovery, a smooth reading experience with rich-text rendering and comments, and a CMS workflow that kept the creator in control of content without developer involvement.

02Architecture

Angular Universal with Express.js handles server-side rendering, ensuring fully hydrated HTML is sent to the browser on first load — critical for SEO on content-heavy article pages. The Contentful SDK fetches article content, rich-text, and assets at request time. Disqus is embedded client-side for the comments system, and the Instagram feed is injected after hydration to keep SSR output clean.

03Data Model

Contentful CMS

type Image {
  fileName: String!
  url:      String!
}

type Article {
  title:       String!
  slug:        String!
  category:    String   # "fashion" | "beauty" | "wellness" | "art"
  heroImage:   Image!
  body:        RichText!
  publishedAt: DateTime!
  excerpt:     String
  tags:        [String]
  author:      Author
}

type Author {
  name:            String!
  bio:             String
  photo:           Image
  instagramHandle: String
}

type HomepageFeatured {
  heroHeading:      String
  heroSubheading:   String
  featuredArticles: [Article]
}