diff --git a/.gitignore b/.gitignore
index 624ce100..e5582694 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
 *.swp
 **/__pycache__
 .local
+/nginx/nginx.conf
 
 # VSCode
 /.vscode
diff --git a/bookwyrm/static/css/bookwyrm.css b/bookwyrm/static/css/bookwyrm.css
index 4f4d2efc..145bf439 100644
--- a/bookwyrm/static/css/bookwyrm.css
+++ b/bookwyrm/static/css/bookwyrm.css
@@ -117,6 +117,20 @@ input[type=file]::file-selector-button:hover {
 
 details .dropdown-menu {
     display: block !important;
+
+summary::marker {
+    content: none;
+}
+
+.detail-pinned-button summary {
+    position: absolute;
+    right: 0;
+}
+
+.detail-pinned-button form {
+    float: left;
+    width: -webkit-fill-available;
+    margin-top: 1em;
 }
 
 /** Shelving
diff --git a/bookwyrm/templates/feed/feed.html b/bookwyrm/templates/feed/feed.html
index 1a2488af..eda4c0c0 100644
--- a/bookwyrm/templates/feed/feed.html
+++ b/bookwyrm/templates/feed/feed.html
@@ -6,49 +6,54 @@
 <h1 class="title">
     {{ tab.name }}
 </h1>
-<div class="tabs">
-    <ul>
-        {% for stream in streams %}
-        <li class="{% if tab.key == stream.key %}is-active{% endif %}"{% if tab.key == stream.key %} aria-current="page"{% endif %}>
-            <a href="/{{ stream.key }}#feed">{{ stream.shortname }}</a>
-        </li>
-        {% endfor %}
-    </ul>
-</div>
+<div class="block is-clipped">
+    <div class="is-pulled-left">
+        <div class="tabs">
+            <ul>
+                {% for stream in streams %}
+                <li class="{% if tab.key == stream.key %}is-active{% endif %}"{% if tab.key == stream.key %} aria-current="page"{% endif %}>
+                    <a href="/{{ stream.key }}#feed">{{ stream.shortname }}</a>
+                </li>
+                {% endfor %}
+            </ul>
+        </div>
+    </div>
 
-{# feed settings #}
-<details class="mb-5" {% if settings_saved %}open{% endif %}>
-    <summary>
-        <span class="has-text-weight-bold">
-            {{ _("Feed settings") }}
-        </span>
-        {% if settings_saved %}
-            <span class="tag is-success is-light ml-2">{{ _("Saved!") }}</span>
-        {% endif %}
-    </summary>
-    <form class="level is-align-items-flex-end" method="post" action="/{{ tab.key }}#feed">
-        {% csrf_token %}
+    {# feed settings #}
+    <details class="detail-pinned-button" {% if settings_saved %}open{% endif %}>
+        <summary class="control">
+            <span class="button">
+                <span class="icon icon-dots-three m-0-mobile" aria-hidden="true"></span>
+                <span class="is-sr-only-mobile">{{ _("Feed settings") }}</span>
+            </span>
+            {% if settings_saved %}
+                <span class="tag is-success is-light ml-2">{{ _("Saved!") }}</span>
+            {% endif %}
+        </summary>
+        <form class="notification level is-align-items-flex-end" method="post" action="/{{ tab.key }}#feed">
+            {% csrf_token %}
 
-        <div class="level-left">
-            <div class="field">
-                <div class="control">
-                    <label class="label mt-2 mb-1">Status types</label>
-                    {% for name, value in feed_status_types_options %}
-                    <label class="mr-2">
-                        <input type="checkbox" name="feed_status_types" value="{{ name }}" {% if name in user.feed_status_types %}checked=""{% endif %}/>
-                        {{ value }}
-                    </label>
-                    {% endfor %}
+            <div class="level-left">
+                <div class="field">
+                    <div class="control">
+                        <label class="label mt-2 mb-1">Status types</label>
+                        {% for name, value in feed_status_types_options %}
+                        <label class="mr-2">
+                            <input type="checkbox" name="feed_status_types" value="{{ name }}" {% if name in user.feed_status_types %}checked=""{% endif %}/>
+                            {{ value }}
+                        </label>
+                        {% endfor %}
+                    </div>
                 </div>
             </div>
-        </div>
-        <div class="level-right control">
-            <button class="button is-small is-primary is-outlined" type="submit">
-                {{ _("Save settings") }}
-            </button>
-        </div>
-    </form>
-</details>
+            <div class="level-right control">
+                <button class="button is-small is-primary is-outlined" type="submit">
+                    {{ _("Save settings") }}
+                </button>
+            </div>
+        </form>
+    </details>
+</div>
 
 {# announcements and system messages #}
 {% if not activities.number > 1 %}
diff --git a/complete_bwdev.sh b/complete_bwdev.sh
new file mode 100644
index 00000000..b9cd7420
--- /dev/null
+++ b/complete_bwdev.sh
@@ -0,0 +1,29 @@
+#/usr/bin/env bash
+# for zsh, run:
+# autoload bashcompinit
+# bashcompinit
+complete -W "up
+service_ports_web
+initdb
+resetdb
+makemigrations
+migrate
+bash
+shell
+dbshell
+restart_celery
+pytest
+collectstatic
+makemessages
+compilemessages
+update_locales
+build
+clean
+black
+populate_streams
+populate_suggestions
+generate_thumbnails
+generate_preview_images
+copy_media_to_s3
+set_cors_to_s3
+runweb" -o bashdefault -o default bw-dev