Skip to content
NDwebman.dev, back to overview

Applied AI Engineering for production, not demos

Lead Systems Engineer Turned Applied AI Architect.

Bridging frontier foundation models with deterministic enterprise infrastructure. Building production RAG engines, self-correcting agent state machines, and schema-enforced extraction services.

  • 8+years owning production systems
  • 30+digital properties migrated with zero downtime
  • 200k+lines of TypeScript shipped as an open-source CMS
live simulationextraction pipeline · simulated · 0 external calls

Enterprise Applied AI Projects

Deterministic AI systems, built for production.

One live open-source microservice and three scheduled milestone architectures from a 120-day delivery plan. Measured numbers come from saved benchmark records. Target numbers are explicit SLOs, and they are labelled as such.

  • Measured
  • Target
Production Live & Open Source01 / Phase 1 · Shipped

Invoice Extraction Service

An asynchronous FastAPI microservice that turns messy, unstructured documents into a guaranteed, schema-validated invoice record. Resilience comes from routing across models, not vendors: a free primary model cascades to a second provider on rate limits, timeouts, or schema exceptions, at zero marginal cost.

Problem

Accounts-payable teams receive invoices as OCR dumps, forwarded email threads, till receipts, and foreign-language PDFs. A raw LLM call returns prose, fenced code blocks, or a JSON object with the wrong shape, and a single provider outage stops the whole intake queue.

Architecture

Requests are validated by Pydantic v2 before any model is called. The dispatcher walks an ordered model chain with strict json_schema constrained decoding at temperature 0. Each attempt runs under a hard timeout and translates SDK exceptions into one error taxonomy. Raw output is stripped of fences and reasoning preambles, parsed, then normalised by validators that recompute line totals to the cent and map currency symbols to ISO-4217. The service also looks after its own chain: when a free model is withdrawn, it re-tests the free catalogue with seven sample documents and fills the gap using a published ordering rule.

  • Python 3.12
  • FastAPI
  • Pydantic v2
  • OpenRouter
  • httpx
  • Pytest
  • GitHub Actions
  • Render

Metrics

  • 21 / 21

    fully correct, primary model, dated benchmark

    measured
  • 10

    provider failure classes covered offline

    measured
  • 0

    network calls permitted in the test suite

    measured
  • $0.00

    marginal cost per request on the default chain

    measured

Proof points

  • Ten failure classes exercised offline in the cascade tests: 429, 503, 404, timeout, unexpected exception, invalid JSON, schema mismatch, empty response, in-band upstream error, and truncated output.
  • The test suite cannot reach the network by construction. Every outbound path is closed in conftest, and a test that reaches for one fails immediately.
  • Dated benchmark snapshot (7 October 2026): 3 passes of 7 documents per model, every call saved as JSONL so the figures can be re-derived without calling a model.
  • Every figure on the project page is checked against the recordings by a test. A sentence that is not derived from the data fails the build.
  • Logging hygiene: the model and timing are logged, never the vendor name or invoice number above DEBUG.

Request pipeline

  1. 01

    Ingest

    ExtractRequest, 10 to 50k chars, 1 MB body ceiling refused before read

  2. 02

    Harden

    Prompt injection defanging, request-id middleware, call budget with Retry-After

  3. 03

    Primary model

    Strict json_schema, temperature 0, hard timeout

  4. 04branch

    Fallback

    Different provider, triggered only on a failed call

  5. 05

    Recover

    Strip fences, drop reasoning preamble, decode JSON

  6. 06

    Validate

    InvoiceData.model_validate, recalc totals, ISO-4217

Scheduled milestone architectures

02 / Phase 2 · MilestoneDelivery: Days 31 to 60
In Active Pipeline

Context-Aware Hybrid Compliance Retrieval Engine

A retrieval engine for regulatory documents, SOPs, and product dossiers that answers with paragraph-level citations instead of plausible guesses. Dense and sparse retrieval run in parallel inside PostgreSQL, candidates are fused, then compressed to a handful of high-confidence passages by a cross-encoder.

  • PostgreSQL
  • pgvector (HNSW)
  • tsvector / BM25
  • Reciprocal Rank Fusion
  • Cohere Rerank 3
  • +3 more: Anthropic Contextual Retrieval, Claude Sonnet, FastAPI
  • < 800 ms

    p95 end-to-end latency

    target
  • 98%+

    context faithfulness on the golden set

    target
  • 50 to 3

    candidate compression before generation

    target
  • 0

    ungrounded citations by construction

    target
03 / Phase 3 · MilestoneDelivery: Days 61 to 90
In Active Pipeline

Autonomous Multi-Agent Operations Pipeline

A cyclic LangGraph workflow that coordinates SQL inventory queries, channel-specific copy synthesis, and regulatory compliance auditing. Validation failures loop back with structured revision notes. High-risk mutations pause for a human before anything leaves the system.

  • LangGraph
  • Python
  • PostgreSQL Checkpointers
  • Structured Tool Calling
  • Claude Sonnet
  • +3 more: GPT-4o-mini, FastAPI, Webhooks
  • 100%

    of high-risk mutations gated by a human checkpoint

    target
  • Full

    state replay from any checkpoint

    target
  • 2-tier

    model cascade by task complexity

    target
04 / Phase 4 · CapstoneDelivery: Days 91 to 120
In Active Pipeline

Production LLMOps Gateway & Evaluation CI/CD Suite

An enterprise reverse proxy in front of every model call. Semantically similar queries resolve from a Redis vector cache in milliseconds, every transaction is traced, and a CI pipeline runs regression evaluations against golden datasets so a bad prompt change never reaches main.

  • FastAPI Reverse Proxy
  • Redis Vector Similarity Cache
  • Langfuse Tracing
  • DeepEval
  • Ragas
  • +1 more: GitHub Actions CI/CD
  • < 15 ms

    cache hit response time

    target
  • 0.96

    cosine threshold for cache resolution

    target
  • 5%

    hallucination ceiling that blocks a PR

    target
  • ~65%

    inference cost reduction from caching

    target

Flagship product · Open source

NextBlock CMS: a full-stack, AI-native CMS, built end to end.

Prompt builders hand you code to host and patch. WordPress hands you plugins to babysit. NextBlock turns typed content blocks in PostgreSQL into a website a whole team can run: a Notion-style editor for writers, React Server Components for the public site, and an MCP server so coding agents can build pages over the protocol they already speak.

Creator, architect, and principal engineer

The open-source, full-stack AI-native CMS for Next.js 16, Supabase, and Tailwind CSS.

This is the project that compiles everything else on this page into one codebase: relational schema design and row-level security, an editor that non-technical people actually use, commerce with real money moving through it, model routing with fallbacks, an MCP server with typed tools, a CLI, a release pipeline for eight packages, and a deployment path that asks the user for nothing but an admin account.

It is also where the Applied AI thesis gets tested against users. Cortex AI does not bolt a chatbot onto a CMS. Agents mutate content through strict Zod tool arguments, mutating tools confirm before they execute, drafts are staged non-destructively, and keys are encrypted at rest.

version
v0.21.3
license
AGPL-3.0-or-later core, source-available premium modules
since
First npm release October 2025. Public repository January 2026.
npm create nextblock@latest

Resets every 15 minutes. Demo login: demo@nextblock.dev / password

