diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index 5e89c210bcf04f8802d83f6756380a764aad71b8..e34f0ba324f68ed3dff3888bfee3c54ab0a1a18c 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -262,6 +262,21 @@ body {
     font-weight: 400;
     font-family: 'Roboto Mono', monospace;
   }
+
+  .powered-by {
+    font-size: 12px;
+    font-weight: 400;
+    color: darken(#d9e1e8, 25%);
+
+    a {
+      color: inherit;
+      text-decoration: underline;
+
+      &:hover {
+        text-decoration: none;
+      }
+    }
+  }
 }
 
 .mastodon {
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb
index e8335639c3ec3f71bae3f40e1f89e6a3ab01a399..69e39c1a6130265f02fc4e63e69dc6943f1420a7 100644
--- a/app/services/post_status_service.rb
+++ b/app/services/post_status_service.rb
@@ -7,7 +7,7 @@ class PostStatusService < BaseService
   def call(account, text, in_reply_to = nil)
     status = account.statuses.create!(text: text, thread: in_reply_to)
     process_mentions_service.(status)
-    fan_out_on_write_service.(status)
+    DistributionWorker.perform_async(status.id)
     account.ping!(account_url(account, format: 'atom'), [Rails.configuration.x.hub_url])
     status
   end
@@ -17,8 +17,4 @@ class PostStatusService < BaseService
   def process_mentions_service
     @process_mentions_service ||= ProcessMentionsService.new
   end
-
-  def fan_out_on_write_service
-    @fan_out_on_write_service ||= FanOutOnWriteService.new
-  end
 end
diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb
index e842031f56a80267f383427c21d519107956bddc..047d0e7475d9466fa866270c7efde604da05934a 100644
--- a/app/services/process_feed_service.rb
+++ b/app/services/process_feed_service.rb
@@ -38,7 +38,7 @@ class ProcessFeedService < BaseService
     # If we added a status, go through accounts it mentions and create respective relations
     unless status.new_record?
       record_remote_mentions(status, entry.xpath('./xmlns:link[@rel="mentioned"]'))
-      fan_out_on_write_service.(status)
+      DistributionWorker.perform_async(status.id)
     end
   end
 
diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml
index 2234df2250d52446898483451c18a98aca8c69c2..14c37e0dd91540c6c7adad009385d29198419641 100644
--- a/app/views/layouts/public.html.haml
+++ b/app/views/layouts/public.html.haml
@@ -1,6 +1,10 @@
 - content_for :content do
   .container= yield
   .footer
-    .domain= Rails.configuration.x.local_domain
+    %span.domain= Rails.configuration.x.local_domain
+    %span.powered-by
+      \//
+      powered by
+      = link_to 'Mastodon', 'https://github.com/Gargron/mastodon'
 
 = render template: "layouts/application"
diff --git a/app/workers/distribution_worker.rb b/app/workers/distribution_worker.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d529ed87fc2978124ddaff1d7d94abd47188c83a
--- /dev/null
+++ b/app/workers/distribution_worker.rb
@@ -0,0 +1,7 @@
+class DistributionWorker
+  include Sidekiq::Worker
+
+  def perform(status_id)
+    FanOutOnWriteService.new.(Status.find(status_id))
+  end
+end