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
Running global manufacturing on Ruby (among oth...
Search
Lee Edwards
November 11, 2016
Technology
73
0
Share
Running global manufacturing on Ruby (among other things)
How Teespring runs a global manufacturing operation on Ruby, and other programming languages.
Lee Edwards
November 11, 2016
More Decks by Lee Edwards
See All by Lee Edwards
When not to build a service-oriented architecture
ledwards
0
530
Bringing the Pivotal Process to an Early Startup
ledwards
2
400
SideTour at StartOut Demo Day
ledwards
1
120
Building a Technical Team
ledwards
1
230
Refactoring
ledwards
4
400
Life After LSM
ledwards
2
180
Attack of the Zombie Dynos
ledwards
2
260
Keeping Your Clients ‘NSync - Node.js and Derby: The New Kids on the Block
ledwards
2
220
Test Driving with RSpec and Cucumber
ledwards
3
470
Other Decks in Technology
See All in Technology
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
180
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
110
20260516_SecJAWS_Days
takuyay0ne
2
440
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
270
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
640
おいらのAWSアップデートの追い方〜Slack×AgentCore〜
yakumo
1
110
Tachikawa.any 運営挨拶
daitasu
0
180
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
180
The Bag-of-Documents Model for Query Understanding and Retrieval
dtunkelang
0
140
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
1
700
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
570
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Navigating Weather and Climate Data
rabernat
0
190
Marketing to machines
jonoalderson
1
5.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
How STYLIGHT went responsive
nonsquared
100
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Designing for Timeless Needs
cassininazir
1
220
Transcript
Running global manufacturing on Ruby (among other things) Lee Edwards
VP Engineering at Teespring RubyConf 2016 @terronk
Song Dynasty (960-1279) Screen printing
The original silk road
Andy Warhol 1950s-60s
Modern screen printing facility (Hebron, KY)
Artwork separation
Picking tees
None
None
None
None
None
None
How it works Digital printing
None
None
None
None
A few parts of Teespring Commerce Fulfillment Artwork
FulfillmentJob
CampaignEnder Campaign class Campaign < ActiveRecord::Base # state_id class CampaignEnder
< TeespringWorker def perform # Check: # valid campaign, and valid to end? # meet minimum to print? # profitable for orders placed? # all orders charged? end_successfully
Printer FulfillmentJob class Printer < ActiveRecord::Base has_many :fulfillment_jobs class FulfillmentJob
< ActiveRecord::Base has_many :fulfillment_line_items class FulfillmentLineItem < ActiveRecord::Base
None
None
Apollo
None
Shipping labels
Conveyor belts
None
None
None