+ emoji
+ web components
= art
@notwaldorf
✨✨emojineer✨✨
@punchesbears
right?
back to the art
art is hard
Renoir: Bal du moulin de la Galette
art is fun
sharing art is fun
jenn schiffer: make8bitart.com
jenn schiffer: selfie
jenn schiffer: var t;
mu-an chiou: megamoji
megamoji cat (by yours truly)
muster
give people better
brushes
give the web better
brushes
do better than divs
the web has
semantics
<header>
<nav>
<article>
the web has
semantics
the web has
encapsulation
<input>
<video>
<summary>
the web has
encapsulation
<input>
<video>
<summary>
the web has
encapsulation
 
lol no
 
the web has
<emoji-brush>
= web components
+ encapsulation
+ semantics
      <a-presentation>
        <a-slide>
          <h1 class="title">awesome!</h1>
        </a-slide>
      </a-presentation>
        

awesome!

polymer 101
        <dom-module id="a-slide">
          

          

          
        </dom-module>
    
        <dom-module id="a-slide">
          <style>...</style>

          

          
        </dom-module>
    
        <dom-module id="a-slide">
          <style>...</style>

          <template>
            <div class="content-wrapper">
              <content select=".title"></content>
            </div>
          </template>

          
        </dom-module>
    
        <dom-module id="a-slide">
          <style>...</style>

          <template>
            <div class="content-wrapper">
              <content select=".title"></content>
            </div>
          </template>

          <script>
            Polymer({
              is: 'a-slide'
            });
          </script>
        </dom-module>
    
          <script>
            Polymer({
              is: 'a-presentation',

              

              
              
            });
          </script>
        
          <script>
            Polymer({
              is: 'a-presentation',

              properties: {
                currentSlide: {
                  type: Number,
                  value: 0,
                  notify: true
                }
              },

              
              
            });
          </script>
        
          <script>
            Polymer({
              is: 'a-presentation',

              properties: {
                currentSlide: {
                  type: Number,
                  value: 0,
                  notify: true
                }
              },

              attached: function() {...},
              
            });
          </script>
        
          <script>
            Polymer({
              is: 'a-presentation',

              properties: {
                currentSlide: {
                  type: Number,
                  value: 0,
                  notify: true
                }
              },

              attached: function() {...},
              next: function() {...},
              previous: function() {...}
            });
          </script>
        
ok so back to the art
make art with
brushes
make apps with
components

<emoji-llate>

input
β‡’

<emoji-llate>

input
β‡’

<emoji-llate>
β‡ 

config
data is bindable!
    

    <emoji-llate>
    </emoji-llate>

    
        
    

    <emoji-llate
        file
        resolution
    </emoji-llate>

    
        
    <input type="file" >

    <emoji-llate
        file
        resolution>
    </emoji-llate>

    
        
    <input type="file" value="{{someFile}}">

    <emoji-llate
        file="{{someFile}}"
        resolution>
    </emoji-llate>

    
        
    <input type="file" value="{{someFile}}">

    <emoji-llate
        file="{{someFile}}"
        resolution>
    </emoji-llate>

    
        
    <input type="file" value="{{someFile}}">

    <emoji-llate
        file="{{someFile}}"
        resolution="{{someResolution}}">
    </emoji-llate>

    <paper-slider value="{{someResolution}}"></paper-slider>
        
    <input type="file" value="{{someFile}}">

    <emoji-llate
        file="{{someFile}}"
        resolution="{{someResolution}}">
        hide-background="{{shouldHide}}">
    </emoji-llate>

    <paper-slider value="{{someResolution}}"></paper-slider>
    <paper-checkbox checked="{{shouldHide}}"></paper-checkbox>
        
          <html>
          <head>
            <script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>
            <link rel="import" href="bower_components/paper-checkbox/paper-checkbox.html">
            <link rel="import" href="bower_components/paper-slider/paper-slider.html">
            <link rel="import" href="emoji-llate.html">
          </head>
          <body unresolved>
            <template is="dom-bind" id="t">
              <input type="file" id="loader" on-change="munge">
              <paper-slider value="{{_value}}" pin snaps step=5 min=5 max=80</paper-slider>
              <paper-checkbox checked="{{_noBackground}}">hide background</paper-checkbox>

              <emoji-late id="go" resolution="{{_value}}" no-background="{{_noBackground}}">
                <div class="output"></div>
              </emoji-late>
            </template>
          </body>
          <script>
            t._value = 60;
            t._noBackground = false;

            t.munge = function(e) {
              go.file = e.target.files[0];
            }
          </script>
          </html>
          
