I am developing Agile-native project management software built almost entirely with Elm (about 150 lines of JavaScript for Web Components) on both the front and back end with Lamdera as the platform. This post really has two audiences and two purposes:
- I want to share for those looking for another Lamdera and Elm success story - especially people new to Elm or returning after a break.
- I am also looking to see if anyone in this community would be interested in trying this out or knows someone else who is. I apologize for the shameless self-promotion.
Elm and Lamdera: Highly productive pairing
Context
- The project is around 69K LoC excluding unit tests (and since it is Lamdera there are presently no manually written Json Encoders/Decoders). Obviously LoC is a weak metric but it gives a ballpark representation of size/complexity.
- It features a Kanban board, drag/drop dependency visualizer, and a lot of custom visualizations.
- The application is highly collaborative thanks to Lamdera: changes appear immediately, you can see when someone else is editing, and during a Scrum event the team can see what the facilitator is looking at.
Nice attributes
All of the usual Elm stuff:
- The project has never thrown a run-time error.
- Very few bugs. Bugs are mostly design oversights / mistakes.
- Elm on the front and back end so I never need to switch language. Infrastructure handled by Lamdera so I can pretty much stay in the realm of domain and feature modeling. This helps me keep my mental flow states.
- No fighting with npm packages or versions.
- No fighting with an enormous fragmented tool chain.
- Lots of safe and descriptive data types. With opaque types and some phantom type markers in the domain layer the codebase is type safe and declarative / descriptive. The type system tells you exactly what a thing means, what state transitions are allowed, and obviously there are no hidden side effects.
The “success” is just how easy everything has been. I am grateful to the entire Elm community.
Early Customers
The software is ready to use today and I am looking for early customers to help shape where it goes next. Please do note that the software assumes a team following Agile principles and very likely Scrum or Scrumban flavored process.
- Product Page
- Speed run video - Please note that the video is of captures from about 5 weeks ago. The application looks considerably better today. I’ve got an automated system for screen grabs but not videos and I just don’t have time to keep recapturing videos.
If you know an engineering leader, product owner, Scrum master, founder, or team lead who is frustrated with their current software, I would appreciate if you could point them in my direction.