Every figure is public and dated. Nothing here is estimated.

  • 200k+

    lines of TypeScript

    Repository line count, June 2026 snapshot: 115,944 TS and 88,666 TSX code lines

  • 8

    npm packages at one version

    create-nextblock and @nextblock-cms/{ui, utils, db, editor, sdk, ecom, cortex} at 0.21.3

  • 191

    CLI releases since Oct 2025

    create-nextblock version history on the npm registry

  • 11.5k

    CLI downloads in 30 days

    npm download counts, 8 September to 7 October 2026

  • 100 / 100

    Lighthouse, all four categories

    Production build: 0.3 s FCP, 0.8 s LCP, 0 ms TBT, 0 CLS

  • 146

    Vitest test files

    Repository tree, October 2026

  • 56

    MCP tools exposed to agents

    Live MCP server card at cms.nextblock.dev, 9 October 2026

  • 620+

    commits

    GitHub, master branch, October 2026

  • Blocks as data, not as code

    Content engine

    Every block is a JSONB row in PostgreSQL. Pages publish straight from the database with no rebuild, and editors can define new block types at runtime.

    • Notion-style Tiptap editor with slash commands, drag and drop, and inline AI in every text block, published as @nextblock-cms/editor.
    • 13 built-in block types including nested multi-column sections, forms, product grids, cart and checkout.
  • The schema is the source of truth

    Data and security model

    Supabase Postgres with a consolidated row-level security layer, forward-only migrations, and secrets that are encrypted before they reach a row.

    • Three roles (ADMIN, WRITER, USER) enforced by a database trigger that promotes the first sign-up to admin, so every install has exactly one guaranteed administrator.
    • RLS kept Supabase Advisor clean: one permissive policy per role and command, auth calls wrapped in (select ...) so they evaluate once per statement, SECURITY DEFINER triggers revoked from anon and authenticated.
  • Agents as first-class editors

    Cortex AI and the MCP server

    The CMS is an MCP server. Claude Code, Cursor, Codex, or any client can read the schema and write pages over Streamable HTTP with a scoped bearer token.

    • 56 tools on the live server card, from create_page_layout and publish_content_draft to describe_database_schema and translate_content_bulk. Listed in the official MCP Registry as dev.nextblock/nextblock; every site serves /llms.txt and /.well-known/mcp/server-card.json.
    • Mutating tools return a confirmation phrase first and execute only after the user confirms. Tool annotations declare destructive, idempotent, and read-only hints.
  • Real money, real edge cases

    Commerce Pro

    A premium module with two payment providers, multi-currency pricing, scheduled sales, shipping zones, taxes, inventory, and orders, gated by package activation.

    • Physical products check out through Stripe, digital products through Freemius; mixed-provider carts are rejected at the API.
    • Multi-currency with per-currency prices, exchange-rate refresh, and five rounding modes including charm pricing.
  • Zero environment variables

    Distribution and developer experience

    One click on Vercel, one command locally, or let a coding agent do the install. Updates merge upstream without breaking local edits.

    • One-click Vercel deploy: the Supabase Marketplace integration provisions the database and injects keys before the first build. The user fills in nothing but an admin account.
    • Self-hosted Docker mode boots Postgres, GoTrue, PostgREST, Kong, MinIO, and the app with one command, no cloud accounts.
  • 100 / 100, not a plugin

    Performance by default

    Perfect Lighthouse scores on the production build because the defaults are right: server rendering, AVIF/WebP with a one-year cache, critical CSS inlined, imports tree-shaken.

    Lighthouse report for NextBlock CMS showing 100 for Performance, Accessibility, Best Practices and SEO
    Production build. 0.3 s First Contentful Paint, 0.8 s Largest Contentful Paint, 0 ms Total Blocking Time, 0 Cumulative Layout Shift.
    • Public page, article, and product routes are React Server Components; client components are reserved for cart, checkout, forms, and the CMS dashboard.
    • 0.3 s First Contentful Paint, 0.8 s Largest Contentful Paint, 0 ms Total Blocking Time, 0 Cumulative Layout Shift.

Stack

  • Next.js 16
  • React 19 Server Components
  • TypeScript
  • Supabase (Postgres, GoTrue, Storage)
  • Tailwind CSS v4
  • Tiptap 3
  • Nx 23
  • Vitest
  • Zod 4
  • Vercel AI SDK
  • OpenRouter
  • Model Context Protocol
  • Stripe
  • Freemius
  • Cloudflare R2 / MinIO
  • Docker
  • Vercel
  • GitHub Actions

