Staffjoy V2
Web and SaaS
workforce scheduling
SHOW HN2017
Staffjoy V2
I announced two weeks ago that we are shutting down Staffjoy [1] and open sourcing our code.
github.com#shift scheduling#open source#staff scheduling#sms scheduling#microservices
How HN took it
4 positive, 9 neutral or asking, 1 mixed, 2 critical, out of 16 comments about the project. Thread score +0.10.
Design: 1 for, 0 againstPrivacy: 0 for, 1 againstExecution: 0 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Monorepo and microservice architecture are useful to learn from
From 2 comments
We are sharing your sentiment that a lot of our user-facing errors could be limited by moving away from weak typing (current stack is Ruby). In hindsight, did Go and protobuf…
troyk on HNInteresting to see how other companies' application stacks end up looking. Thanks for releasing this.
kondro on HN
gRPC-gateway and auto-generated API docs sped up development
From 1 comment
Yes. I would always use gRPC-gateway in the future. It's an amazing library. Check out the `protobuf` folder - we basically defined the whole api there in a language-agnostic…
philip1209 on HN
Objections
Architecture is overengineered for the product's size
From 2 comments
It's overengineered for today. The datastore should have been a monolith. However, splitting up accounts and companies made us think in terms of microservices. We were prepared…
philip1209 on HNYes, in hindsight I would have done more of a monolith datastore with fewer services. Faraday for auth was amazing - we could put anything we wanted behind it and centralize…
philip1209 on HN
Backend code reads like a rushed prototype with no tests
From 2 comments
Their Go services definitely read like a very beginner or prototype project. There are no tests, lots of global state, and little separation of concerns between request/response…
zalmoxes on HNYes, it was a rush job. It started off nice, with tests and stuff. Then, we had to hit a deadline. I wrote 100% of the backend code. There were no other authors. Getting tons of…
philip1209 on HN
Build times are long (around 10 minutes)
From 1 comment
The Bazel build system [1] is the open-source version of Google's internal build system. It's tough to set up, but once you do - it caches all builds, down to the docker…
philip1209 on HN
Requests
Explain why the pivot to V2 happened instead of adding SMS to V1
From 1 comment
That's a really pitch great deck, Philip. Thanks for sharing. I have to admit - I don't totally understand why you pivoted for your V2. Couldn't you have just added on the "SMS"…
tarr11 on HN
Explain the choice of Go over Python and the dynamic typing problems
From 2 comments
To what extent did you try to refactor your Python code/architecture prior to adopting Go for v2? Also, could you share one example of the dynamic typing related problems?…
Dowwie on HNHaving worked with flask+Python eco-system and golang do you think if you continued with Python for v2 it might have been better (since you were already familiar with Python even…
dragonsh on HN
Questions
Would the architecture be done differently with hindsight?
From 2 comments
In hindsight, what would you have done differently with the architecture of this software? It's got alot of moving parts - do you think it is overengineered?
hoodoof on HNWhat are your thoughts on the re-write in hindsight, would you have done it differently looking back on it? Perhaps have gone for a more 'monolithic' approach?
spacetexas on HN
Why build an external REST API alongside a working web app?
From 1 comment
Thank you so much for sharing all that you've learned throughout your journey and for sharing your architecture. Curious but with a working web app, what was the motivation for…
tixocloud on HN
Why use microservices and a React SPA for a single developer?
From 1 comment
I really enjoyed that episode :) Curious, since it was just you writing the backend, what was the reasoning behind doing microservices + react SPA. Both of those require a lot of…
zalmoxes on HN
Alternatives named
Homebase
From 1 comment
We had some failed deploys due to usability issues. We also felt like we were starting to converge to the same set of features similar to a bunch of other companies (Homebase,…
philip1209 on HN
When I Work
From 1 comment
We had some failed deploys due to usability issues. We also felt like we were starting to converge to the same set of features similar to a bunch of other companies (Homebase,…
philip1209 on HN
Humanity/ShiftPlanning
From 1 comment
We had some failed deploys due to usability issues. We also felt like we were starting to converge to the same set of features similar to a bunch of other companies (Homebase,…
philip1209 on HN
Deputy
From 1 comment
We had some failed deploys due to usability issues. We also felt like we were starting to converge to the same set of features similar to a bunch of other companies (Homebase,…
philip1209 on HN