Text Analyser With Haskell

Sahara Text Lens, a data‑driven text analysis tool built in Haskell. The project focuses on summarising webpages, ranking sentences, generating word bubbles, and performing sentiment analysis — all powered by JSON‑based configuration.

The application is structured around small, focused functions, making the codebase easy to test and extend. The main menu offers free‑text analysis, two webpage‑fetching methods (Haskell and Playwright/Node.js), tools for viewing ranking data, and an About page explaining the scoring rules.

At the core is the TextAnalysis module, which handles everything from word counts to weighted sentence scoring, as well as formatting, word‑bubble generation, and sentiment logic. Supporting modules manage HTML extraction (TagSoup), fully rendered page retrieval (Playwright), and loading ranking and sentiment dictionaries from JSON.

The project also includes input handling, duplicate detection, colour‑formatted output, and a number of tests – including mocked HTML pages.

The walk through (video blow) compares the two webpage‑fetching approaches, showing how each captures different parts of a page and how that affects the results. In practice, What I found is that the more data you provide, the better and more accurate the results become.

This was a first deep dive into Haskell, and its expressive data‑handling and functional patterns proved a great fit for building a modular, testable analysis tool.

The latest code can be found here on GitHub: SaharaHex/SaharaTextLens

Visual breakdown of the application’s rules and analysis method.

Projects and Challenges

List of all Projects can be found here.

Dev Video Blog

Exploring Programming Languages.

ShortCutHex

Website Screen Capture, App with Rust.

SpellHex Syllables

Dictionary by vowel sounds and number of Syllables, App with Ruby.

Retro-Style Platformer

Creating a simple Platformer with Godot.

Coding Best Practices

5-Minute Guide on Coding Principles.