Blog

Thoughts, insights, and experiences from my journey in software development

5 min read

EdgeBERT: I Built My Own Neural Network Inference Engine in Rust

Building EdgeBERT: A tiny neural network inference engine in pure Rust for BERT text embeddings. Runs anywhere, native, in browsers via WebAssembly, and on edge devices.

rust machine-learning neural-network webassembly bert nlp text-embeddings vector-embeddings transformer edge-computing wasm sentence-transformers
Read More
7 min read

What are Vector Embeddings?

Understanding vector embeddings: how machines turn words into numbers that capture meaning. Interactive demo included.

machine-learning embeddings bert nlp rust webassembly semantic-search
Read More
7 min read

BM25 vs TF-IDF: Keyword Search Explained

Understanding BM25 and TF-IDF: the keyword search algorithms that power everything from Google to your local search bar. Interactive comparison included.

search information-retrieval bm25 tfidf rust webassembly nlp
Read More
5 min read

Semantic Search in C# — Without a Vector Database

Implement semantic search in C# using sentence embeddings. Match text by meaning, not keywords. No Python, no external services, no vector database required.

C# dotnet semantic-search embeddings machine-learning nlp transformers kjarni
Read More
6 min read

Build a Document Search Engine in C#

Build a full-text search engine in C# with keyword search, semantic search, hybrid ranking, and reranking. Index files and query them in 10 lines of code.

C# dotnet search-engine semantic-search bm25 reranking machine-learning nlp kjarni
Read More