Ensemble is a platform where artists document and sell behind-the-scenes materials from their creative process. These assets may include sketches, storyboards, 3D models, and any other artifacts that come from the creation of an artwork.
Since January of 2023, I have been building Ensemble as a Technical Co-Founder. My work primarily involves software engineering and system design, and I have also played a key role in business growth and strategic planning.
I initially started working with Ensemble as a contract developer building a minimum viable product (MVP) to validate the initial business assumption: collectors are interested in buying behind-the-scenes artifacts. The MVP we built was a web marketplace with two main functions. First, the website featured an elegant blog interface for artists to write about their creative process and the resulting artifacts. Second, the website allowed artists to present and sell artifacts as NFTs on the Ethereum blockchain.
This initial MVP launched successfully, bringing in enough validation and sales volume for Ensemble to raise a $1M pre-seed fundraising round. Shortly after, I joined Ensemble full-time as a Technical Co-Founder.
Since I started this role, I have independently designed and built the entire tech stack from the ground up. The Ensemble website is now a fully functional digital art marketplace with a robust toolkit for artists to share/sell artifacts and a clean, minimalist presentation for collectors to explore/purchase artifacts.
For the best presentation of what I have built, please explore the Ensemble website.
Throughout my career at Ensemble, I have learned a tremendous amount about how to design, iterate, and build a software product. Without an engineering team to rely on, I have learned to pick up new technologies quickly, architect scalable and flexible systems, and build features end-to-end across the technical stack. I have certainly made mistakes along the way and felt the pain of correcting a flawed architecture pattern or refactoring after a poor design choice, but these mistakes have taught me countless lessons and ultimately led to a cleaner and more stable codebase.
Perhaps my biggest engineering lesson from Ensemble is building a system capable of handling uncertainty and volatility. As a startup in an evolving web3 ecosystem, our requirements and external dependencies are constantly changing. This volatility makes system design very challenging, and I am continuing to learn how to effectively develop software and architecture patterns to mitigate this.
Here are a few examples of challenges I encountered and the solutions I built to overcome them: