Open source project

Norn

Local-first persistent memory for AI assistants

The BrassNorth standard

A clear build, with a person accountable for every detail.

Nothing hidden

Written scope, visible previews and a price agreed before work starts.

Useful from day one

Every page has a job: call, book, order, visit or start a conversation.

Responsive by default

Fast loading, mobile-first layouts and direct replies from Saad.

Norn, the top of the page as a visitor first sees it.

Open source · Local-first persistent memory for AI assistants

What it is

A local-first persistent memory server for AI assistants, implementing the Model Context Protocol.

The problem

AI assistants forget everything between sessions, and most memory tools send your data to a hosted service.

What I built

  • Three npm workspace packages: server, core with SQLite and sqlite-vec, and a Next.js dashboard
  • Two local models via Transformers.js: all-MiniLM-L6-v2 for embeddings and nli-deberta-v3-xsmall for conflict detection
  • Recall blending 70% semantic similarity with 30% recency, on a 30-day half-life
  • Four MCP tools
  • Norn Live, an SSE fleet dashboard, added in v1.3.0

Design and engineering decisions

  • Local-first with SQLite and local models, so memory never leaves the machine. That constraint set every other choice.
  • Recall weights recency alongside similarity, because an out-of-date fact that matches well is worse than a newer fact that matches slightly less.
  • A conflict-detection pass using an NLI model, so contradictory memories get surfaced for review instead of silently coexisting.
  • The conflict pipeline measured 95% precision and 100% recall on a 32-pair test fixture.

Verifiable proof

View @samad001z/norn-server on npm

Built with

TypeScript · Node · SQLite · sqlite-vec · Transformers.js · Next.js

Selected views

Screens

The dashboard memory list, with filters for all, stale and conflicting memories.
The dashboard memory list, with filters for all, stale and conflicting memories.
The published npm package page, showing version 1.3.0 and the MIT licence.
The published npm package page, showing version 1.3.0 and the MIT licence.
What happens next

You never have to guess the next step.

Send a short note. I will ask the useful questions, share a direction and make the decision easy.

01

Tell me what is stuck

Share your business, your audience and the action you want more people to take.

02

See the direction first

Your homepage concept comes before payment, so the fit is clear before the build.

03

Launch with ownership

I build in checkpoints, then hand over the domain, code and logins in your name.

BRASSNORTH

Have a business in mind?

Want to see what your new website could look like?

Send me your business name. I will design your homepage for free, then explain the next step clearly.

Working hours 10 am to 8 pm IST (UTC+5:30), Monday to Saturday. Replies within one working day.