Skip to content

Commit 856fb28

Browse files
authored
Merge pull request #17 from Flopsstuff/flo-184-content-soulgrep-clean
content(flo-184): add soulgrep project page (clean split of #9)
2 parents b532477 + 059d46a commit 856fb28

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

src/content/soulgrep.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Overview
2+
3+
**soulgrep** is an AI-powered analyzer for chat history, specifically designed to infer psychological profiles (psychotypes) from Telegram exports. It transforms thousands of fragmented messages into a structured behavioral portrait, allowing users to "grep the human signal" from the noise of digital communication.
4+
5+
## Why it exists
6+
7+
Modern chat logs are voluminous and messy, making it difficult to maintain a high-level understanding of a person's communication style or personality traits over time. While LLMs are capable of this analysis, most tools require uploading sensitive, private chat logs to a third-party cloud.
8+
9+
soulgrep was built with a **privacy-first** mandate. It performs all data parsing and chunking locally in the browser, ensuring that raw chat logs never leave the user's machine. Data is only sent to the user's chosen LLM provider (OpenAI, Anthropic, or OpenRouter) using their own API keys, providing full control over data sovereignty.
10+
11+
## How it works
12+
13+
The analysis workflow is divided into three distinct phases:
14+
15+
1. **Ingestion & Parsing** — The user uploads a Telegram `result.json` export. A background Web Worker parses the file locally to extract message history and build a "persona corpus" for the target speaker.
16+
2. **Signal Extraction** — The application splits the corpus into manageable chunks and executes parallel LLM calls. Each call identifies specific behavioral signals, linguistic patterns, and psychological markers within that chunk.
17+
3. **Synthesis** — A final LLM pass aggregates the extracted signals into a cohesive psychological profile, covering communication style, cognitive patterns, and interpersonal dynamics.
18+
19+
The resulting "psychotype" can be explored in the dashboard or exported as a structured JSON/Markdown report.
20+
21+
## Technical details
22+
23+
| Aspect | Detail |
24+
| ------------ | ------------------------------------------------------------- |
25+
| Frontend | React 19, TypeScript, Vite 8 |
26+
| Styling | Tailwind CSS v4 |
27+
| Routing | React Router v7 (data-router mode) |
28+
| Processing | Browser Web Workers for non-blocking local parsing |
29+
| Deployment | Cloudflare Workers (SPA) |
30+
| Tooling | Biome (linting/formatting), Vitest (testing) |
31+
32+
The application is a pure SPA, leveraging the browser's capabilities to handle large JSON exports without a backend, which reinforces its privacy-centric design.
33+
34+
## Links
35+
36+
- [Repository](https://github.com/Flopsstuff/soulgrep)
37+
- [Live Application](https://soulgrep.aignite.pl)
38+
- [Telegram: Exporting Your Data](https://telegram.org/blog/export-and-more)

0 commit comments

Comments
 (0)