diff --git a/native/components/color-selector-button.react.js b/native/components/color-selector-button.react.js
--- a/native/components/color-selector-button.react.js
+++ b/native/components/color-selector-button.react.js
@@ -1,28 +1,49 @@
 // @flow
 
 import * as React from 'react';
-import { View, StyleSheet } from 'react-native';
+import { StyleSheet, TouchableOpacity, View } from 'react-native';
+import tinycolor from 'tinycolor2';
 
 type ColorSelectorButtonProps = {
-  color: string,
+  +color: string,
+  +currentColor: string,
 };
 
 function ColorSelectorButton(props: ColorSelectorButtonProps): React.Node {
-  const { color } = props;
-  const buttonStyle = React.useMemo(
-    () => [styles.button, { backgroundColor: color }],
-    [color],
+  const { color, currentColor } = props;
+
+  const colorSplotchStyle = React.useMemo(() => {
+    return [styles.button, { backgroundColor: `#${color}` }];
+  }, [color]);
+
+  const isSelected = tinycolor.equals(currentColor, color);
+  return (
+    <View style={isSelected ? styles.outerRingSelected : styles.outerRing}>
+      <TouchableOpacity style={colorSplotchStyle} />
+    </View>
   );
-  return <View style={buttonStyle} />;
 }
 
 const styles = StyleSheet.create({
   button: {
     borderRadius: 20,
     height: 40,
-    margin: 15,
+    margin: 10,
     width: 40,
   },
+  outerRing: {
+    borderRadius: 40,
+    height: 60,
+    margin: 5,
+    width: 60,
+  },
+  outerRingSelected: {
+    backgroundColor: '#404040',
+    borderRadius: 40,
+    height: 60,
+    margin: 5,
+    width: 60,
+  },
 });
 
 export default ColorSelectorButton;
diff --git a/native/components/color-selector.react.js b/native/components/color-selector.react.js
--- a/native/components/color-selector.react.js
+++ b/native/components/color-selector.react.js
@@ -3,26 +3,35 @@
 import * as React from 'react';
 import { Text, View, StyleSheet } from 'react-native';
 
+import { selectedThreadColors } from 'lib/shared/thread-utils';
+
 import ColorSelectorButton from './color-selector-button.react';
 
-function ColorSelector(): React.Node {
+type ColorSelectorProps = {
+  +currentColor: string,
+};
+
+function ColorSelector(props: ColorSelectorProps): React.Node {
+  const { currentColor } = props;
+
+  const colorSelectorButtons = React.useMemo(
+    () =>
+      selectedThreadColors.map(color => (
+        <ColorSelectorButton
+          key={color}
+          color={color}
+          currentColor={currentColor}
+        />
+      )),
+    [currentColor],
+  );
+
   return (
     <View style={styles.container}>
       <View style={styles.textContainer}>
         <Text style={styles.text}>Select thread color</Text>
       </View>
-      <View style={styles.colorButtons}>
-        <ColorSelectorButton color="#4B87AA" />
-        <ColorSelectorButton color="#5C9F5F" />
-        <ColorSelectorButton color="#B8753D" />
-        <ColorSelectorButton color="#AA4B4B" />
-        <ColorSelectorButton color="#6D49AB" />
-        <ColorSelectorButton color="#C85000" />
-        <ColorSelectorButton color="#008F83" />
-        <ColorSelectorButton color="#648CAA" />
-        <ColorSelectorButton color="#57697F" />
-        <ColorSelectorButton color="#575757" />
-      </View>
+      <View style={styles.colorButtons}>{colorSelectorButtons}</View>
     </View>
   );
 }