Everything You Need, Nothing You Don't
FLIN replaces your entire stack with a single binary. No dependencies, no configuration files, no package managers. Just write .flin files and ship.
Built Into Every Binary
Other frameworks make you assemble a stack from dozens of tools. FLIN ships everything in one download.
Zero Configuration
One binary, file-based routing, no webpack, no babel, no tsconfig, no package.json. Create an app/index.flin file and run flin dev. Your app is live.
Memory-Native Database
FlinDB is embedded in the binary. Write-ahead log with CRC-32 checksums, auto-checkpointing, file locking, per-entity data files. Define an entity, save it — done. No PostgreSQL, no Redis, no connection strings.
AI-Native
Mark any field as semantic text and it becomes AI-searchable. Built-in vector embeddings, RAG pipelines, and ask_ai() with 8 providers: OpenAI, Claude, Gemini, Mistral, DeepSeek, Groq, Ollama, and OpenRouter.
180 Components
FlinUI is embedded in the binary across 18 categories: data input, data display, feedback, navigation, layout, charts, e-commerce, templates, and more. Dark mode built in. Zero npm, zero imports.
1,675 Icons
The full Lucide icon library plus 8 custom file-type icons, all embedded as optimized SVG paths. Use <Icon name="check" size="24" /> anywhere — no CDN, no font files, no icon packages.
420+ Functions
Strings, math, lists, dates, maps, crypto, validation, HTTP client, email, PDF generation — all as native functions. No libraries to install, no APIs to configure. send_email() just works.
Built-in Auth
Session management, OAuth with 8 providers (Google, GitHub, Discord, Apple, LinkedIn, Telegram, Clerk, Firebase), 2FA/TOTP, JWT, bcrypt, and WhatsApp OTP — all native functions, no third-party services required.
Admin Console
Every FLIN app ships with /_flin — a full admin dashboard with entity browser, query editor, auto-generated REST API docs, real-time metrics, request logs, and AI gateway management.
Internationalization
Built-in t() function with language files in i18n/. Reactive language switching via session, RTL support, and proper Unicode handling. Ship your app in every language from day one.
API Routes
Define route GET /users and route POST /users with built-in guards, 6 validation decorators (@required, @email, @minLength...), and response helpers (response.ok(), response.created()).
The Traditional Stack vs. FLIN
A typical full-stack job listing demands 47 technologies. FLIN replaces all of them with a single binary and a single language.
// Frontend React + Next.js + TypeScript Tailwind + shadcn/ui + Lucide React Hook Form + Zod i18next + react-intl // Backend Express / Fastify / Hono Prisma + PostgreSQL + Redis Passport.js + bcrypt + JWT // DevOps Docker + nginx + PM2 webpack / Vite + babel ESLint + Prettier // AI LangChain + Pinecone + OpenAI SDK // Result 1,847 dependencies 15+ config files ~3 hours to set up
// Everything entity User { name: text @required email: text @email bio: semantic text } fn signup() { user = User { name: name, email: email } save user } <h1>{t("welcome")}</h1> <Card> <Input bind={name} /> <Button click={signup()}> <Icon name="user-plus" /> Sign Up </Button> </Card> // Result 0 dependencies 0 config files 5 minutes to set up
FlinDB Under the Hood
Not a toy database. Production-grade durability with WAL, checksums, and atomic checkpointing — embedded in every app.
Write-Ahead Log
Every mutation is written to a WAL with CRC-32 checksums before committing. File locking prevents corruption. Auto-checkpointing keeps the WAL compact.
Semantic Search
Mark a field as semantic text. Embeddings are generated automatically. Search by meaning with search "query" in Entity — no Pinecone, no Chroma.
49 Validators
@required, @email, @minLength, @maxLength, @min, @max, @one_of, @unique, @index — declare constraints, FLIN enforces them at runtime.
10 Field Types
text, int, float, decimal, bool, time, file, money, semantic text, and custom enums. Auto-generated id, created_at, updated_at.
Query Chaining
User.where(active == true).order_by("name").limit(10) — chainable, readable, works directly in templates with .
Backup & Recovery
Auto-backups on checkpoint, max 5 retained, WAL recovery on startup. Per-entity data files in .flindb/data/. Export via admin console.
Authentication That Just Works
No Passport.js, no Auth0, no NextAuth. FLIN has session management, OAuth, 2FA, and more as native functions.
middleware { matcher: ["/dashboard/**", "/settings"] exclude: ["/", "/login", "/api/health"] if session.user == none { redirect("/login") } next() } // OAuth — one function per provider url = auth_google_login() user = auth_google_callback(code) // 2FA secret = totp_secret() valid = totp_verify(secret, code) // Passwords hash = bcrypt_hash(password) ok = bcrypt_verify(password, hash) // JWT token = jwt_encode(payload, secret) data = jwt_decode(token, secret)
8 OAuth Providers
Google, GitHub, Discord, Apple, LinkedIn, Telegram, Clerk, and Firebase. Each is a pair of native functions — login URL + callback handler.
WhatsApp OTP
whatsapp_send_otp(phone) and whatsapp_verify_otp(phone, code). Perfect for markets where WhatsApp is the primary communication channel.
Middleware Guards
File-based middleware with matchers and excludes. Protect routes with session.user checks, CSRF guards, and role-based access control.
Try It in 30 Seconds
Install FLIN, create a file, see it running. No sign-up, no credit card, no configuration.
curl -fsSL https://flin.sh | bash