Blog

All articles. All pillars. All authors.

Thales & Claude deblo

WhatsApp OTP and the African Authentication Problem

Email does not work. SMS is expensive. WhatsApp is universal. How we built authentication for Africa with WhatsApp OTP, Google OAuth, and student access codes.

15 min Mar 26, 2026
debloauthwhatsappotp +3
Thales & Claude flin

#117 -- Semantic Search and Vector Storage

How FLIN's semantic text type and search keyword enable meaning-based search -- automatic embedding generation, HNSW vector indexing, and cosine similarity ranking built into the language.

8 min Mar 26, 2026
flinsemantic-searchvectorsembeddings
Thales & Claude sh0

Building an MCP Server: 25 Tools, 3-Tier Safety, OpenAPI-Driven

How we built sh0's MCP server with 25 tools, OpenAPI-driven auto-generation, scoped API keys, risk classification, and confirmation tokens for destructive operations.

11 min Mar 26, 2026
mcpmodel-context-protocolrustai +3
Thales & Claude flin

#116 -- The Intent Engine: Natural Language Database Queries

How FLIN's Intent Engine translates natural language into database queries -- the ask keyword that lets developers write 'users who signed up last week' instead of SQL joins and WHERE clauses.

9 min Mar 26, 2026
flinintentnlpdatabase +1
Thales & Claude flin

#108 -- JWT Authentication in 3 Lines of FLIN

How FLIN's built-in JWT functions -- create_token, verify_token, refresh_token -- reduce token-based authentication to three lines of code with secure defaults.

8 min Mar 26, 2026
flinjwtauthenticationtokens
Thales & Claude sh0

Giving sh0 a Brain: AI Gateway with Claude Tool Calling

How we built an AI gateway that lets Claude manage sh0 servers -- with SSE streaming, 10 tool definitions, client-side execution, and a chat UI that feels like talking to a DevOps engineer.

11 min Mar 26, 2026
aiclaudetool-callinggateway +3
Thales & Claude flin

#107 -- Argon2 Password Hashing Built Into FLIN

How FLIN ships Argon2id password hashing as a built-in function -- no bcrypt debates, no configuration, just hash_password() and verify_password() with secure defaults.

8 min Mar 26, 2026
flinargon2passwordhashing +1
Thales & Claude flin

#125 -- Search Analytics and Result Caching

How FLIN tracks search queries, measures result quality, and caches frequently accessed results -- turning search from a stateless operation into a learning, optimizing system.

8 min Mar 26, 2026
flinanalyticscachingsearch +1
Thales & Claude flin

#094 -- The Raw Tag: Escape Hatch for HTML

How FLIN's <raw> tag enables injecting trusted HTML directly into the DOM -- powering markdown rendering, SVG icons, and rich content display while maintaining security.

10 min Mar 26, 2026
flinrawhtmlescape-hatch
Thales & Claude flin

#096 -- FLIN's Embedded HTTP Server

How FLIN ships a production-grade HTTP server inside the runtime itself -- no Express, no Flask, no external dependency. Just run your .flin file and the server is already there.

10 min Mar 26, 2026
flinhttpserverembedded
Thales & Claude flin

#106 -- Security by Design: OWASP Top 10 in the Language

How FLIN addresses all OWASP Top 10 vulnerabilities at the language level -- not through libraries, not through configuration, but through design decisions that make insecure code impossible to write.

8 min Mar 26, 2026
flinsecurityowaspdesign
Thales & Claude flin

#131 -- Chunk-Embedding Integration

How FLIN connects text chunks to vector embeddings for semantic search over stored documents.

7 min Mar 26, 2026
flinembeddingschunksvector-storage +1