A bit off-topic since this isn’t about a specific language feature, but I recently discovered Campfire Write and I’m genuinely impressed by how they’ve tackled the worldbuilding/writing workflow problem for fiction authors.
What makes it stand out is the seamless integration between different creative phases: you can build your world (characters, locations, timeline, magic systems, etc.) and then jump straight into writing with all that context readily available. The UI manages to be both comprehensive and intuitive - no small feat given how complex worldbuilding can get.
The real clever bit is how they handle relationships between elements. Characters can be linked to locations, events to timelines, and it all feels organic rather than database-like. Plus the writing environment itself adapts to show relevant worldbuilding info contextually.
I know it’s probably not built with Elixir, but it’s got me thinking about how Phoenix LiveView could handle this kind of rich, interconnected content management. The real-time updates and stateful components seem like a natural fit for this domain.
Anyway, fascinating to see how they’ve solved the “creative chaos management” problem. Definitely sparking some weekend project ideas!
I really love zod in typescript land that bridges the dynamic and static world:
What you do is you declare a schema and it auto-generates a parser that coerces untrusted json data to a type safe object.
The dream later would be that you have an Ecto-like DSL that generates a typesafe cast(...) function similar to the parse function in zod (Basic usage | Zod). This might be worth exploring once types in Elixir land
Now that you mentioned Elm… I really like elm-ui it’s like “tailwind” but with functions and that compose as any other function, that tied with currying that Elm support is really awesome.
this is a talk by Richard Feldman on style-elements(first iteration of elm-ui)
I love it. But i also feel fighting the basic tools (html and css), is a fight that you cannot win.
If you just want functions as abstractions for html elements you might want to check
I’ve seen Elm being mentioned twice already, so i want to add to that as well: I’ve seriously rekindled my love for small pet projects with Lamdera, a very nice hosting solution / framework for Elm not only in the frontend but also in the backend and with “free” persistence and real time updates. It’s all just Elm commands and messages, no matter where the messages go.
Of course you have to like working in Elm, which is not everyone’s thing.
But if you do like Elm, it makes it so damn fun and easy to get started with some small idea you always wanted to work on. For me the biggest thing was much i was able to focus on my actual application and how little i have to worry about everything around (like networking, storage, migrations, hosting). It’s absolutly a “me problem”, because i’m sure more experienced people do not have any troubles setting this stuff up, but before when i worked on some toy projects like once every year it would always be a a pain to get going before i even wrote one line of code that was related to the actual idea.
I don’t have experience in scale with lamdera, but for two simple projects in the last month and a half it was an absolute dream to work with and i can highly recommend to try it out!
I’d be super curious how you can do better than sqlx. It’s a very solid piece of software. I used it and became an admirer. If we can have the same via Ecto or Ash, I’d be absolutely delighted.