added screenshots, cleanup

This commit is contained in:
Drew Peifer 2026-02-21 02:18:31 -05:00
parent b2cc853535
commit f0a23e0333
8 changed files with 36 additions and 30 deletions

View file

@ -1,24 +1,46 @@
# ClauDash - Personal Dashboard
# ClauDash - Personal AI Dashboard
## Description
## Project Overview
A local-only React application that aggregates data from multiple sources and uses Claude AI to generate a personalized daily briefing. Features a persistent chat interface and configurable data widgets. Give it sources to parse, and generate a summary of the news you care about.
ClauDash is a personal dashboard application that aggregates data from multiple sources and uses Claude AI to generate contextualized daily briefings. The application fetches data from configurable sources including Reddit APIs, RSS feeds, web pages, and weather services, then leverages Claude to create personalized summaries that track changes and follow up on stories over time. Features include intelligent caching to minimize API costs, an interactive chat interface, and customizable widget layouts.
## Main Features:
- Customizable daily briefing (tone, sources, length, etc) with optional vocalization (read-aloud)
- Changes since past briefings referenced in current briefing if relevant
- Claude cost and usage details for each briefing (Sonnet 4.5 = $.05-.10 avg per briefing, depending on sources used)
- Local storage of session information (no data sent to 3rd parties except Claude / open-meteo)
- Localized weather via open-meteo with charts
- Automatic parsing of news sources in JSON, XML, and RSS formats
- Automatic web scraping and summarization of new sources in web format (increases usage, YMMV)
- Customizable list of quick links
- Interactive Claude chat portal with briefing as context
- Light/Dark theme
![Briefing](./claudash/screenshots/cl-briefing.png)
![Usage](./claudash/screenshots/cl-usage.png)
![Weather via OpenMeteo](./claudash/screenshots/cl-weather.png)
![News Feed](./claudash/screenshots/cl-feed-row.png)
![Web Source](./claudash/screenshots/cl-scraped.png)
![Chat](./claudash/screenshots/cl-chat.png)
---
## Security Notes
Since this is only intended to run locally:
- ✅ API key in `.env.local` is safe (never deployed)
- ✅ localStorage data never leaves your machine
- ✅ All Claude API calls are direct (no third-party servers)
- ✅ Local proxy server included
## Tech Stack
**Frontend**
- React 19
- Material-UI 7 (MUI)
- Emotion (CSS-in-JS)
- Vite 4
**Backend**
- Express 5 (proxy server)
- Node.js
- React 18+
- Material-UI (MUI) v5 + MUI-X Charts (free tier)
- Anthropic Claude API
- localStorage for persistence
- No backend required (runs entirely in browser)
**APIs & Services**
- Anthropic Claude API (claude-sonnet-4-5-20250929)
- Open-Meteo API (weather data)
- [Open-Meteo API](https://open-meteo.com/) (weather data)
- RSS2JSON API (RSS feed parsing)
**Storage**

View file

@ -1,16 +0,0 @@
# React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
## React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
## Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB