Team Canon
presentCanon

Canon Demo Video

Canon Demo Video

Share your AI generated stories with the world

The idea was based on a story continuation/completition game that one of our team members had played when they were younger. This, paired with the ai stories that make their way to tiktok, brought about the idea of canon.

Canon allows the user to create ai generated images through the help of DALL-E that can be shared with the world. The scene in the image can be added to, in order to continue the story.

A user will sign in and be able to see the feed, their profile, and a create new image page. They can decide to view stories on the feed, contribute to those stories or start their own from a seed image.

The Team

  • Team member imagePreview: Team member image

    Liam Daly

  • Team member imagePreview: Team member image

    Esther Yekini

  • Team member imagePreview: Team member image

    Patrick Rigg

  • Team member imagePreview: Team member image

    Oli Saxon

  • Team member imagePreview: Team member image

    Willow Stephens

  • Team member imagePreview: Team member image

    Winnie Kwok

Technologies

Technologies section imagePreview: Technologies section image

We used: TypeScript, Expo, React Native, Supabase, Docker, Deno, OAuth, OpenAI, PostgreSQL, React Native Elements, GitHub

TypeScript - an alternative to JavaScript to stretch us and learn about strongly typed languages
React Native - we wanted it to be a mobile app using React that would work on iOS, Android and the web
Expo - to help create native apps
Supabase - a serveless backend for ease of use, ability for edge functions and SQL
Docker -to run and deploy edge functions
Deno - the runtime for edge functions on supabase
OpenAI - AI API for DALL-E
PostgreSQL - to write our database
React Native Elements - styling for react native
OAuth - authentication

Challenges Faced

The main challenge we faced was working out how to retain information from previous prompts to DALL-E .i.e. keeping context. We had to create a context object that held information that the AI should keep in mind for the rest of the session to make each scene in the story relate to the last.