diff --git a/app/views/snippets/_form.html.haml b/app/views/snippets/_form.html.haml
index 05502503bee0361c04d8f0e92fc56daf5f892bfd..e5c63afe980627743c9312ac8db51a7245b95050 100644
--- a/app/views/snippets/_form.html.haml
+++ b/app/views/snippets/_form.html.haml
@@ -15,9 +15,6 @@
     .clearfix
       = f.label "Private?"
       .input= f.check_box :private, {class: ''}
-    .clearfix
-      = f.label "Lifetime"
-      .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
     .clearfix
       .file-editor
         = f.label :file_name, "File"
@@ -30,7 +27,11 @@
               = f.hidden_field :content, class: 'snippet-file-content'
 
     .form-actions
-      = f.submit 'Save', class: "btn-save btn"
+      - if @snippet.new_record?
+        = f.submit 'Create snippet', class: "btn-create btn"
+      - else
+        = f.submit 'Save', class: "btn-save btn"
+
       = link_to "Cancel", snippets_path(@project), class: " btn"
       - unless @snippet.new_record?
         .pull-right= link_to 'Destroy', snippet_path(@snippet), confirm: 'Removed snippet cannot be restored! Are you sure?', method: :delete, class: "btn pull-right danger delete-snippet", id: "destroy_snippet_#{@snippet.id}"
diff --git a/app/views/snippets/_snippet.html.haml b/app/views/snippets/_snippet.html.haml
index a013cdfe16aafe0e451d6fc0f9a66b4dc10fc029..c96b6f83f0b36a54f2340d18fc3c433cf5957bb9 100644
--- a/app/views/snippets/_snippet.html.haml
+++ b/app/views/snippets/_snippet.html.haml
@@ -1,13 +1,12 @@
 %li
-  .snippet-title
-    - if snippet.private?
-      = private_icon
-    - else
-      = public_icon
+  %h4.snippet-title
     = link_to reliable_snippet_path(snippet) do
-      %h5.inline
-        = truncate(snippet.title, length: 60)
-    %span.cgray
+      = truncate(snippet.title, length: 60)
+      - if snippet.private?
+        %span.label.label-success
+          %i.icon-lock
+          private
+    %span.cgray.monospace.tiny.pull-right
       = snippet.file_name
 
   %small.pull-right.cgray
@@ -15,16 +14,11 @@
       = link_to snippet.project.name_with_namespace, project_path(snippet.project)
       %span
         \|
-    Expires:
-    - if snippet.expires_at
-      = snippet.expires_at.to_date.to_s(:short)
-    - else
-      Never
 
-  .snippet-info.prepend-left-20
+  .snippet-info
     = "##{snippet.id}"
-    %span.light
+    %span
       by
       = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16", alt: ''
       = snippet.author_name
-
+      %span.light #{time_ago_in_words(snippet.created_at)} ago
diff --git a/app/views/snippets/_snippets.html.haml b/app/views/snippets/_snippets.html.haml
index 636bf37f6d92a8ea53d84cdb5671bdcb5c64189b..05365dd8b881cfa4ba1c7e9f8a330f1b8d026f42 100644
--- a/app/views/snippets/_snippets.html.haml
+++ b/app/views/snippets/_snippets.html.haml
@@ -4,4 +4,4 @@
     %li
       %h3.nothing_here_message Nothing here.
 
-= paginate @snippets
+= paginate @snippets, theme: 'gitlab'
diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml
index b112511a880d518bdbc2e4d52d1e23347fbc844b..811e429d22a89438fc976238e7c4c966e4eff046 100644
--- a/app/views/snippets/show.html.haml
+++ b/app/views/snippets/show.html.haml
@@ -1,15 +1,30 @@
 %h3.page-title
+  = @snippet.title
+
   - if @snippet.private?
-    %i{:class => "icon-lock cgreen has_bottom_tooltip", "data-original-title" => "Private snippet"}
-  - else
-    %i{:class => "icon-globe cblue has_bottom_tooltip", "data-original-title" => "Public snippet"}
+    %span.label.label-success
+      %i.icon-lock
+      private
 
-  = @snippet.title
+  .pull-right
+    = link_to new_snippet_path, class: "btn btn-small add_new grouped btn-primary", title: "New Snippet" do
+      Add new snippet
 
-  %small.pull-right
+
+.append-bottom-20
+  .pull-right
     = "##{@snippet.id}"
     %span.light
       by
       = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16"
       = @snippet.author_name
+
+  .back-link
+    - if @snippet.author == current_user
+      = link_to user_snippets_path(current_user) do
+        ← my snippets
+    - else
+      = link_to snippets_path do
+        ← discover snippets
+
 %div= render 'blob'
diff --git a/db/fixtures/development/12_snippets.rb b/db/fixtures/development/12_snippets.rb
new file mode 100644
index 0000000000000000000000000000000000000000..78f24446a88be0d9dcaf76dfee0a52f0b1c201c5
--- /dev/null
+++ b/db/fixtures/development/12_snippets.rb
@@ -0,0 +1,24 @@
+ActiveRecord::Base.observers.disable :all
+
+Gitlab::Seeder.quiet do
+  contents = [
+    `curl https://gist.github.com/randx/4275756/raw/da2f262920c96d1a970d48bf2e99147954b1f4bd/glus1204.sh`,
+    `curl https://gist.github.com/randx/3754594/raw/11026a295e6ef3a151c635707a3e1e8e15fc4725/gitlab_setup.sh `,
+    `curl https://gist.github.com/randx/3065552/raw/29fbd09f4605a5ea22a5a9095e35fd1938dea4d6/gistfile1.sh`,
+  ]
+
+  (1..50).each  do |i|
+    user = User.all.sample
+
+    PersonalSnippet.seed(:id, [{
+      id: i,
+      author_id: user.id,
+      title: Faker::Lorem.sentence(6),
+      file_name:  Faker::Internet.domain_word + '.sh',
+      private: [true, false].sample,
+      content: contents.sample,
+    }])
+    print('.')
+  end
+end
+
diff --git a/features/steps/snippets/snippets.rb b/features/steps/snippets/snippets.rb
index d21ce9334e77dcc173b9b14d041f82c845d8d9b0..bbdf5b97c8411bf1c07bd2b8c9699299f568ce47 100644
--- a/features/steps/snippets/snippets.rb
+++ b/features/steps/snippets/snippets.rb
@@ -24,12 +24,11 @@ class SnippetsFeature < Spinach::FeatureSteps
 
   And 'I submit new snippet "Personal snippet three"' do
     fill_in "personal_snippet_title", :with => "Personal snippet three"
-    select "forever", :from => "personal_snippet_expires_at"
     fill_in "personal_snippet_file_name", :with => "my_snippet.rb"
     within('.file-editor') do
       find(:xpath, "//input[@id='personal_snippet_content']").set 'Content of snippet three'
     end
-    click_button "Save"
+    click_button "Create snippet"
   end
 
   Then 'I should see snippet "Personal snippet three"' do