diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 99932f98a3b0c884ebfdf9c2b323a7bf2c248040..d1b15880d74fa18f86cac269b3ad0fa519b6bd9d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,7 @@ image: docker:19.03.1
 variables:
   DOCKER_TLS_CERTDIR: "/certs"
   IMAGE_TAG: $CI_REGISTRY_IMAGE
-  IMAGE_VER: 1.0.1
+  IMAGE_VER: 1.1.0
 
 services:
   - docker:19.03.1-dind
diff --git a/lib/CF/Controller/Websockets.pm b/lib/CF/Controller/Websockets.pm
index 8647e9dfa32a0d8b88788b5dd3a4cf1bffc333d1..789f4262e912973614739f6891487ac9c1a6c2ec 100644
--- a/lib/CF/Controller/Websockets.pm
+++ b/lib/CF/Controller/Websockets.pm
@@ -3,6 +3,7 @@ package CF::Controller::Websockets;
 use Mojo::Base 'Mojolicious::Controller';
 use Mojo::Pg::PubSub;
 use Digest::SHA qw(hmac_sha1_hex);
+use POSIX qw(ceil);
 
 use feature 'signatures';
 no warnings qw{ experimental::signatures };
@@ -44,13 +45,18 @@ sub main {
             my $all = $c->schema->resultset('Socket_view')->count(
                 { is_alive => 't', }
             );
+
             my $members = $c->schema->resultset('Socket_view')->count(
                 { is_alive => 't', is_member => 't' }
             );
 
+            my $group_size = $c->_member_group_size($members);
+
             $c->send({json => { event => 'online_users_updated', payload => {
-                all     => $all,
-                members => $members,
+                all             => $all,
+                members         => $members,
+                group_size_full => $group_size->{full},
+                group_size_half => $group_size->{half},
             }}});
 
             if ( $user ) {
@@ -71,4 +77,18 @@ sub main {
     });
 }
 
+sub _member_group_size  ($c, $total = 0){
+    my $group = 2 * sqrt($total);
+    my $min   = $total / 100;
+    my $max   = $total / 5;
+
+    $group = $min if $group < $min;
+    $group = $max if $group > $max;
+
+    return {
+        full => ceil( $group ),
+        half => ceil( $group/2 ),
+    };
+}
+
 1;