After almost three years of design and development, I’m excited to announce the Lamdera Open Alpha!
What is Lamdera?
Developers have to deal with a lot of incidental complexity when building full-stack applications: bundling and deploying apps, serialising and deserialising data, handling network transports, interacting with databases, migrations, and so on. All this “glue code” costs development time, isn’t type-safe and increases the risk of bugs.
Lamdera’s goal is to empower you to write only the code that matters for the application logic of what you’re building; not by hiding complexity, but by removing it.
Lamdera is a type-safe full-stack web-app platform for Elm.
Hosting, deployments, migrations, networking, encoders/decoders and persistent storage are handled by Lamdera, so you can focus on your application logic, not glue code. I originally announced Lamdera in my keynote “Elm as a service” (40min) at Elm Europe 2019.
Lamdera also has a type-safe migrations system called Evergreen, which combined with the above features means new app deployments will live-reload for all connected clients while preserving state. I spoke about “Evergreen Migrations” (20min) at Elm Europe in 2018.
Lamdera Open Alpha
The Alpha is intended for Elm enthusiasts, keen to try a vision of “glue-less” full-stack web development, with an appetite for the bleeding edge!
The Alpha is not yet suitable for production use cases! It is for exploration and experimentation.
You can sign up here.
A huge thank you to all the people who have helped during the private Alpha and even before!
Why you shouldn’t use Lamdera
Lots of projects these days seem to advertise “Get started in just 3 nanoseconds!” but I don’t often see “Also, don’t waste your time if these pitfalls matter to you!” – I’m often left to decipher this myself.
Someone would eventually spend time writing a blog post; “Why you shouldn’t use Lamdera”.
So instead I’ve outlined why you shouldn’t use Lamdera, which you might want to read before going any further.
What people have built with Lamdera so far
Sometimes seeing is believing! Here is a small selection of Lamdera apps people have built so far. Some have generously shared their source code too!
These apps are written entirely in Elm, and all showcase how Lamdera abstracts away concerns around networking and persistence of data, enabling developers to focus on application logic, not glue code.
The Best Color
Martin built a fun game where people can fight over the best color, for the glorious right to background color domination… until someone disagrees!
Simon built a game called… “Game”. It’s a work-in-progress multiplayer world, where you can run your avatar around and chat with other players. It also has very satisfying graphics!
Jim built a searchable stash for your random notes. It supports Markdown, filtering notes by title, tags, full text, active links to the most-used tags, and even exports to JSON!
A special thanks to Jim for being the longest helping Alpha tester (almost a year!) and graciously suffering more data resets than anyone else!
Big Two Card Game
Ed built an online version of Big 2, a card game of Chinese origin. Find another 3 people, make a room, and give it a go!
I wanted to make this game to play with friends during lockdown, but I didn’t have time to write the Elm frontend plus a separate backend and all the glue code. Lamdera made it really easy to get from idea to game in a few hours.
Planning Poker App
Egor built an app for doing planning poker estimates with his distributed engineering team.
They have been using it at work, and I’m told his team thinks it’s cool.
I think it was quicker to write this app rather than search for alternatives if they exist.
Andrey originally built Mogee, a WebGL platformer that fits into a 64x64px screen. I wanted to see if I could port it to Lamdera and give it a persistent high score leaderboard function!
Predictably, Andrey holds the high score title. Maybe someone can beat him though?
In the spirit of “eat your own dog food”, as much as possible of Lamdera is built on Lamdera.
The Lamdera dashboard features basic user accounts + auth system, emails via send-grid, and manages Lamdera app creation.
I hope Lamdera inspires you to build something you wouldn’t have built otherwise!