Timeline

  1. Oct 2025

    First create-nextblock release on npm

  2. Jan 2026

    Public repository under nextblock-cms

  3. Sep 2026

    v0.21.3 across all eight packages

  4. Oct 2026

    MCP server card live, registry publish workflow in place

What this project proves

Database architecture
Forward-only migrations, a squashed baseline, RLS with advisor-clean policies, revision and draft tables, and JSONB block storage with CHECK constraints.
Applied AI engineering
An MCP server with confirmation-gated mutating tools, typed tool calling, SSE streaming, model routing with free-model fallback, and encrypted key storage.
Product and developer experience
A deployment path with no environment variables, a CLI with 191 releases, a three-way-merge update command, and a sandbox that resets itself every 15 minutes.
Payments and compliance surfaces
Stripe and Freemius checkout, webhooks, multi-currency rounding, scheduled sales, taxes, and shipping zones.
Performance engineering
100 / 100 Lighthouse on the production build with server rendering, image optimization, and critical CSS as defaults.
Open-source stewardship
AGPL core, CONTRIBUTING, SECURITY and Code of Conduct files, agent playbooks in .agent/skills, and eight packages released in lockstep.

Production Web Work

Shipped for the web since 2004.

Before foundation models there were storefronts, content systems, and campaign pages that had to work on launch day. A selection, grouped by what it was for. Work done as an employee is attributed to the employer; everything else is independent.

Employer work
Built as Lead Web Developer at New Roots Herbal Inc. The company owns these properties.
Independent
Personal products, client work, and experiments. Mine, start to finish.
Screenshot of newrootsherbal.com: full platform revamp
PlatformEmployer workLanguages EN / FR

newrootsherbal.com: full platform revamp

Complete rebuild of a 40-year-old natural health manufacturer's web presence on Laravel 13: a custom PHP CMS and an e-commerce store, both written from scratch to replace legacy third-party dependencies.

  • Custom content management system for products, pages, and campaigns, built for the marketing team that uses it every day.
  • E-commerce store with catalog, cart, and checkout, plus the back-office tooling behind it.
  • Store locator built on the Google Maps API and a real-time inventory system with zero-failure database synchronization.
  • Zero-downtime migration to right-sized infrastructure, lowering hosting costs by over 40%.
  • Laravel 13
  • PHP
  • MySQL
  • Blade
  • JavaScript
  • Google Maps API
  • Linux VPS
Visit newrootsherbal.com (opens in a new tab)

Campaign and education microsites

Eighteen landing pages for New Roots Herbal product lines and health topics: standalone Next.js microsites on their own subdomains, plus pages served by the Laravel platform. Each one is a tracked funnel built to launch fast and convert.

18 live pages

Independent work

Personal products, client work, and experiments. Mine, start to finish.

  • Screenshot of RyÅ«gÅ«: Ten Nights to the Dragon Palace
    PersonalIndependent

    Ryūgū: Ten Nights to the Dragon Palace

    A chaptered travel companion for an eleven-day voyage around Japan and Jeju: the route, dragon lore behind each port, a day-by-day itinerary, etiquette, phrases, and vocabulary. Built as a reading experience first.

    • Next.js
    • React
  • Screenshot of Thieves' Cant Translator
    PersonalIndependentLanguages EN / FR

    Thieves' Cant Translator

    A D&D 5e rogue's companion: translate English or French into Thieves' Cant, with a dictionary, guild symbols, and hobo signs. Prototyped with v0, finished by hand.

    • Next.js
    • React
    • v0
  • Screenshot of Civalgo Punch
    ExperimentIndependent

    Civalgo Punch

    A real-time check-in and check-out system for construction site workers: a worker portal plus a supervisor dashboard that shows who is on site right now. A technical exercise, kept online for show.

    • Next.js
    • React
    • Vercel
  • Screenshot of React Hooks Guide
    ExperimentIndependent

    React Hooks Guide

    An interactive reference for every React hook, from useState to useImperativeHandle, with live examples and a theme switcher. A teaching sandbox, kept online for show.

    • Next.js
    • React
    • Vercel
  • Screenshot of MusiqueSD
    Client siteIndependentLanguages FR / EN

    MusiqueSD

    Bilingual marketing site for a Montreal recording studio that also does DJ and event animation, equipment rental, and online music lessons, with a quote-request flow and gallery.

    • Next.js
    • React
  • Screenshot of PcSquad
    Own businessIndependentLanguages EN / FREst. 2012

    PcSquad

    My first business: a regional computer repair and website shop I founded and ran as owner and CEO from 2012 to 2018, serving homes and small businesses around Les Coteaux. The site is still up, bilingual, and exactly as it was.

    • HTML
    • CSS
    • JavaScript
    • PHP

