🚧 FLIN is in active development. Coming soon! Thank you for your patience. Join Discord for updates
🚀 No Setup Required

These apps are bundled with the FLIN binary. Just run the command and open http://localhost:3000.

🟢 Starter

The simplest FLIN app — a reactive counter

Beginner
flin dev embedded/starter

What you'll learn:

Reactive variables Event handlers Template syntax

🟡 Todo App

Classic TodoMVC with entity-based persistence

Intermediate
flin dev embedded/todo-app

What you'll learn:

Entity definitions @validators CRUDD operations Queries Form binding
entities/Todo.flin
entity Todo {
    title: text @required
    done: bool = false
}

🔴 Full-Stack

Complete web app with auth, middleware, WebSockets, and more

Advanced
flin dev embedded/fullstack

What you'll learn:

Middleware Route guards OAuth (Google, GitHub) 2FA / TOTP WhatsApp OTP WebSockets File uploads JWT Rate limiting
Google OAuth example
// One-liner Google login!
<button click={redirect(auth_google_login(env_get("BASE_URL")).url)}>
    Login with Google
</button>

FLIN vs The React Ecosystem

FLIN replaces your entire npm dependency tree:

React Ecosystem FLIN Equivalent
Zustand (state) count = 0 — reactive by default
Zod (validation) @email @required @minLength(3)
TanStack Query http_get(url)
React Hook Form <input bind={name} />
date-fns time_format(now(), "MMM D")
bcrypt bcrypt_hash(password)
passport.js auth_google_login()
Socket.io socket "/chat" { ... }
📖 Want More?

For comprehensive documentation, tutorials, and the complete language reference, visit bible.flin.dev