Are you saying this having tried Ash?
I mean, we have :wx and :gl as part of the erlang stdlib, but idk if youāve used it, itās not uhhh the most ergonomic
A JDBC like library
It seems we have different libraries for MS SQL, Postgresql, SQLite, etcā¦
I dont think Elixir have any libraries to connect to OLAP databases or engines or Data Lakes
There are one or two DuckDB and several Clickhouse libraries.
What kinds of things are missing from the various XLSX libraries?
I love working with LiveView, but I yearn for the opposite: Local-first applications that can run completely on the client side and optionally sync with the server when back online.
Iām aware of:
- Local-First LiveView Svelte ToDo App - Here, Svelte assumes the sole responsibility for the client/offline side.
- Electric SQL
I havenāt done any experiments myself in this direction yet.
Have you checked out Hologram?
I think itās worth a look.
Itās also discussed in its forum page here.
Iāve seen Hologramās creator @bartblast very active here and in other forums (HN), so he might want to chime in.
If you really want that
https://www.erlang.org/doc/apps/odbc/odbc.html
But honestly such interfaces have problem, that they need to target lowest common denominator. And by looking how easy it is to work with binary protocols in Elixir, I do not feel much urge for that ācommon interfaceā thingy. Actually db_connection can treated as such common interface as well.
I have seen Hologram, but I didnāt place it in the same category mentally. Isomorphism generally means something different from local-first, so Iām not sure the goals are the same here. Local-first applications tend to work with databases (i.e. indexeddb-based) on the client side and reconcile data using CRDT when coming online, but you can also use the whole application offline without ever connecting to a server for data synchronization. It doesnāt sound to me like Hologram is occupying that space.
You are absolutely correct. I donāt think Hologram occupies that space.
When I read local-first and saw the Svelte reference my head immediately went to the server vs client state paradigm. (I.e. Liveview vs JS - with all DB conns being managed by the server).
I think the Elixir ecosystem still lacks good documentation (beginner-friendly, guides, recipes), courses, example projects, and bootstrap projects. For web developers, seamless frontend integration with UI rendering libraries like React or Vue is also needed.
- working language server
- better linting. Styler is getting there, but itās an internal tool without configurability
- focus on accessibility in the ecosystem. Thereās not a single component library out there that gets even 5% there
- better database tooling. Automatic schema diffs and migrations that work with plain Ecto would be a great start
- analytics
Anything other than basic formatting IIRC. e.g. canāt do tables.
No. And I appreciate the suggestion. I looked at it several times, and I know some good people that enjoy it very much.
From what I saw, I did not like it at all. It seems very resource-oriented, i.e. database driven. Which is also what Rails by default is, to be fair. You define schema and it creates you all sorts of interfaces on top of it, which is great for some apps but in my experience itās often a trap for larger, more complex systems. A ticket to make a small UI change can turn into a huge endevour because your schema and more importantly - data - does not fit the use case anymore. I would love something with UX-first approach, that operates on the level of Forms and validations and Workflows that take in forms and perform actions if the forms are valid. Iāve been using this approach for both Rails and Phoenix apps for almost two decades now and itās IMHO much better than building the app around your database schema, especially if you derive functionality from it.
Trailing commas. (A bit off topic I know, but every other language has them.)
Any examples, reading through which would help us understand what exactly were you doing, in coding terms?
Weāre probably getting off topic here if we go this way very much. Should we start another thread? Thatās more of a thoughts about software architecture in general than Elixir specific. I donāt know whatās the forum policy on these discussions.
Please do. I am super interested in this. I am quite sick of most DB<->language barrier libraries that Iāve seen in all my career. Looking for something else. I have ideas but I need to refine them by discussing with others.
Thank you @mau013 for mentioning Hologram! ![]()
@woylie - Youāre absolutely right about placing Hologram in the isomorphism category rather than local-first applications. While Hologram currently focuses on isomorphism by automatically transpiling server code to JavaScript for client-side execution, my roadmap includes building a client-side database solution. This will essentially be a wrapped IndexedDB that synchronizes with the server database when online, handling schema consistency, migrations, and other database management aspects automatically.
@dimitarvp - Your vision of a cross-platform UI framework aligns well with Hologramās long-term goals. Iām working towards a single codebase solution that can deploy to web, mobile, and desktop while reusing UI components. Hologram already implements inter-component messaging, allowing components to communicate with each other. While I donāt yet have a supervision system, itās on my roadmap for future development.
@hubertlepicki - Your description perfectly captures Hologramās philosophy! When you mention wanting a higher-level and simpler framework with convention over configuration, it resonates with my DX-first mentality. I prioritize minimal boilerplate while maintaining the flexibility to implement solutions outside of Hologramās happy path. Iām also planning a database layer that will support automatic client-server synchronization when online, with an interface thatās more streamlined than Ecto while maintaining its power.
It makes me happy to see that many of Hologramās planned features align well with what the community is looking for. Iāll be presenting at ElixirConf 2025 and will be conducting a full-day training as part of the conference. Iām planning an intensive 3-month ācoding blitzā
to get everything ready for the conference, after which Hologram should be production-ready. Iāve been gathering lots of constructive feedback through different channels lately and doing extensive planning. Iāll be presenting a detailed Roadmap and 3-month development plan soon.






















