A modern, tabbed dashboard application built with SvelteKit and TypeScript, featuring various widgets for news, weather, development tools, finance, and entertainment
Your all-in-one hub for staying updated with the latest in tech, finance, entertainment, and AI
Installation • Features • Development • Deployment • Contributing • License
Dashboard is a comprehensive web application that aggregates information from multiple sources into an organized, tabbed interface. Built with modern web technologies, it provides real-time updates on news, weather, development trends, financial data, entertainment content, and AI-powered chat capabilities.
graph TD
A[User Access] --> B[Tabbed Interface]
B --> C[Home Tab]
B --> D[Development Tab]
B --> E[Finance Tab]
B --> F[Entertainment Tab]
B --> G[AI Chat Tab]
C --> H[Reddit]
C --> I[Kick]
C --> J[Hacker News]
C --> K[YouTube]
C --> L[Weather]
C --> M[Calendar]
D --> N[Hacker News]
D --> O[GitHub]
D --> P[RSS Feeds]
D --> Q[Dev.to]
E --> R[Market Indices]
E --> S[Stock Data]
E --> T[Economic Indicators]
F --> U[Kick Streams]
F --> V[Twitch Streams]
F --> W[Reddit Drama]
F --> X[YouTube Videos]
G --> Y[Gemini AI]
G --> Z[Perplexity AI]
Dashboard architecture showing tab organization and data sources
🏠 Home
💻 Development
💰 Finance
🎮 Entertainment
🤖 AI Chat
Clone the repository:
git clone https://github.com/CodingInCarhartts/dashboard
cd dashboard
Install dependencies:
npm install
Set up environment variables:
cp src/lib/env.example.ts src/lib/env.ts
Edit src/lib/env.ts and add your API keys:
Required API Keys:
PERPLEXITY_API_KEY: Perplexity API key for AI chatGEMINI_API_KEY: Google Gemini API key for AI chatSUPABASE_URL: Your Supabase project URLSUPABASE_API_KEY: Your Supabase anon/public API keySUPABASE_DATABASE_PASSWORD: Your Supabase database passwordOptional API Keys (for enhanced features):
KICK_SECRET: Kick API secret for streaming dataTWITCH_CLIENT_ID: Twitch API client IDTWITCH_CLIENT_SECRET: Twitch API client secretECONOMIC_API_KEY: API key for economic indicatorsFINNHUB_API_KEY: Finnhub API key for financial dataYOUTUBE_API_KEY: YouTube Data API keyREDDIT_ID: Reddit API client IDREDDIT_SECRET: Reddit API client secretSet up Supabase database:
Start the development server:
npm run dev
npm run dev - Start development server with hot reload (accessible at 0.0.0.0)npm run build - Build for productionnpm run preview - Preview production build locallynpm run check - Run TypeScript type checking with svelte-checknpm run check:watch - Run type checking in watch modenpm run prepare - Sync SvelteKit (runs automatically with npm install)$lib/ import alias$$Props for component props@apply directives in stylescn() utility for Tailwind classesThe application uses the Deno adapter for deployment, making it compatible with Deno-based hosting platforms.
Build the application:
npm run build
The build output will be in the .svelte-kit directory, optimized for Deno deployment.
Ensure all environment variables are properly configured in your deployment platform's environment settings. The required Supabase variables are essential for data persistence.
npm run checkMIT License
Copyright (c) 2025 CodingInCarhartts
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.