Don't build from scratch. Grab the pieces.
Reusable modules, AI workflows, and components built by the community. Copy, paste, ship.
16 modules
Drag-and-drop Kanban board with real-time sync via WebSockets. Supports multiple boards, swimlanes, card assignments, and priority labels out of the box.
import { DndContext, closestCenter } from "@dnd-kit/core";
import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable";
export function KanbanBoard({ columns, onDragEnd }) {
return (
<DndContext collisionDetection={closestCenter} onDragEnd={onDragEnd}>Full-featured data table with sorting, filtering, pagination, column resizing, and CSV export. Built on TanStack Table with a clean, customizable UI.
import { useReactTable, getCoreRowModel, getSortedRowModel } from "@tanstack/react-table";
export function DataTable({ data, columns }) {
const [sorting, setSorting] = useState([]);
const [globalFilter, setGlobalFilter] = useState("");
Responsive admin dashboard shell with collapsible sidebar navigation, breadcrumbs, top bar with search, and theme switching. Ready to drop your content into.
export function DashboardLayout({ children }) {
const [sidebarOpen, setSidebarOpen] = useState(true);
return (
<div className="flex h-screen">
<Sidebar open={sidebarOpen} onToggle={() => setSidebarOpen(!sidebarOpen)} />Drag-and-drop file upload component with progress bars, file type validation, and direct S3/R2 integration. Supports multi-file uploads and image previews.
import { useDropzone } from "react-dropzone";
export function FileUploader({ onUpload, maxSize = 10_000_000 }) {
const [files, setFiles] = useState([]);
const [progress, setProgress] = useState({});
Notion-style block editor with slash commands, drag-to-reorder, markdown shortcuts, and collaborative editing support. Built on Tiptap with custom extensions.
import { useEditor, EditorContent } from "@tiptap/react";
import StarterKit from "@tiptap/starter-kit";
import SlashCommand from "./extensions/slash-command";
export function RichTextEditor({ content, onChange }) {
const editor = useEditor({Full retrieval-augmented generation pipeline with document chunking, embedding generation, vector storage, and context-aware retrieval. Supports PDF, Markdown, and HTML sources.
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from pgvector.sqlalchemy import Vector
class RAGPipeline:
def __init__(self, chunk_size=1000, chunk_overlap=200):Autonomous agent execution loop with tool calling, memory management, and graceful error recovery. Supports OpenAI and Anthropic function calling formats.
import Anthropic from "@anthropic-ai/sdk";
interface Tool { name: string; description: string; execute: (input: any) => Promise<string>; }
export async function agentLoop(prompt: string, tools: Tool[], maxIterations = 10) {
const client = new Anthropic();Drop-in AI chat interface with streaming responses, message history, typing indicators, and markdown rendering. Connects to any OpenAI-compatible API.
"use client";
import { useState, useRef } from "react";
export function ChatWidget({ apiEndpoint, systemPrompt }) {
const [messages, setMessages] = useState([]);
const [input, setInput] = useState("");Batch document embedding pipeline with pgvector storage, incremental updates, and deduplication. Handles PDFs, web pages, and plain text with automatic chunking.
import asyncio
from pgvector.asyncpg import register_vector
import asyncpg
class EmbeddingPipeline:
def __init__(self, db_url: str, model: str = "text-embedding-3-small"):Multi-step prompt chaining framework with validation, retry logic, and intermediate result caching. Define complex AI workflows as composable, typed chains.
import { z } from "zod";
interface ChainStep<TInput, TOutput> {
name: string;
prompt: (input: TInput) => string;
schema: z.ZodType<TOutput>;Passwordless email authentication with Supabase. Includes login/signup pages, session management, protected route middleware, and email templates.
import { createClient } from "@supabase/supabase-js";
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
export async function middleware(request: NextRequest) {
const supabase = createClient(Complete Stripe checkout flow with subscription management, webhook handling, and customer portal integration. Includes pricing page component and usage-based billing support.
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function POST(request: Request) {
const { priceId, customerId } = await request.json();Role-based access control with middleware enforcement, permission checking hooks, and admin UI for managing roles. Supports hierarchical roles and resource-level permissions.
type Role = "admin" | "editor" | "viewer";
type Permission = "read" | "write" | "delete" | "manage_users";
const rolePermissions: Record<Role, Permission[]> = {
admin: ["read", "write", "delete", "manage_users"],
editor: ["read", "write"],Type-safe webhook receiver with signature verification, retry logic, event logging, and dead letter queue. Supports Stripe, GitHub, Slack, and custom webhook sources.
import { createHmac } from "crypto";
interface WebhookConfig {
secret: string;
source: "stripe" | "github" | "slack" | "custom";
handler: (event: WebhookEvent) => Promise<void>;Smart CSV import UI with column mapping, data validation, preview table, and error highlighting. Handles large files with streaming and shows progress for batch imports.
import Papa from "papaparse";
export function CSVImporter({ schema, onImport }) {
const [step, setStep] = useState("upload"); // upload | map | preview | done
const [data, setData] = useState([]);
const [mapping, setMapping] = useState({});Transactional email service with React email templates, queue-based sending, retry logic, and delivery tracking. Supports Resend, SendGrid, and SMTP providers.
import { Resend } from "resend";
import { render } from "@react-email/render";
import { WelcomeEmail } from "./templates/welcome";
const resend = new Resend(process.env.RESEND_API_KEY);