Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cheap tricks for startups
Search
Simon Willison
January 31, 2013
Technology
150
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cheap tricks for startups
My talk from Monki Gras 2013 -
Simon Willison
January 31, 2013
Transcript
26 slides
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
More Decks by Simon Willison
See All by Simon Willison
Big Opportunities in Small Data
simon
0
910
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
1
3.1k
Datasette (CSVConf 2019)
simon
1
430
Instant serverless APIs, powered by SQLite
simon
1
1.8k
Datasette
simon
1
880
The denormalized query engine design pattern
simon
2
2.6k
Exploring complex data with Elasticsearch and Python
simon
1
880
Django Origins (and some things I have built with Django)
simon
1
310
Monitoring and Introspecting Django
simon
2
3.4k
Other Decks in Technology
See All in Technology
Sonnetだけで業務はまわる?
kintotechdev
1
120
高品質と高スピードを支える品質のシフトレフトのアプローチ
goyoki
4
1.1k
_マネジメントする人される人ナイト_2026__良いチームを作っていきたい_お気持ち_.pdf
xkxaxkx
0
370
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
110
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
490
会社説明資料_最新版
demaecan
0
32k
Quick Automate | 目指せ Quick マスター 12
inariku
PRO
1
110
SREのためのFinOps入門
muziyoshiz
3
1.5k
2026-11-11 Tamachi.sre#7 PaCにインフラリソースの命を救われました。 / PaC saves the infra resource life
masasuzu
1
170
うちなーぐちが認識できるなら、秋田弁もいけるはず!? Amazon Transcribe方言チューニング検証
ryouto715
1
170
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
4
2.6k
E2E Test というハーネス — AI時代の自動テスト民主化
daishukojima
1
680
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
433
67k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
GitHub's CSS Performance
jonrohan
1033
470k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
990
Technical Leadership for Architectural Decision Making
baasie
4
640
The Cost Of JavaScript in 2023
addyosmani
56
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Embracing the Ebb and Flow
colly
88
5.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k