Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Yet another startup
built on Clojure(Script)
Presented at Copenhagen Clojure Meetup August 2015 by Paul Lam (@Quantisan)
Agenda
Architecture Clojurescript Team
2014 2015
Our front-end timeline
Flight.js Enfocus + JS Reagent
2014 2015
Customers, Customers, Customers
Spokepoint v0.1
Google
Sheets
Internet
Data mining
(manual)
Ourselves
Customer
Ourselves
Spokepoint v0.2
Google
Sheets
Internet
Ourselves
Customer
Me
Data mining
(Clojure &
Go)
Spokepoint v0.3
Google
Sheets
Internet
Ourselves
Customer
Sheet API
(Python)
Data mining
(Clojure &
Go)
Spokepoint v0.4
Google
Sheets
Internet
Data mining
(Clojure &
Go)
Customer
Flight.js
<iframe>
Spokepoint v1.0-SNAPSHOT
Google
Sheets
Internet
Search
(Clojure)
Sheet API
(Python)
Customer
Flight.js
REST over HTTPS
Spokepoint v1.0 (3rd month, private beta)
Google
Sheets
Internet
Search
(Clojure)
Sheet API
(Python)
Customer
Flight.js
My...
Good
● Moved fast by only
building what’s
needed
Bad
● > 4 languages in
production
● Complexities in the
interfaces
● Boil...
Build, Build, Build
Phase 2
Phase 2 Target
Architecture
2014 2015
Launched 1st August
We’re here now
Making it happen
Architecture
2014 2015
Launching 1st August
Know what customers want,
now make it happen in the app
Most ...
Need more front-end manpower
Single Page Application:
My thinking at the time
Javascript
● Existing frontend is in
Javascript
● Humongous community
● S...
Built a new feature with Clojurescript
for the first time
project.clj
router.cljs
pitch_builder.cljs
template/list.html
A better way of organizing Reagent app,
https://github.com/Day8/re-frame
Code Showcase:
What not to do
Grow, Grow, Grow
Phase 3
Architecture Clojurescript
2014 2015
Customers want a platform
Architecture Clojurescript
2014 2015
Hired 3rd developer
Team
Startup concerns on Clojure(Script)
CEO Hiring and training
Uncommon stack lessen chances
of funding or acquisition
CTO Ma...
Our job posting in August
“Spokepoint is an MIT startup in Cambridge, MA looking for
a Clojurescript frontend contractor (...
3 out of 3 of our developers
with different backgrounds
survived Clojure and ClojureScript
Summary
● Built minimal pieces with pain driven
development method
● Clojurescript / Reagent enabled us to deliver
quickly...
Credits to my team
Isaac Chansky
Elizabeth Hagearty
Tony Tam
Dan Siegel
and with thanks to the Clojure community
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Upcoming SlideShare
Loading in …5
×

Yet another startup built on Clojure(Script)

1,264 views

Published on

A walk through the time of Spokepoint showcasing 3 of the problems we faced and the context around them relating to Clojure and ClojureScript

  • Be the first to comment

Yet another startup built on Clojure(Script)

  1. 1. Yet another startup built on Clojure(Script) Presented at Copenhagen Clojure Meetup August 2015 by Paul Lam (@Quantisan)
  2. 2. Agenda Architecture Clojurescript Team 2014 2015
  3. 3. Our front-end timeline Flight.js Enfocus + JS Reagent 2014 2015
  4. 4. Customers, Customers, Customers
  5. 5. Spokepoint v0.1 Google Sheets Internet Data mining (manual) Ourselves Customer Ourselves
  6. 6. Spokepoint v0.2 Google Sheets Internet Ourselves Customer Me Data mining (Clojure & Go)
  7. 7. Spokepoint v0.3 Google Sheets Internet Ourselves Customer Sheet API (Python) Data mining (Clojure & Go)
  8. 8. Spokepoint v0.4 Google Sheets Internet Data mining (Clojure & Go) Customer Flight.js <iframe>
  9. 9. Spokepoint v1.0-SNAPSHOT Google Sheets Internet Search (Clojure) Sheet API (Python) Customer Flight.js REST over HTTPS
  10. 10. Spokepoint v1.0 (3rd month, private beta) Google Sheets Internet Search (Clojure) Sheet API (Python) Customer Flight.js MySQL Account (Go)
  11. 11. Good ● Moved fast by only building what’s needed Bad ● > 4 languages in production ● Complexities in the interfaces ● Boilerplate HTTP servers ● No cross-system versioning Trade-offs
  12. 12. Build, Build, Build Phase 2
  13. 13. Phase 2 Target Architecture 2014 2015 Launched 1st August We’re here now
  14. 14. Making it happen Architecture 2014 2015 Launching 1st August Know what customers want, now make it happen in the app Most needs are on the frontend Clojurescript
  15. 15. Need more front-end manpower
  16. 16. Single Page Application: My thinking at the time Javascript ● Existing frontend is in Javascript ● Humongous community ● SPA frameworks: React, Ember, Flight.js, etc. ● All the supporting libraries that we would need ● Pool of JS talent readily available Clojurescript ● I am “10x” more productive in Clojure ● Interoperable with Javascript
  17. 17. Built a new feature with Clojurescript for the first time project.clj router.cljs pitch_builder.cljs template/list.html
  18. 18. A better way of organizing Reagent app, https://github.com/Day8/re-frame Code Showcase: What not to do
  19. 19. Grow, Grow, Grow Phase 3
  20. 20. Architecture Clojurescript 2014 2015 Customers want a platform
  21. 21. Architecture Clojurescript 2014 2015 Hired 3rd developer Team
  22. 22. Startup concerns on Clojure(Script) CEO Hiring and training Uncommon stack lessen chances of funding or acquisition CTO Many libraries are one-person projects
  23. 23. Our job posting in August “Spokepoint is an MIT startup in Cambridge, MA looking for a Clojurescript frontend contractor (remote possible). Don't know Clojurescript? Doesn't matter. I can help you with that. We are looking for the right person rather than checking a set of skills. Our web apps are built on Clojurescript, Clojure, Go, and Docker.”
  24. 24. 3 out of 3 of our developers with different backgrounds survived Clojure and ClojureScript
  25. 25. Summary ● Built minimal pieces with pain driven development method ● Clojurescript / Reagent enabled us to deliver quickly on the front-end ● There are developers that want to get paid to use Clojure and Clojurescript
  26. 26. Credits to my team Isaac Chansky Elizabeth Hagearty Tony Tam Dan Siegel and with thanks to the Clojure community

×