Over the past year, the way I build software has changed dramatically. I no longer spend most of my time writing code by hand. Instead, I see my role as an orchestrator: designing system architecture, defining requirements, reviewing implementations, and guiding AI to generate much of the code. Rather than focusing on individual functions or classes, I focus on the bigger picture—making technical decisions, ensuring code quality, and iterating quickly. AI has become a powerful engineering partner that handles much of the repetitive implementation work, allowing me to invest more time in research, experimentation, and solving complex architectural problems.
One of the areas I'm currently focusing on is expanding the Ash Framework ecosystem with support for high-performance analytical and distributed databases. While Ash already has excellent support for traditional relational databases, I believe there is significant value in making it easier for developers to build applications on top of modern data stores such as ScyllaDB (fully compatible with Cassandra) and ClickHouse. These databases excel in workloads that require massive scalability, high write throughput, low-latency reads, or real-time analytics, making them an excellent fit for many modern applications.
To help move this vision forward, I've been building dedicated data layers for the Ash Framework. The first is AshScylla, which brings ScyllaDB and Cassandra compatibility to Ash, enabling developers to leverage wide-column databases while maintaining the productive developer experience that Ash provides.
AshScylla
https://hex.pm/packages/ash_scylla
I'm also actively developing AshClickHouse, bringing native ClickHouse support to Ash for analytical workloads and large-scale event processing. Although the project is still evolving, it is already functional and continues to improve as I explore the capabilities and design patterns needed for analytical databases within the Ash ecosystem.
AshClickHouse
https://hex.pm/packages/ash_clickhouse
My long-term goal is to make Ash a compelling choice regardless of the underlying database. Whether an application uses PostgreSQL, SQLite, ScyllaDB/Cassandra, ClickHouse, or another storage engine, developers should be able to benefit from the same expressive resource model, consistent APIs, and productive development experience. I believe this flexibility will help broaden the Ash ecosystem and make it a stronger foundation for building the next generation of scalable, data-intensive applications.
Top comments (0)