diff --git a/app/soapbox/actions/settings.js b/app/soapbox/actions/settings.js
index 205250c3b..03b538bcc 100644
--- a/app/soapbox/actions/settings.js
+++ b/app/soapbox/actions/settings.js
@@ -9,7 +9,7 @@ export const SETTING_SAVE = 'SETTING_SAVE';
export const FE_NAME = 'soapbox_fe';
-const defaultSettings = ImmutableMap({
+export const defaultSettings = ImmutableMap({
onboarded: false,
skinTone: 1,
diff --git a/app/soapbox/features/soapbox_config/components/site_preview.js b/app/soapbox/features/soapbox_config/components/site_preview.js
new file mode 100644
index 000000000..725ed3079
--- /dev/null
+++ b/app/soapbox/features/soapbox_config/components/site_preview.js
@@ -0,0 +1,56 @@
+import React from 'react';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import classNames from 'classnames';
+import { defaultSettings } from 'soapbox/actions/settings';
+import { brandColorToCSS } from 'soapbox/utils/theme';
+
+export default function SitePreview({ soapbox }) {
+
+ const settings = defaultSettings.mergeDeep(soapbox.get('defaultSettings'));
+
+ const bodyClass = classNames('site-preview app-body', `theme-mode-${settings.get('themeMode')}`, {
+ 'system-font': settings.get('systemFont'),
+ 'no-reduce-motion': !settings.get('reduceMotion'),
+ 'dyslexic': settings.get('dyslexicFont'),
+ 'demetricator': settings.get('demetricator'),
+ 'halloween': settings.get('halloween'),
+ });
+
+ return (
+
+
+
+
+
+
+
+ Site Preview
+
+
+
+
+
+ );
+
+}
+
+SitePreview.propTypes = {
+ soapbox: ImmutablePropTypes.map.isRequired,
+};
diff --git a/app/soapbox/features/soapbox_config/index.js b/app/soapbox/features/soapbox_config/index.js
index d6823cee0..6038f9961 100644
--- a/app/soapbox/features/soapbox_config/index.js
+++ b/app/soapbox/features/soapbox_config/index.js
@@ -23,6 +23,7 @@ import Overlay from 'react-overlays/lib/Overlay';
import { isMobile } from 'soapbox/is_mobile';
import detectPassiveEvents from 'detect-passive-events';
import Accordion from '../ui/components/accordion';
+import SitePreview from './components/site_preview';
const messages = defineMessages({
heading: { id: 'column.soapbox_config', defaultMessage: 'Soapbox config' },
@@ -190,10 +191,16 @@ class SoapboxConfig extends ImmutablePureComponent {