Skip to content

A web application for a hybrid AI agent that draws doodles from text input

Notifications You must be signed in to change notification settings

Evozone/text-to-doodle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

turtle da Vinci

A hybrid agent that can draw doodles stroke by stroke.

Product showcase

Play with the turtle to create funky doodles!

turtle da Vinci is a project that uses the Google Quick Draw dataset to train a model that can generate doodles from text. The model uses pretrained Magenta models from the Google Brain Magenta project. The project is built using React, Vite and Express.

The name turtle da Vinci is inspired by turtle graphics and the famous artist Leonardo da Vinci.

The project was built as part of the Computer Engineering bachelor's program at the University of Mumbai.

Table of Contents

Features

The turtle da Vinci agent:

  • 💯 Is free and Open-source.
  • 🖌️ Can draw doodles from simple text prompts.
  • 🎨 Uses multiple colors.
  • ✍️ Has a Hand-drawn like style.
  • 🔠 Supports English.
  • 🖼️ Exports to PNG.
  • ⚒️ Asks the user to demonstrate how they would draw the doodle.
  • 🔁 Can Redo the drawing.

Tech Stack

This repository is structured as a monorepo with the following packages:

  • client: The frontend of the application built using React and Vite.
  • server: The backend of the application built using Express.

The project uses the following technologies:

Frontend

  • React: A JavaScript library for building user interfaces.
  • Vite: A build tool that aims to provide a faster and leaner development experience for modern web projects.
  • Tailwind CSS: A utility-first CSS framework for building custom designs.
  • appwrite: An open-source backend server that helps you build modern applications much faster. This project uses Appwrite for image storage.
  • obscenity: A library to detect and filter out obscene words using pattern matching and transformers.
  • react-icons: A collection of icons for popular icon libraries like Font Awesome, Material Design, etc.
  • axios: A promise-based HTTP client for the browser and Node.js.

Backend

The backend is a collection of multiple services that work together to provide the functionality of the application. The services are:

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request if you have any suggestions or improvements to the project. Check out the CONTRIBUTING.md file for more information.

Contributors

Vishal Shinde Manas Telavane Bhargav Modak Shantanu Parameswaran

Attributions

The project uses the following assets:

Named after the famous artist Leonardo da Vinci, the project is a tribute to his work and his contributions to the world of art and science.

We're thankful to these companies for offering their services for free:

Netlify Render Weaviate