Skip to content

Repository files navigation

Xalamander - Information Distillation Web App

Xalamander is a sophisticated web application that transforms complex PDF documents into insightful visualizations and executive summaries. Using advanced PDF processing, Claude AI for text analysis, and D3.js for data visualization, Xalamander distills complex information into easy-to-understand visual formats.

Key Features

  • PDF Processing: Upload and extract text and data from PDF documents
  • AI-Powered Analysis: Uses Claude AI to identify key topics and themes
  • Data Visualization: Transforms extracted data into beautiful D3.js visualizations
  • Executive Summaries: Generates comprehensive summaries that combine textual insights and visualizations
  • Theme System: Three beautiful themes - Vice City (default), Light, and Executive/Burberry
  • Data Augmentation: Enhances visualizations with external data when relevant

Technology Stack

  • Frontend: Next.js with React
  • Styling: Tailwind CSS with custom theme system
  • Visualization: D3.js
  • AI Integration: Anthropic Claude API
  • PDF Processing: pdf-parse, PDFKit
  • Animation: Framer Motion
  • UI Components: Custom components with Heroicons

Project Structure

  • /src/app: Main application pages and API routes
  • /src/components: UI components and visualizations
  • /src/lib/utils: Utility functions for PDF processing, data visualization, and Claude integration
  • /src/lib/themes: Theme configuration and context provider

Getting Started

Prerequisites

  • Node.js 18.x or later
  • An Anthropic Claude API key

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Usage

  1. Enter your Claude API key
  2. Upload a PDF document
  3. Wait for the analysis and visualization generation
  4. Explore the executive summary, visualizations, and document details

How It Works

PDF Processing

When a PDF is uploaded, Xalamander extracts the text content and metadata using pdf-parse. It then applies heuristics to identify sections, detect potential data tables, and extract numerical data.

Topic Analysis

The extracted text is sent to the Claude API, which identifies key topics, themes, and generates an initial summary. For each topic, Claude determines whether it contains numerical data that could be visualized and suggests appropriate visualization types.

Data Visualization

Based on the identified topics and Claude's recommendations, Xalamander generates appropriate visualizations using D3.js. If a topic would benefit from additional context, the application can augment the data with external sources.

Executive Summary

Finally, Claude generates a comprehensive executive summary that combines insights from the text analysis and the generated visualizations, providing a clear and concise overview of the document.

The Metaphor: Amphibious Information Distillation

Just as the salamander is an amphibian that thrives in both water and land, Xalamander operates in two domains:

  • Text (water) - Extracting meaning from the flowing text
  • Visuals (land) - Transforming data into concrete visual representations

This amphibious approach ensures that information is presented in the most effective format for comprehension.

Themes

Xalamander features three distinctive themes:

  1. Vice City: The default theme with Miami-inspired pink and blue gradients
  2. Light: A lighter variation with the same vibrant colors
  3. Executive: A sophisticated theme with more toned-down colors in the Burberry style

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Anthropic for the Claude API
  • Mike Bostock and contributors for D3.js
  • The Next.js and React teams for their excellent frameworks

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages