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
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
More Decks by Simon Willison
See All by Simon Willison
Big Opportunities in Small Data
simon
0
770
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
1
3k
Datasette (CSVConf 2019)
simon
1
410
Instant serverless APIs, powered by SQLite
simon
1
1.8k
Datasette
simon
1
870
The denormalized query engine design pattern
simon
2
2.4k
Exploring complex data with Elasticsearch and Python
simon
1
860
Django Origins (and some things I have built with Django)
simon
1
300
Monitoring and Introspecting Django
simon
2
3.4k
Other Decks in Technology
See All in Technology
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
420
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
1.2k
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
230
10分で知る最近のOmarchy
komagata
0
140
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
110
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
250
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.8k
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
920
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
330
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
4
2.6k
enechainの内製セルフサービスプラットフォーム
hiyosi
0
140
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
540
How GitHub (no longer) Works
holman
316
150k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Claude Code のすすめ
schroneko
67
230k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Skip the Path - Find Your Career Trail
mkilby
1
220
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Docker and Python
trallard
47
4.2k
KATA
mclloyd
PRO
35
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
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