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
140
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
690
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
1
2.9k
Datasette (CSVConf 2019)
simon
1
400
Instant serverless APIs, powered by SQLite
simon
1
1.8k
Datasette
simon
1
860
The denormalized query engine design pattern
simon
2
2.3k
Exploring complex data with Elasticsearch and Python
simon
1
850
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
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
180
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.3k
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
180
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
180
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.6k
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
0
170
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
Claude Code 珍プレー好プレー
shinyasaita
0
330
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
510
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.1k
DatabricksにおけるMCPソリューション
taka_aki
1
240
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
320
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
Google's AI Overviews - The New Search
badams
0
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
690
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Claude Code のすすめ
schroneko
67
230k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
920
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.9k
A designer walks into a library…
pauljervisheath
211
24k
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