The Engineering Arsenal

Production stack and tooling.

Nearly two hundred tools, and every one of them has a job in a real system, from the 2012 consultancy years to the current Applied AI work. Hover or tap a tile to see where it is used and how deep the experience runs.

All categories, grouped by domain.

195 tools

Applied AI & LLM Orchestration

13

Frontier & Open Models

9

Retrieval, Vectors & Data

11

Languages & Markup

21

Frameworks & Modern Web

23

Infrastructure & Systems

31

LLMOps & Evaluation

5

Developer Tools & AI Coding

21

Design & Media

19

Marketing, Analytics & Payments

11

Productivity & Collaboration

15

IT Support & Security

16

Experience & Career Evolution

Eight years of production reliability, upgraded with Applied AI engineering.

The hard part of enterprise AI is not the model call. It is the data pipeline that feeds it, the schema that constrains it, the fallback that catches it, and the telemetry that proves it worked. That is the work I have been doing since 2018, now pointed at foundation models.

  1. Founder
    Oct 2025 to PresentGreater Montreal Area, QC
    Current

    Creator & Principal Engineer

    NextBlock CMS (open source)

    Designed and built an open-source, AI-native CMS for Next.js 16 and Supabase as an Nx monorepo: database schema and row-level security, block editor, commerce, MCP server, CLI, and the release pipeline for eight npm packages.

    • Architected the content model: every block is a JSONB row in PostgreSQL, custom block types are data (typed fields and layout schema guarded by CHECK constraints), and pages publish with no rebuild.
    • Shipped Cortex AI: an MCP server over Streamable HTTP with scoped bearer tokens and 56 tools, confirmation-gated mutations, typed Zod tool calling with SSE streaming, OpenRouter routing with free-model fallback, and AES-256-GCM encrypted bring-your-own-key storage.
    • Built the zero-environment-variable deployment path: Vercel's Supabase integration provisions the database and forward-only migrations apply during the first build, with a runtime fallback in the setup wizard.
    • Maintain 8 published npm packages at one version (0.21.3), 146 Vitest test files, and a daily upstream-sync GitHub Action. The CLI has 191 releases and 11.5k downloads in the 30 days to 7 October 2026.
    • Delivered 100/100 Lighthouse across all four categories on the production build: 0.8 s LCP, 0 ms Total Blocking Time, 0 Cumulative Layout Shift.
    • Next.js 16
    • React Server Components
    • TypeScript
    • Supabase
    • PostgreSQL
    • Tailwind CSS v4
    • Tiptap
    • Nx
    • Vitest
    • Vercel AI SDK
    • MCP
    • Stripe
    • Docker
  2. Employment
    Nov 2018 to PresentVaudreuil-Dorion, QC
    Current

    Lead Web Developer & Applied AI Integration

    New Roots Herbal Inc.

    Own production reliability, data architecture, and infrastructure across the company's digital estate, and lead the integration of generative AI into day-to-day operations.

    • Architected and deployed an internal multi-model generative AI asset pipeline (Claude, OpenAI Codex, and Gemini), reducing product catalog asset turnaround from multiple weeks to 40 minutes per SKU: a 10x gain in production throughput.
    • Engineered high-availability data ingestion architectures, consolidating relational databases and deploying hybrid retrieval (sparse lexical plus dense vector indexing) with strict Pydantic validation, eliminating legacy third-party vendor dependencies and saving $90,000+ in software licensing.
    • Directed infrastructure modernization across 30+ production digital properties, executing zero-downtime server migrations and lowering cloud infrastructure costs by over 40%.
    • Designed telemetry, attribution tracking, and rapid automated deployment funnels, capturing over $300,000 in incremental revenue in a single 30-day campaign.
    • Built custom business microservices including an internal Store Locator and a real-time inventory management system with zero-failure database synchronization.
    • Laravel
    • PHP
    • MySQL
    • PostgreSQL
    • Node.js
    • Angular
    • React
    • Linux VPS
    • cPanel/WHM
    • Claude
    • Codex
    • Gemini
    • Pydantic
  3. Founder
    2012 to 2018Les Coteaux, QC

    Technical Founder

    PcSquad

    Founded and operated a regional IT solutions and web infrastructure consultancy.

    • Managed full-lifecycle client deliverables: scoping, custom software development, deployment, and ongoing support.
    • Ran systems administration, network setup, and hardware diagnostics for small and mid-sized businesses.
    • Owned the financial, legal, and marketing side of the business, including SEO and paid acquisition.
    • PHP
    • JavaScript
    • WordPress
    • Windows Server
    • Linux
    • Networking
    • Hardware Diagnostics
  4. Military service
    2013 to 2016CFB Valcartier, QC

    Armed Forces Veteran

    Royal Canadian Electrical and Mechanical Engineers (RCEME)

    Military discipline, electro-mechanical diagnostics, precision systems maintenance, and calm execution under mission-critical conditions.

    • Diagnosed and repaired weapons systems, artillery, and electro-mechanical equipment to exacting tolerances.
    • Trained in soldering, electrical systems, hydraulics, and first aid. Learned to work a checklist when it matters most.

