Skip to main content

Welcome to folksbase

folksbase is a minimalist contact management system built for performance. Upload CSVs, manage contacts and tags, and get a clear picture of your data through a polished dashboard — all backed by a clean API.

Live Demo

Try folksbase in action — no signup required.

Who is folksbase for?

folksbase is designed for:
  • Small teams and solo founders who need a lightweight way to manage contacts without the overhead of a full CRM
  • Developers looking for a well-structured open-source project to learn from or extend
  • Anyone importing CSV data who wants AI-assisted column mapping and a smooth import experience

Key Features

CSV Import with AI Mapping

Upload CSV files and let Claude Haiku automatically map columns to contact fields. Review suggestions, adjust if needed, and import thousands of contacts in seconds.

Contact Management

Create, search, filter, and tag contacts. Full CRUD operations with cursor-based pagination for fast performance at any scale.

Tag System

Organize contacts with tags. Filter by multiple tags at once and export filtered subsets as CSV.

Dashboard

See stats at a glance — total contacts, growth over time, recent imports and exports, all on one page.

Clean REST API

Auto-generated OpenAPI spec with interactive Scalar docs. Every endpoint is documented, validated with Zod, and rate-limited.

Background Jobs

Large imports and exports run asynchronously via Inngest with step-level retries. No timeouts, no memory issues.

Tech Stack at a Glance

LayerTechnology
FrontendNext.js 15 (App Router, React Server Components)
StylingTailwind CSS + Radix Primitives
BackendHono v4
DatabaseNeon (Postgres serverless) via Drizzle ORM
AuthSupabase Auth
Background JobsInngest
AIAnthropic Claude Haiku (CSV column mapping)
TestingVitest (unit) + Playwright (E2E)
For a deeper dive into the architecture, head to the Architecture Overview.

Project Structure

folksbase is a monorepo managed with pnpm and Turborepo:
folksbase/
├── apps/
│   ├── web/        # Next.js 15 frontend (deployed to Vercel)
│   ├── api/        # Hono backend (deployed to Render)
│   └── docs/       # This documentation site (Mintlify)
├── packages/
│   ├── db/         # Drizzle schema + migrations (shared)
│   ├── emails/     # Email templates via Resend
│   └── types/      # Shared TypeScript types

Next Steps