Kana Homework Helper is a web application that assists users in learning and practicing Japanese kana (hiragana and katakana). It allows users to upload images of their handwritten kana homework and receive instant feedback, follow-up exercises, and practice word suggestions.
- Upload images of handwritten kana homework
- Analyze uploaded images using OpenAI's Vision API
- Provide detailed feedback on writing
- Suggest follow-up exercises
- Generate practice words based on the characters used in the homework
- Bun - JavaScript runtime and package manager
- Vite - Frontend build tool
- React - UI library
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Next.js - React framework for server-side rendering and API routes
- OpenAI API - For image analysis and feedback generation
- Bun installed on your machine
- An OpenAI API key
-
Clone the repository:
git clone https://github.com/yourusername/kana-practice-helper.git cd kana-practice-helper -
Install dependencies:
bun install
-
Create a
.envfile in the root directory and add your OpenAI API key:OPENAI_API_KEY=your_api_key_here
-
Start the development server:
bun run dev
-
Open your browser and navigate to
http://localhost:5173
- Upload Image: Click the upload button or drag and drop an image of your handwritten kana homework
- Enter API Key: On first use, enter your OpenAI API key when prompted
- View Feedback: The app will analyze your handwriting and provide:
- General feedback on your writing
- Specific corrections for any miswritten characters
- Example words and sentences using the characters in your homework
- Practice suggestions and mnemonic devices
I welcome contributions! Please see our Contributing Guide for details on how to:
- Set up the development environment
- Run tests
- Submit pull requests
- Report issues
Copyright © 2024 Oliver Steele
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the Vision API
- The React and Vite communities for excellent tools and documentation
- All contributors who help improve this project