Custom blog platform built for
a non-technical creator
Christina wanted to share her life, thoughts, and values online — but WordPress felt overwhelming and Substack was too limiting. We built her a fully custom platform from scratch and held her hand through every step, from first call to launch.
Client Review
Christina — The Family Architect
Christina is a homemaker and lifestyle creator who wanted to share her life, thoughts, and values online — but found WordPress overwhelming and Substack too limiting.
We built her a fully custom platform from scratch: a personal homepage, a section-based blog builder she could control entirely without touching code, and a live preview so she could see exactly what readers would see before publishing.
In this video, Christina shares what it was like working with us — from her first questions all the way to launch day.
The Challenge
Christina is a homemaker and lifestyle creator — not a developer. She needed a website that felt authentically hers, with a blog she could fully control and style without touching code. Beyond the build itself, she had a lot of questions throughout the process. Part of our job was making sure she felt informed and confident at every stage — not just delivering a product and disappearing.
Site Walkthrough
Homepage — Brand & First Impression
A full-screen hero with Christina's portrait (greyscale-to-colour on hover on desktop), her tagline 'Restoring purpose to the home.', and a single CTA. Every design decision — typography, spacing, colour — reflects her warm, intentional aesthetic. Not a template, not a theme.
Credo — Her Belief System
A dedicated dark-background section presents Christina's personal credo — her values around faith, motherhood, and intentional living. This is the page that connects readers to her on a human level before they ever read a blog post.
Full Feature Overview
Every feature built into the platform, at a glance.
Public Website
Homepage hero
Full-screen portrait with greyscale-to-colour hover effect, tagline, and CTA
Bio section
Christina's personal story — her journey, mission, and what drives her
Credo section
Dark-background belief statement — her values around faith, family, and intentional living
Sticky navbar
Dark navbar with logo and links (Home, Blogs), mobile hamburger with animated dropdown
Site footer
Logo, tagline, and copyright — clean and minimal
Blog System
Blog listing by category
Posts grouped into 9 categories (Motherhood, Homeschool, Cooking, Faith, Pets, etc.) each with its own icon, colour, and post count
Coming soon placeholder
Categories without posts show a 'coming soon' message — no empty states or broken pages
Individual blog posts
Server-side rendered post pages with section-based layout and social sharing hooks
Blog reactions
Love ♥ and Thumbs Up reactions per post with optimistic UI updates and localStorage-based per-reader tracking
Cloudinary image hosting
All blog images upload to Cloudinary and are served from a fast CDN — max 10MB per image
Admin CMS
Password-only admin login
Simple secure login — JWT issued on success, auto-redirects if already logged in
Blog management dashboard
Card grid of all posts with View, Delete, and Refresh actions
Section-based blog builder
Compose posts from three block types: Text (rich editor), Image (upload or URL), Video (YouTube embed)
Per-section design controls
Every section has independent background colour (Sketch colour picker), padding, height, font size (12–72px), text colour, and alignment
Drag-to-reorder sections
Move any section up or down — the post structure is fully flexible
Live preview pane
Switch between Builder and Preview in one click — see exactly what readers will see before publishing
JSX code export
The editor can output the full React JSX source code for every blog page — useful for custom deployments
Slug & category assignment
Each post gets a URL slug and is assigned to one of 9 predefined categories before publishing
Auth & Security
JWT via Web Crypto API
Stateless auth using the browser-native Web Crypto API — no external JWT library needed
Protected admin routes
All /admin/* pages and create/delete API routes require a valid JWT
Dual token acceptance
JWT accepted via Authorization: Bearer header or admin_token cookie — flexible client compatibility
Logout clears both
Logout API clears localStorage and the cookie in one call
Tech Stack
Try it live
Want a coaching or consulting website like this?
Describe what you do and who you help — see a premium website concept in 30 seconds. We'll build and launch the real thing for you.
One line that sums up what you do.
Website Type
Determines the layout, color scheme, and section structure of your concept.
Need login, payments, or a database? Book a scoping call instead