Witty, candid, grounded

About Me: the real human layer

Nicolas Desjardins
Actual photo. Not generated. Slightly compressed.

I've been building for the web since 2004. In tech years, that means I have survived table layouts, Flash intros, the PHP renaissance, the JavaScript framework wars, and now the AI gold rush.

I take systems architecture, schema validation, and database reliability extremely seriously. Myself? Not so much.

  • Building for the web since 2004
  • Running a business since 2012
  • In production at New Roots Herbal since 2018

The Unvarnished Truth

These numbers are presented without context so that I look good. Data transparency matters, so here is the methodology for each one.

  • 20

    Years of Studies

    Calculated from kindergarten to university, because data transparency matters.

  • Live

     

    Hours of Support

    Counted as 24/7 since opening PcSquad in 2012. The counter is live. So was I, mostly.

  • 0.00%

    Tolerance for Hallucinations in Production

    Measured at merge time. The CI pipeline enforces it so I do not have to.

  • 68.6%

    of statistics on the web are made up

    Including this one. Everything above it has a source.

Real-world testing

If an AI model can't parse an invoice or hallucinates tax calculations, it doesn't get merged. Period.

Outside of terminal windows

  • Tabletop strategist

    D&D and Magic: The Gathering, Commander format. I build decks the way I build systems: redundancy first.

  • BBQ brisket smoker

    Fourteen hours at 107 °C. Low, slow, and logged in a spreadsheet.

  • Chess tactician

    Prefers positional grinds over tactical fireworks. Same as in production.

  • Dual-boot hardware enthusiast

    Debian for work, Windows for games, and a drawer full of SATA cables I will definitely need one day.

Contact

Let's build reliable AI systems that actually work in production.

If you are shipping foundation models into a real business and you need someone who treats schema validation, latency budgets, and failure modes as first-class requirements, we should talk.

Available for Senior Applied AI & Forward Deployed roles (Montreal / Remote US & CA)

Direct channels

Send a message

All fields except company are required.

Minimum 20 characters0 / 4,000

Replies within one business day.