28
Yet another startup built on Clojure(Script) Presented at Berlin Clojure meetup July 2015 by Paul Lam (@Quantisan)

Yet another startup built on Clojure(Script)

Embed Size (px)

Citation preview

Page 1: Yet another startup built on Clojure(Script)

Yet another startupbuilt on Clojure(Script)

Presented at Berlin Clojure meetup July 2015 by Paul Lam (@Quantisan)

Page 2: Yet another startup built on Clojure(Script)

Agenda

Architecture Clojurescript Team

2014 2015

Page 3: Yet another startup built on Clojure(Script)

Our front-end timeline

Flight.js Enfocus + JS Reagent

2014 2015

Page 4: Yet another startup built on Clojure(Script)

Demo

Page 5: Yet another startup built on Clojure(Script)

Customers, Customers, Customers

Page 6: Yet another startup built on Clojure(Script)

Spokepoint v0.1

Google Sheets

InternetData mining(manual)

Ourselves

Customer

Ourselves

Page 7: Yet another startup built on Clojure(Script)

Spokepoint v0.2

Google Sheets

Internet

Ourselves

Customer

Me

Data mining (Clojure & Go)

Page 8: Yet another startup built on Clojure(Script)

Spokepoint v0.3

Google Sheets

Internet

Ourselves

Customer

Sheet API (Python)

Data mining (Clojure & Go)

Page 9: Yet another startup built on Clojure(Script)

Spokepoint v0.4

Google Sheets

InternetData mining (Clojure & Go)

Customer

Flight.js<iframe>

Page 10: Yet another startup built on Clojure(Script)

Spokepoint v1.0-SNAPSHOT

Google Sheets

InternetSearch (Clojure)

Sheet API (Python)

Customer

Flight.jsREST over HTTPS

Page 11: Yet another startup built on Clojure(Script)
Page 12: Yet another startup built on Clojure(Script)

Spokepoint v1.0 (3rd month, private beta)

Google Sheets

InternetSearch (Clojure)

Sheet API (Python)

Customer

Flight.js

MySQLAccount (Go)

Page 13: Yet another startup built on Clojure(Script)

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

Page 14: Yet another startup built on Clojure(Script)

Build, Build, Build

Phase 2

Page 15: Yet another startup built on Clojure(Script)

Phase 2 Target

Architecture

2014 2015

Launched 1st August

We’re here now

Page 16: Yet another startup built on Clojure(Script)

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

Page 17: Yet another startup built on Clojure(Script)

Need more front-end manpower

Page 18: Yet another startup built on Clojure(Script)

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

Page 19: Yet another startup built on Clojure(Script)

Built a new feature with Clojurescript for the first time

project.cljrouter.cljspitch_builder.cljstemplate/list.html

Page 20: Yet another startup built on Clojure(Script)

Startup concerns on Clojure(Script)

CEO Hiring and training

Uncommon stack lessen chances of funding or acquisition

CTO Many libraries are one-person projects

Page 21: Yet another startup built on Clojure(Script)

Grow, Grow, Grow

Phase 3

Page 22: Yet another startup built on Clojure(Script)

Architecture Clojurescript

2014 2015

Customers want a platform

Page 23: Yet another startup built on Clojure(Script)

Architecture Clojurescript

2014 2015

Hired 3rd developer

Team

Page 24: Yet another startup built on Clojure(Script)

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.”

Page 25: Yet another startup built on Clojure(Script)

3 out of 3 of our developers with different backgrounds

survived Clojure and ClojureScript

Page 26: Yet another startup built on Clojure(Script)
Page 27: Yet another startup built on Clojure(Script)

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

Page 28: Yet another startup built on Clojure(Script)

Credits to my team

Isaac Chansky

Elizabeth Hagearty

Tony Tam

Dan Siegel

and with thanks to the Clojure community