Catch Easy To Miss Typos, Grammatical Issues, and More on your website...
This is the open-source core version of spelltastic.io. For a fully managed service with additional features, visit our cloud platform.
-
Tools like Grammarly are used while you are writing content, whereas Spelltastic works on the end product, i.e. your website (just how users see it). Checking all your content first on Grammarly and then putting the same into your code (in your IDE) is time-consuming and error-prone. You may rarely 'grammar-check' content written on buttons, feature descriptions, img alt attributes etc. As content gets passed around, it is a pain to check it on Grammarly every time.
-
Instead of relying on a fixed set of words (which has to be updated by the user), Spelltastic is powered by LLMs, So:
- It automatically handles new terms
- Understands technical content and domain-specific terms
- Doesn't need a fixed dictionary.
- For example if you write
"to delete all data from Redis use the flshall command"
, it will highlight that the correct Redis command isflushall
notflshall
To get a better understanding of the features, checkout the sample report here
- Visual Reports: Get detailed reports for your entire web page, with visual highlights and screenshots, and categorised by severity
- AI-Powered Analysis + Suggestions: See where the issues are on the page and why they are there, and how to fix them
- Centralised Dashboard: Visualize and manage your content quality checks
- Multiple Language Support: Check content in various languages. Spanish, French, German, Italian, Portuguese, Dutch, and more.
Feature | Core | Cloud |
---|---|---|
Issue Categorisation | ✅ | ✅ |
Dashboard | ✅ | ✅ |
AI-Powered Analysis | ✅ | ✅ |
Visual Reports | ✅ | ✅ |
Multiple Language Support | ✅ | ✅ |
Create User Accounts | ❌ | ✅ |
Page Monitoring | ❌ | ✨ Coming soon |
Private/Public Reports | ❌ | ✅ |
Rapid Scanning via Chrome Extension | ❌ | ✅ |
Managed Infrastructure | ❌ | ✅ |
Priority Support | ❌ | ✅ |
- Node.js 22 or higher
- OpenAI API Key
- Docker (optional)
# Clone the repository
git clone https://github.com/pulkitsharma07/spelltastic.io.git
cd spelltastic.io
# Build and run with Docker
docker build -t spelltastic .
docker run -p 3000:3000 -e OPENAI_API_KEY=your_api_key_here spelltastic
# Clone the repository
git clone https://github.com/pulkitsharma07/spelltastic.io.git
cd spelltastic.io
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your OPENAI_API_KEY
# Run database migrations
npx drizzle-kit push
# Start the development server
npm run dev
Create a .env.local
file with the following variables:
OPENAI_API_KEY=your_openai_api_key
- Cursor - AI-powered coding assistant
- Next.js - React framework for production
- SQLite - Database
- Drizzle ORM - TypeScript ORM
- Tailwind CSS - Utility-first CSS framework
- Puppeteer - Headless Chrome automation
- Redis - In-memory data structure store, used as a cache
The core system is built with:
- Frontend: Next.js for the web interface
- Database: SQLite for persistent storage
- Cache: Redis for caching prompts, DOM snapshots, etc.
- Browser Automation: Puppeteer for web page analysis, injecting JavaScript into the page, screenshots.
- Page Loading: Uses Puppeteer to load and render the target website
- Content Extraction: Extracts text content from the rendered page
- Analysis Workflow:
(Check out src/app/api/create-run/route.ts for the full workflow)
- Initial LLM pass to identify potential spelling errors
- Basic heuristics to filter out false positives
- Secondary LLM verification for remaining issues
- Visual highlighting by injecting JavaScript into the page (using Puppeteer)
- Screenshot capture of affected elements (using Puppeteer)
- Database Storage:
- Stores the report in the database
- Allows you to view the report in the dashboard
- Checkout schema here.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request