Textberry
A toolkit for messy text. Summarize, extract keywords, pull out entities. Originally built for marketers; now an API I keep reaching for.
About
Textberry started as a one-off tool to help a marketing team process hundreds of blog drafts — they needed summaries, keyword lists, and entity tags without touching each file manually. It turned into a general-purpose NLP API that I still use in other projects. The core pipeline uses spaCy for entity recognition and part-of-speech tagging, with a custom summarization layer that combines extractive sentence scoring (TF-IDF weighted) with an optional abstractive pass via a small fine-tuned model. The extractive-first approach keeps latency under 200ms for documents up to 10,000 words, which matters for real-time use cases. The platform supports TXT, PDF, and DOCX uploads with a Django backend handling parsing, job queuing, and result caching in Redis. Twilio SMS notifications alert users when long-running batch jobs complete. The RESTful API was designed for third-party integration from day one — clean JSON responses with consistent error codes. The main thing I'd do differently: swap the custom summarizer for a dedicated model endpoint from the start. The custom layer added two weeks of work for marginal quality gains over what a well-prompted API call delivers.
Features
- Text summarization using NLP techniques
- Keyword and entity extraction
- User-friendly interface for uploading and processing text files
- Django-powered backend with secure user management
- Support for multiple file formats (TXT, PDF, DOCX)
- RESTful API for third-party integrations
Tech stack
Screenshots

