import React from "react"; import { TbExternalLink } from "react-icons/tb"; import { motion } from "framer-motion"; const projects = [ { id: 1, title: "Multi-Platform Document Intelligence App", status: "In progress", description: ( <> Cross-platform client that uploads documents and returns{" "} entity extraction,{" "} concise summaries, and{" "} semantic search using an LLM-backed extraction & embedding service. Design includes client-side indexing, secure uploads, vector search, and cloud sync for offline-first usage. ), tech: [ "Kotlin Multiplatform", "Compose Multiplatform", "Ktor", "Supabase", "Docker", "Embeddings / LLM", ], image: "/assets/project-doc.png", link: "#" }, { id: 2, title: "End-to-End Media Processing Pipeline", status: "Prototype", description: ( <> Asynchronous processing pipeline for uploaded media: resilient{" "} transcoding,{" "} speech-to-text (Whisper / ASR), AI-powered moderation & summarization, and webhook/push notifications. Built for horizontal scale and fault tolerance with signed artifact URLs for clients. ), tech: [ "Ktor", "FFmpeg", "Whisper / ASR", "Redis / RabbitMQ", "S3 / Supabase", "Docker workers", ], image: "/assets/project-media.png", link: "#" }, { id: 3, title: "Hermetic Reproducible ML Pipelines (MLOps PoC)", status: "Prototype", description: ( <> Hermetic, reproducible training + serving setup: Dockerized training environments, deterministic seeds, dataset versioning, experiment tracking with MLflow, and REST inference endpoints for stable model deployment and CI-driven retraining. ), tech: [ "Docker", "Python", "PyTorch / scikit-learn", "MLflow", "GitHub Actions", "Ktor (inference)", ], image: "/assets/project-mlops.png", link: "#" } ]; export default function Projects() { return (

My Projects

{projects.map((project, index) => ( {/* Image */}
{`${project.title}
{/* Content */}

{String(project.id).padStart(2, "0")}

{project.title}

{project.status}

{project.description}

{/* Tech badges */}
{project.tech.map((t) => ( {t} ))}
{/* Links */}
View Repo / Demo
))}
); }