ok so back to the art
= emojillator
+ pixellator
+ emoji
canvas vs span
spans are copy pastable
πŸ‘Œ
how 2 emojillate
1. render file in a (hidden) <img>
2. find the width/height ratio
3. resize our (hidden) canvas
4. pixellate it! (still hidden)
4. pixellate it! (still hidden)
4. pixellate it! (still hidden)
4. pixellate it! (still hidden)
4. pixellate it! (still hidden)
5. add pixel <divs> somewhere visible
annnnnd it's emojillated!
p.s. it's text!!
so we can make a gist

πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ͺπŸššπŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ™ŒπŸ₯πŸš§πŸΆπŸŒ”πŸΆπŸš§πŸ₯πŸ₯πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜ΉπŸ˜ΉπŸ“ˆπŸŒβ¬œβ¬œβ¬œβ¬œπŸŒπŸš“πŸ“£πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ•πŸŒ›πŸ₯πŸ₯πŸ₯πŸ₯πŸ₯πŸ₯πŸ₯πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ™ˆβ›…β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ“œπŸššπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ™ŒπŸ‘’πŸššπŸ˜€πŸ˜€πŸ˜€πŸ˜€πŸ˜€πŸ˜€πŸŒ•πŸ‘‘πŸ₯πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸššπŸ”³β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘Έβ¬œβ¬œβ¬œβ¬œπŸššπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜’πŸ™ŒπŸ˜€β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸΊπŸ’‚πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸ™Œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œβ¬œπŸ”πŸΊπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜’πŸ™ŒπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ“£πŸ’‡πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ“œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ”ŠπŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ͺπŸ΄πŸ˜€β¬œβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘‘πŸ‘ͺπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜“πŸš§β¬œβ¬œπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘Έβ¬œβ¬œπŸ‘ŸπŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸ’‚πŸššβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ“£πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ˜Ήβ¬œβ¬œπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘Έβ¬œπŸ“ πŸ‘‘πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ‘‘πŸ‘Έβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜€πŸššπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸŒ•β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸš§πŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ“£πŸ‘Έβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸŒ›πŸššπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸŒ•β¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ“œπŸš§πŸ‘ͺπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ“£πŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ»πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸššβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘ΈπŸ‘Έβ¬œπŸ¨πŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸΆπŸ‘ͺπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜“πŸŽπŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›β¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘Έβ¬œβ¬œπŸ‘ŸπŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ“£πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ»πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ“œβ¬œβ¬œβ¬œβ¬œβ¬œπŸ‘Έβ¬œβ¬œπŸ‘Έβ¬œβ¬œβ¬œβ¬œβ¬œπŸ™πŸ˜€πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ“£πŸ“£πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸŒ›πŸ™ŒπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸššβ¬œβ¬œβ¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œβ¬œβ›…πŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸ‘‘πŸŒ›πŸ»πŸ˜€πŸ‘ΈπŸ‘ΈπŸ˜“πŸ»πŸŒ›πŸŽπŸ‘‹πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸŒ›πŸ”β¬œβ¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œπŸ‘ΈπŸ‘Έβ¬œβ¬œπŸŽ‚πŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜“πŸ˜ΉπŸ¦β­πŸš§β­πŸ™ŒπŸ˜“πŸ˜“πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ“£πŸ”Šβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œβ¬œπŸŽ‚πŸ‘³πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ͺπŸ˜“πŸ˜₯πŸˆšπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜“πŸššπŸ”πŸšβ¬œβ¬œβ¬œπŸŽ‚πŸ“±πŸ“’πŸ˜ΉπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜₯πŸΆπŸ¦πŸŒ›πŸŒ›πŸ¦πŸ˜ΉπŸ˜₯πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ˜“πŸ˜₯πŸ˜₯πŸ‘ͺπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ
πŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘ΈπŸ‘Έ

and spam slack
πŸŽ‰πŸŽ‰πŸŽ‰
give the web
better brushes
Chris Joel: emoji word art
Chris Joel: meatscope.camera
help people make art
help people share art
@notwaldorf ✌︎
thanks!
Image credits: Oliviu Stoian, Ismael Ruiz, and Sergey Demushkin from the Noun Project. Chelsea LaSalle from the goodness of her heart.