'use client' import Link from 'next/link' import { Header } from '@/components/header' import { Footer } from '@/components/footer' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' import { CustomSolutionCTA } from '@/components/ui/custom-solution-cta' import { Mic, Image as ImageIcon, Volume2, Check, ArrowRight, Wrench, Zap } from 'lucide-react' interface WebTool { id: string title: string description: string longDescription: string features: string[] icon: any href: string status: 'available' | 'coming-soon' | 'beta' category: 'Audio' | 'Image' | 'Text' } export default function ToolsPage() { const webTools: WebTool[] = [ { id: 'web-speech', title: 'Ask AI with Voice', description: 'Voice-to-AI conversation with real-time speech recognition and AI responses.', longDescription: 'Complete voice interaction system that converts speech to text, processes it with AI, and speaks back the response. Features continuous speech recognition, OpenAI integration, and automatic text-to-speech playback.', features: [ 'Real-time speech recognition', 'AI-powered responses via OpenAI', 'Automatic text-to-speech playback', 'Silence detection and auto-stop', 'Session management and debugging', 'Browser-based speech API', 'Continuous conversation flow', ], icon: Mic, href: '/tools/web-speech', status: 'available', category: 'Audio', }, { id: 'speech-to-text', title: 'Speech to Text', description: 'Real-time transcription with high accuracy using advanced AI models.', longDescription: 'Convert audio recordings and live speech to text with multiple API integration including Whisper (GPU) and Vosk (CPU). Features real-time transcription, audio recording capability, and wide language support.', features: [ 'Real-time transcription', 'Multiple API integration (Whisper, Vosk)', 'Audio recording capability', 'Export transcription as text files', 'Wide language support', 'Punctuation and formatting options', ], icon: Mic, href: '/tools/speech-to-text', status: 'available', category: 'Audio', }, { id: 'image-resize', title: 'Image Resize', description: 'Fast image processing with preset dimensions for social media.', longDescription: 'Resize and optimize images quickly with preset dimensions for social media and web use. Supports multiple formats with quality adjustment and batch processing capabilities.', features: [ 'Fast image processing', 'Preset dimensions for social media', 'Maintain aspect ratio', 'Quality adjustment', 'Multiple formats (JPG, PNG, WebP)', 'Preview before download', 'Batch processing', ], icon: ImageIcon, href: '/tools/image-resize', status: 'coming-soon', category: 'Image', }, { id: 'text-to-speech', title: 'Text to Speech', description: 'High-quality speech synthesis with multiple voice options.', longDescription: 'Convert text to natural-sounding speech with multiple voice options and customizable settings. Features adjustable speech speed, downloadable audio files, and API integration.', features: [ 'High-quality speech synthesis', 'Multiple voice options', 'Adjustable speech speed', 'Download as audio file', 'Text formatting support', 'API integration', 'Dialog and logging features', ], icon: Volume2, href: '/tools/text-to-speech', status: 'available', category: 'Audio', }, ] const getStatusBadge = (status: WebTool['status']) => { switch (status) { case 'available': return ( Available ) case 'beta': return ( Beta ) case 'coming-soon': return ( Coming Soon ) default: return null } } const categories = Array.from(new Set(webTools.map((tool) => tool.category))) return (
{/* Page Header */}

SiliconPin Web Tools

Powerful web-based tools to enhance your productivity. Process audio, resize images, and convert text to speech with our advanced AI-powered utilities.

{/* Tools Grid */}
{webTools.map((tool) => { const Icon = tool.icon return (
{tool.title}
{getStatusBadge(tool.status)}
{tool.longDescription}

Key Features:

    {tool.features.slice(0, 4).map((feature, index) => (
  • {feature}
  • ))} {tool.features.length > 4 && (
  • +{tool.features.length - 4} more features...
  • )}
{tool.status === 'available' ? ( ) : ( )}
) })}
{/* Need Something Custom */}
) }