This web application leverages Gemini AI to generate text based on user prompts and presents the output in a manuscript-styled manner. Users can customize various parameters such as font style, shadow, spacing, and margins. Additionally, the application provides the unique feature of handwriting imitation, allowing users to scan their own handwriting and incorporate it into the generated canvas.
- Web browser (Chrome, Firefox, Safari recommended)
- Node
- Internet connection
-
Clone the repository to your local machine:
git clone https://github.com/vaxad/Nomework.git
-
Change into the project directory:
cd Nomework
-
Install the required dependencies:
npm install
-
Setup the Backend:
npm install npm run dev
-
Use the website:
- Enter the assignment prompt in the designated field.
- Specify the characteristics of the person writing the assignment (kid, teenager, adult), the desired length of the assignment, and the number of grammatical mistakes (some/few/many/none).
- Click on the "Generate" button.
- Text Generation: Utilizes Gemini AI to generate text based on user prompts.
- Customization: Allows users to customize fonts, shadows, spacing, and margins for the generated text.
- Handwriting Imitation: Enables users to scan their handwriting for incorporation into the generated canvas.(Coming Soon)
- Download Options: Users can download individual images or generate a single PDF containing the entire canvas.
The project is implemented using NextJs and ExpressJs. Gemini AI is integrated to facilitate text generation, and various parameters are adjusted dynamically based on user input. The canvas is created using HTML5 canvas elements, and user-customizable options are implemented through JavaScript.
- Prompt Processing: The user provides details such as the kind of person writing the assignment, length, and grammatical mistakes.
- Text Generation: Gemini AI generates the text based on the user's prompt.
- Handwriting Scanning: Users can upload an image of their handwriting.
- Text-to-Image Conversion: The scanned handwriting is converted into a TrueType Font (TTF) file, which is used to define the style.
- Canvas Rendering: The generated text and user-customized parameters are applied to the canvas using the specified style.
Special thanks to Gemini AI for providing the text generation capabilities used in this project.