Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cheap tricks for startups
Search
Simon Willison
January 31, 2013
Technology
2
120
Cheap tricks for startups
My talk from Monki Gras 2013 -
Simon Willison
January 31, 2013
Tweet
Share
More Decks by Simon Willison
See All by Simon Willison
Big Opportunities in Small Data
simon
0
360
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
1
2.6k
Datasette (CSVConf 2019)
simon
1
300
Instant serverless APIs, powered by SQLite
simon
1
1.7k
Datasette
simon
1
750
The denormalized query engine design pattern
simon
2
1.8k
Exploring complex data with Elasticsearch and Python
simon
1
790
Django Origins (and some things I have built with Django)
simon
1
240
Monitoring and Introspecting Django
simon
2
3.3k
Other Decks in Technology
See All in Technology
プロジェクトマネジメント実践論|現役エンジニアが語る!~チームでモノづくりをする時のコツとは?~
mixi_engineers
PRO
3
180
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Swiftは最高だよの話
yuukiw00w
2
290
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
230
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
14
2k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
やさしいClaude Code入門
minorun365
PRO
32
25k
会社員しながら本を書いてきた知見の共有
sat
PRO
3
690
積み上げられた技術資産と向き合いながら、プロダクトの信頼性をどう守るか
plaidtech
PRO
0
930
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
120
大規模PaaSにおける監視基盤の構築と効率化の道のり
lycorptech_jp
PRO
0
180
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
2
340
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Applications with DynamoDB
mza
95
6.4k
Bash Introduction
62gerente
614
210k
GraphQLとの向き合い方2022年版
quramy
46
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
Agile that works and the tools we love
rasmusluckow
329
21k
Navigating Team Friction
lara
186
15k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
How to train your dragon (web standard)
notwaldorf
92
6k
Building an army of robots
kneath
306
45k
GitHub's CSS Performance
jonrohan
1031
460k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Transcript
Cheap tricks for Startups Lanyrd.com Simon Willison @simonw Monki Gras,
31st January 2013 http://lanyrd.com/sccqcy
Early-stage startup engineering is different
What are the quickest tools to build that provide the
most value?
Cheap experimentation
FEATURE_FLAGS = { 'new_maps': 'Uses MapBox rather than Google', 'login_picker':
'/signin/ page with picker', 'login_linkedin': 'Sign in with LinkedIn', # ... }
@login_required @flag_required('topic_tracking') def topic_track(request, slug): topic = get_object_or_404(Topic, slug=slug) #
... if user.has_flag('topic_enhancements'): # ...
<div class="secondary"> {% flag topic_tracking %} <div class="icon-feature feature-topic"> <em
class="title">Keep exploring</em> <p class="med"><a href="/topics/"> Browse and track events by topic</a></p> </div> {% flagactive topic_tracking %} BETA ONLY {% endflagactive %} {% endflag %} <!-- ... --> </div>
Feature flags apply to individual users and/or user tags, e.g.
alpha, beta, lanyrd-team
“preview” tag controls flags available on private preview.lanyrd.com (for testing
logged-out features)
Feature flags help keep trunk deployable
Cheap deployment
$ fab e:live deploy $ fab e:staging target:feature/linkedin deploy
None
None
Deployment should be... Easy Fast Cheap
Everyone deploys on their first day!
Read only mode
MySQL on EC2 PostgreSQL on SoftLayer with no downtime http://lanyrd.com/blog/2012/lanyrds-big-move/
Cheap analytics
The History table
Internal metrics • created_at field on EVERY table, no exceptions
• Makes building graphs of site growth trivial • updated_at useful but not essential
Our report system • Reports are arbitrary calculations • Run
daily by cron • Backfill available on date-field based reports • Points are stored in the database • Site can graph any report • We can export any report to a spreadsheet
None
Cheap tricks Feature flags Read only mode History table Daily
calculated reports http://lanyrd.com/sccqcy
None
None