Mark Nodson Portfolio

Senior Engineer / Software Architect / Texas, USA

Mark Nodson

I design and build software end to end: the interface, the services behind it, and the pipeline that ships it. This page is about what I can do for your team. Rotate the model, sweep it to see the structure underneath, and pick a data point.

Drag to rotate · move to x-ray · select a point

Data point

Working demonstrations

Try the work, not the claim

Four small, live pieces built for this page. Each one is a scaled-down version of a kind of problem I solve. The data in them is simulated.

Component system

One component, driven by design tokens, exportable as a framework-agnostic web component.

Accent
Retirement planActive
Enrollment 64% complete

        
Based on the component library I led at The Craneware Group: single source of truth, live docs, CLI scaffolding, Figma sync.

Release pipeline

Every change passes the same gates. A failure stops the release before it reaches users.

    # idle. Press Run pipeline.
    I have shipped on Azure DevOps and TeamCity, including bi-weekly production releases at FleetPride.

    Data modelling

    The same order, modelled two ways. The right store depends on how the data is read and written.

    
              

    Stores I work in: SQL, MongoDB, Cosmos DB, Azure Storage.

    System integration

    A headless storefront fans one order out to the systems of record behind it.

    Idle
    StorefrontNext.js / React API layer CommerceSalesforce ProductMDM InventoryIBM iSeries WorkflowsDell Boomi
    Modelled on the FleetPride commerce platform I worked on, which integrated these systems through APIs.

    Independent build

    Blackwood Learning

    A product I designed and built from nothing, outside of client work.

    Blackwood Learning is a bespoke platform for creating and delivering video courses to working professionals. I built it myself rather than adopt an off-the-shelf course tool, so the product, the interface and the delivery are all my own work.

    It shows the full range in one place: product thinking, UI design, application build and getting it live for real users.

    Visit learning.blackwoodops.com
    Type
    Video-course platform, built bespoke
    Audience
    Compliance leads and software engineers, COOs and CTOs
    Format
    Lessons of 30 minutes to 1 hour
    My role
    Concept, design, build and delivery
    Status
    Live

    Product build

    Blackwood Compliance

    HIPAA Notice Lead Finder, the data pipeline behind the product.

    An internal tool I built for Blackwood's healthcare compliance work. It builds a list of healthcare practices in a Texas county, finds each practice's website, locates its HIPAA Notice of Privacy Practices (NPP), and scores the notice against the 45 CFR 164.520(b) checklist to prioritize outreach.

    • Angular 22
    • TypeScript
    • Firestore
    • Firebase Auth
    • Firebase Hosting
    • Cloud Functions 2nd gen
    • Cloud Tasks
    • Claude API
    Visit blackwoodops.com/compliance

    Staged, idempotent pipeline

    Each stage is a Cloud Function that reads from and writes to Firestore and is safe to re-run or resume. Select a stage to see how it works.

    Engineering

    Frontend

    Angular 22 with standalone components, signals and lazy routes. State lives in a signal store and the UI runs against fixtures for previews and tests. Lists use cursor-based paging. A Leaflet map supports radius-based zone selection. PowerPoint and Word gap-analysis exports are generated in the browser, with the libraries lazy-loaded.

    Polite crawler

    A single fetch layer enforces robots.txt, 1 request per second per host, retries with backoff and a 30-day cache in Firestore. A search-engine block stops the run rather than being worked around.

    Background jobs

    Cloud Tasks queues process up to 5,000 practices in checkpointed slices. Jobs can be paused and resumed, a Cloud Scheduler watchdog restarts stalled jobs, and progress streams live to the UI with onSnapshot.

    Cost-controlled LLM use

    Rules run first, and the LLM only sees what the rules could not settle. Spend guardrails cover single reviews and bulk jobs: estimate, confirm, reserve and cap.

    Pluggable search

    Search providers (Tavily or self-hosted SearXNG) are chosen per run. A local CLI agent reuses the same matching code as the Cloud Functions when cloud IPs are blocked.

    Security and data handling

    Access is limited to an email allowlist, enforced in both Firestore rules and the functions. Secrets sit in Functions secrets. Only extracted text is kept, not raw page copies, and no code path contacts a practice.

    Ingestion sources

    SourceUsed forAccess
    HUD USPS ZIP-County crosswalkCounty to ZIP mappingSeed CSV bundled with the functions
    NPPES NPI Registry API (v2.1)Provider recordsPublic REST API, no key
    Overture Maps PlacesCandidate practice websitesOpen data, matched by a local script
    Web search (self-hosted SearXNG or Tavily)Candidate websitesProvider registry, chosen per run
    US Census batch geocoderMap coordinates per addressFree, no key, at most 1,000 addresses a request
    Practice websitesNotice pages and PDFsPolite crawler

    Properties that hold across every stage

    Toolchain

    What I build with

    Languages

    • C#
    • TypeScript
    • HTML
    • CSS

    Frameworks

    • Angular
    • React
    • Next.js
    • ASP.NET
    • .NET Core

    Storage

    • SQL
    • MongoDB
    • Cosmos DB
    • Azure Storage

    Delivery

    • Azure DevOps
    • TeamCity
    • Jira
    • Git

    AI

    • Claude (Anthropic)
    • AI-assisted development

    Workbench

    • VS Code
    • Rider
    • Visual Studio
    • PowerShell

    Track record

    Where the capabilities come from

    Over 15 years across healthcare, finance, legal and e-commerce.

    1. Director of Technology, Blackwood OperationsTechnology lead for a small-business consulting firm. Designed and built Blackwood Learning, its video-course platform, and the pipeline behind Blackwood Compliance.
    2. Senior Engineer, InRhythmEmbedded with Fidelity Investments, led front-end modernization of its workplace benefits platform.
    3. Full Stack Engineer, FleetPrideE-commerce platform for a network of 300+ locations. Headless Next.js and React apps, API integrations.
    4. Software Architect, The Craneware GroupTechnical direction for the platform: roadmap, security standards, vendor assessments.
    5. Lead Engineer, The Craneware GroupBuilt the UI component system used across the product portfolio.
    6. Team Lead, The Craneware GroupRan several agile teams: recruitment, one-to-ones, coaching, daily code review.
    7. Senior Software Engineer, The Craneware GroupTook desktop products to SaaS on Microsoft Azure.
    8. Senior Software Engineer, HotDocsFounding developer of the UK team. Cloud products, UI design lead, microservice API.
    9. BSc Computer Games TechnologyUniversity of the West of Scotland.

    Have a problem worth building for?

    mark.nodson@gmail.com