- Personalized features. Currency, language, country specific deals, taxes, or delivery options are changed based on user's location.
- Registering provides value to users. For example a "Free Trial" button communicates a clear benefit, but a "Register" button doesn't. Unnecessary registration is avoided.
- Transparent pricing. Prices are clearly displayed. There are no hidden costs or surprises in the terms.
- Pages don't refresh automatically. Users can get confused if new content is uploaded suddenly, for example on news websites.
- Sample content. For example there is a sample newsletter next to a newsletter sign up form.
class RecipeSerializer < ActiveModel::Serializer | |
embed :ids, include: true | |
has_many :steps | |
attributes :id, :title | |
end |
Recipe = DS.Model.extend | |
title: DS.attr('string') | |
steps: DS.hasMany('step', {async: true}) | |
Step = DS.Model.extend | |
substeps: DS.hasMany('substep', {async: true}) | |
Substep = DS.Model.extend() |
import TokenAuth from 'appkit/lib/token-auth'; | |
export default { | |
name: "token-auth", | |
before: "store", | |
initialize: function(container, application) { | |
application.register('auth:main', TokenAuth); | |
application.inject('controller', 'auth', 'auth:main'); |
var TokenAuth = Ember.Object.extend({ | |
accessToken: $.cookie('accessToken'), | |
serverTokenEndpoint: 'http://api.lvh.me:3000/oauth/token/', | |
init: function() { | |
if(this.isAuthenticated) { | |
DS.RESTAdapter.reopen({ | |
headers: { | |
"Authorization": "Bearer " + this.accessToken | |
} | |
}); |
<UITableViewCell: 0x12a4c3e0; frame = (0 44; 300 44); autoresize = W; layer = <CALayer: 0x12a4c370>>\n | <UITableViewCellContentView: 0x12a4c510; frame = (0 0; 300 44); gestureRecognizers = <NSArray: 0x12a4c770>; layer = <CALayer: 0x12a4c570>>\n | | <PXUITextField_InsetTextField: 0xb158f00; baseClass = UITextField; frame = (0 0; 300 44); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0xb1595b0>; layer = <CALayer: 0xb159080>>" |
Analytics | |
Ask Lifestyle.io | |
Consulting / Freelancing | |
Design | |
Entrepreneurship | |
Failure Stories | |
Feedback | |
Growth Hacking | |
Health | |
Hiring |
How We Bootstrapped a $20K Website into a $4M/year Business
APRIL 17, 2013 4:40 PM \ LEAVE A COMMENT \ MYCLEAN When MyClean started 3 years ago, we did everything the hard way. The founders of our company are all non-technical – our CEO is a former derivatives salesman – and other founders had backgrounds in marketing and finance. We outsourced design and development for a cleaning website that allows customers to book appointments online, semi-automates scheduling, and emails cleaners their schedule. Until we hired a product manager a few months ago, there wasn’t a single full-time employee or founder who knew how to write HTML or open a .PSD. Using this simple platform from 3 years ago – the design hasn’t even been changed since then – we’ve bootstrapped our business into something to be proud of. Long story short – we hustled, cleaned and persevered.
Things were never easy. When our server crashed, we called our out-sourced developer in Canada and prayed he wasn’t at the movies with his girlfriend. When
$mq-mobile-portrait : 320px !default | |
$mq-mobile-landscape : 480px !default | |
$mq-tablet-portrait : 768px !default | |
$mq-tablet-landscape : 1024px !default | |
$mq-desktop : 1382px !default | |
// Both portrait and landscape | |
=mobile-only | |
@media (max-width : $mq-mobile-landscape) | |
@content |