Run, tune, & scale generative AI in the cloud
As a staff engineer, I owned and led the frontend development for an advanced multimedia generative AI SaaS platform, utilizing a contemporary tech stack comprised of Remix, React, Express, TypeScript, and RESTful Golang APIs and microservices.
My responsibilities spanned the complete lifecycle of the product, from initial architecture design through to deployment and ongoing maintenance. I collaborated closely with cross-functional teams, including UX designers, backend, and MLsys engineers to ensure seamless integration and optimal performance.
This Image Generation Service aims to provide users with a seamless and intuitive platform for generating high-quality images/animations using cutting-edge generative AI technology. The WebUI enables users the ability to:
Generate Images with complete customizability
Upload and use their own LoRA's, checkpoints, or textual inversions
Create animations from their generated images
And more!
Our project aimed to enhance a generative AI text generation service, hosting the latest large language models (LLMs) for inference.
The speed of change in AI means we needed to build a flexible system that allowed us to add/remove models quickly, use multiple chat API formats (streaming and non), and show users dynamically generated code snippets for our SDKs.
The OctoAI Asset Library is where users manage their upload assets such as checkpoints, LoRA's, controlnets, and textual inversions. These assets can easily push into the double digits of GB in size and needed a robust upload pipeline to support them.
More than just a CRUD, these assets are deep linked to image generation so users can users them when generating images or animations.
The product is still very young, but we make great strides forward every day. So there is a 99% chance that we have already improved from what is seen here.
We have a small UX team that runs the frontend, but every feature is highly collaborative and cross-functional.
Runs on the bleeding edge. At the time of writing this, I just pushed the migration to react@rc.