diff --git a/README.md b/README.md
index 7d558ce..eb4248b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# CadHub
-CadHub aims to be a community website for javascript based code-cad. Currently trying to integrate [cascadeStudio](https://zalo.github.io/CascadeStudio/), but if successful plan to also integrate [jsCad](https://openjscad.org/).
+CadHub aims to be a community website for javascript based code-cad. Currently trying to integrate [cascadeStudio](https://zalo.github.io/CascadeStudio/), but if successful plan to also integrate [JSCAD](https://openjscad.org/).
OpenScad has proven code-cad a much loved formate for cad-modeling. Joining code-cad to a mature language like javascript that has a package manager (npm) plus a community hub for sharing cad models like CadHub, we're going to build a thriving community.
diff --git a/web/src/components/EmojiReaction/EmojiReaction.js b/web/src/components/EmojiReaction/EmojiReaction.js
new file mode 100644
index 0000000..0f2d162
--- /dev/null
+++ b/web/src/components/EmojiReaction/EmojiReaction.js
@@ -0,0 +1,76 @@
+import { useState } from 'react'
+import Fab from '@material-ui/core/Fab'
+import IconButton from '@material-ui/core/IconButton'
+import Popover from '@material-ui/core/Popover'
+import Svg from 'src/components/Svg'
+
+const emojiMenu = ['🏆', '❤️', '👍', '😊', '😄', '🚀', '👏', '🙌']
+
+const EmojiReaction = ({ emotes, callback = () => {} }) => {
+ const [isOpen, setIsOpen] = useState(false)
+ const [anchorEl, setAnchorEl] = useState(null)
+ const [popoverId, setPopoverId] = useState(undefined)
+
+ const openPopover = (target) => {
+ setAnchorEl(target)
+ setPopoverId('simple-popover')
+ setIsOpen(true)
+ }
+
+ const closePopover = () => {
+ setAnchorEl(null)
+ setPopoverId(undefined)
+ setIsOpen(false)
+ }
+
+ const togglePopover = ({ currentTarget }) => {
+ if (isOpen) {
+ return closePopover()
+ }
+
+ openPopover(currentTarget)
+ }
+
+ const handleEmojiClick = (emoji) => {
+ callback(emoji)
+ closePopover()
+ }
+
+ return [
+