Blog
All articles. All pillars. All authors.
#004 -- Five Design Principles That Shape Every Line of FLIN
The five design principles behind FLIN: simple, zero-config, reactive, intent-native, and memory-native.
#018 -- 10 Sessions: From Zero to a Working Compiler
Building a programming language compiler in 10 sessions: lexer, parser, type checker, codegen, and VM in two days.
Organizations: Families, Schools, and Companies on One Platform
Multi-tenant organizations with shared credit pools, join codes, access codes for phoneless students, and role-based membership for families, schools, and companies.
Tasks, Goals, and Recurring Reminders
The AI creates tasks from conversation context. Recurrence engine, due-date notifications, org-scoped visibility, and threaded comments on homework assignments.
From Abidjan to 250 Million: The Deblo.ai Story
96 web sessions + 20 mobile sessions in 6 weeks. 24+ tables, 100+ endpoints, 24 AI tools, 101+ advisors. The complete story of building Deblo.ai from Abidjan.
#019 -- Error Diagnostics That Actually Help
How FLIN's error diagnostics help developers: source locations, colored output, and human-readable messages.
#008 -- What FLIN Looks Like in Practice: First Examples
Real FLIN code examples: todo app, reactive dashboard, API routes, database queries -- all in one language.
#012 -- Building a Lexer From Scratch in Rust
How we built FLIN's lexer in Rust: character stream to tokens, keyword recognition, and view mode scanning.
#013 -- Pratt Parsing: How FLIN Reads Your Code
Pratt parsing in FLIN: how we implemented operator precedence, expression parsing, and control flow in Rust.
#014 -- The Abstract Syntax Tree: FLIN's Internal Representation
FLIN's Abstract Syntax Tree: how the compiler represents code as expressions, statements, views, and entities.
#015 -- Hindley-Milner Type Inference in a Custom Language
How FLIN uses Hindley-Milner type inference to determine types without annotations -- implemented in Rust.
#016 -- Code Generation: From AST to Bytecode
How FLIN's code generator transforms the AST into bytecode: opcodes, constant pool, and view instructions.