Word Craft AI is a full-stack, AI-powered writing assistant that helps users intelligently summarize, rephrase, and expand text within a rich Markdown editor. The application leverages transformer-based NLP models via a local Flask API and integrates with a Spring Boot backend and a dynamic Angular frontend to deliver a seamless writing experience.
- 🧠 AI Actions: Summarize long texts, rephrase sentences, and expand ideas using advanced transformer models (BART, GPT-2, MEETING_SUMMARY).
- ✍️ Live Markdown Editor: Write with real-time Markdown preview and editing support.
- 📄 Custom PDF Export: Generate professional-looking PDFs with custom heading input and optional date stamp.
- 🌗 Dark Mode Support: Switch between light and dark themes effortlessly.
- 🌀 Loader Overlay: Smooth popup-style loader during AI operations and graceful error handling.
Layer | Technologies |
---|---|
Frontend | Angular, Angular Material, ngx-markdown |
Backend | Spring Boot (Java) |
AI Services | Python (Flask, Hugging Face Transformers) |
- Go to
spring-backend/
- Configure
application.properties
:
local.rephrase.api.url=http://localhost:5000/rephrase
local.expand.api.url=http://localhost:5000/expand
local.summarize.api.url=http://localhost:5000/summarize
- Start the backend server:
./mvnw spring-boot:run
- Go to
flask-ai-service/
- Install dependencies:
pip install flask torch transformers
- Run the Flask server:
python app.py
Ensure Flask runs on port 5000 to match Spring Boot's configuration.
- Go to
ai-writing-frontend/
- Install dependencies:
npm install
- Start the Angular development server:
ng serve
├── ai-writing-frontend/ # Angular frontend
│ ├── pages/
│ │ ├── home/ # Home screen
│ │ └── note-editor/ # Markdown editor with AI integration
│ │ └── pdf-download/ # PDF export popup component
│ ├── services/
│ │ └── ai-api.service.ts # Angular service to connect with backend
│
├── spring-backend/ # Java Spring Boot backend
│ ├── controller/
│ ├── service/
│ │ ├── AiService.java
│ │ └── actions/
│ │ ├── RephraseService.java
│ │ ├── ExpandService.java
│ │ └── SummarizeService.java
│
├── flask-ai-service/ # Flask-based AI endpoints
│ └── AI_Models.py # Routes: /rephrase, /expand, /summarize
Add images to showcase:
Pull requests, issues, and ideas are welcome! If you want to contribute:
- Fork the repo
- Create a branch:
git checkout -b feature/my-feature
- Commit your changes
- Push and create a PR
MIT License — use freely, modify responsibly.
Developed with ❤️ by Dharaneesh J
For questions or collaboration, please reach out:
Email: [email protected]
GitHub: https://github.com/J-DHARANEESH