skip to content
visitor@obriensoftware: ~

visitor@obriensoftware:~$ who am I

Scott O'Brien · Solutions Architect · Product Engineer

Forward-deployed at the intersection of product and software engineering. Based in Portland, OR.

# this terminal is real — type to explore

About

I'm a solutions architect and software engineer who likes being the person dropped into the gap between "what the customer needs" and "what the product does today." Seven-plus years of scoping, architecting, and shipping integrations for enterprise platforms taught me that the best work happens where product judgment and engineering execution overlap.

By day I architect end-to-end solutions — presales POCs, API integrations, bespoke full stack applications, data flows, and the technical narratives that turn pilots into enterprise contracts. By night I ship things for fun: a production web app, a family of game plugins with real users, MCP servers that wire my tools into AI assistants, and the occasional LED matrix on the wall.

I most enjoy forward-deployed work: embedded with customers, chasing down new ideas, and owning the loop from problem discovery to shipped software.

Projects

Stack Your Cairn

● live

A career wins ledger that talks to your AI assistant.

Production career ledger for logging wins and turning them into promo packets, JD-tailored résumés, and reviews — drafted by your own AI through a hosted, zero-install MCP connector (paste one URL into claude.ai), with every bullet traced to a verified win.

One Repository interface runs it local-first (IndexedDB) or cloud-synced (Postgres + RLS); 12 MCP tools and 206 automated tests — and zero in-product AI calls, so marginal AI cost is $0 by design.

  • React 19
  • Vite
  • TypeScript
  • Tailwind
  • Supabase
  • MCP

visit ↗

Music Visualizer

● live

The game world dances to its own soundtrack.

RuneLite plugin that parses the game's MIDI music in real time and paints nearby scenery with chromatic pitch-to-color mapping, synced to the track. Published on the RuneLite Plugin Hub.

50 installs in its first week on the Plugin Hub.

  • Java
  • RuneLite
  • MIDI

github ↗plugin hub ↗

RuneHero

● live

Guitar Hero, but the charts are mined from the game's MIDI.

Rhythm minigame inside Old School RuneScape: a chart generator reduces the live track's polyphonic MIDI to a playable melody across five rune-themed lanes, with difficulty tiers, streak multipliers, and an end-of-song rank card.

Smart mode auto-picks the instrument channels carrying the melody. 25+ installs in its first week live on the Plugin Hub.

  • Java
  • RuneLite
  • MIDI

github ↗plugin hub ↗

RuneTrivia

● live

Multiplayer trivia across an entire game world.

Head-to-head trivia inside Old School RuneScape: right-click a nearby player to challenge them, an NPC hosts, first to three points wins. A RuneLite plugin client, an authoritative WebSocket match engine (Node + SQLite, on Fly.io), and a Next.js HiScores site — live on the Plugin Hub.

A complete multiplayer system — plugin, real-time backend, and public site — designed, built, and deployed solo.

  • TypeScript
  • Node.js
  • Next.js
  • WebSocket
  • Java

visit ↗github ↗plugin hub ↗

Black Box

open source

A combat flight recorder for Old School RuneScape.

RuneLite plugin that continuously buffers game state and, on death or hotkey, dumps the last N ticks — prayers, gear, HP, boss mechanics — as structured JSON built for AI post-mortem analysis. Read-only and ToS-safe.

Designed from day one as an AI data source: the output schema is the product.

  • Java
  • RuneLite
  • JSON

Black Box MCP

open source

The AI coach that reads the flight recorder.

MCP server exposing Black Box encounter logs to Claude — list encounters, pull the latest death, analyze prayer switching — with prompts for combat coaching and post-mortems.

Pairs with the Black Box plugin to close the loop: play, die, ask the AI why.

  • Node.js
  • MCP SDK
  • Zod

Sotetseg Trainer

open source

Practice the maze without losing your loot.

RuneLite plugin that procedurally generates Theatre of Blood maze runs — built on the community-reverse-engineered algorithm — so players can drill the maze risk-free.

  • Java
  • RuneLite

Secret Share

hobby

Paste a secret, send a link, watch it self-destruct.

Web app for sharing credentials and sensitive data safely: paste a secret, get a one-time link, and the payload is destroyed the moment it's opened. Encrypted end to end.

  • TypeScript
  • React
  • E2E encryption

Homemade Transit Sign

hobby

A real bus departure board for the living room.

LED matrix sign on an Adafruit MatrixPortal S3 that fetches live TriMet arrivals and renders them like a station departure board, with WiFi diagnostics and a test suite.

  • Python
  • CircuitPython
  • Adafruit MatrixPortal S3

Experience

Senior Solutions Architect @ Procore

↩ second tenureMay 2026 — Present · Portland, OR
  • Drive AI adoption across the Solutions Architect team, standardizing AI-assisted workflows to raise the quality and consistency of team output.
  • Own a recurring AI Office Hours program for the SA team; led team-wide Claude Code enablement with hands-on training, a clonable starter repo, a prompt library, and a dedicated Slack channel.
  • Scaled a drawings-replication integration for projects with 1,000+ drawings, cutting API calls ~85–90% (≈4,000 → ≈700 per clone) with batched uploads and rate-limit-aware execution that completes large clones unattended.
  • Built a POC PDF generator for PCO and Correspondence workflows, closing the DocuSign-parity gap clients cite as the blocker to adopting the paid e-signature offering.
  • AI enablement
  • Claude Code
  • REST APIs
  • React
  • Node.js

Solutions Architect @ Opus Agency

May 2025 — May 2026 · Portland, OR
  • Lead solutions architecture for event platforms, UX, and integrations serving 20,000+ attendee events.
  • Architected registration portals for 5+ events on an enterprise event platform with custom HTML/CSS/JavaScript — 10,000+ user sign-ups in the first month.
  • Own data, functionality, and experience flow design between integrated tools (registration, marketing automation, ERC), with specs, flowcharts, and field definitions.
  • Built client trust through on-site delivery at live events, driving repeat business.
  • JavaScript
  • HTML/CSS
  • Integrations
  • Flow design

Senior Solutions Architect @ Procore

Jun 2021 — May 2025 · Portland, OR
  • Owned requirements, architecture, and development management for 5+ concurrent enterprise clients.
  • Delivered presales architecture and POCs that helped convert a $55k pilot into a multimillion-dollar enterprise contract.
  • Architected end-to-end API mapping and data flow between Procore and client systems, enabling 5+ simultaneous integrations.
  • Developed a repeatable integration playbook (API mapping, middleware patterns, auth, error handling) reused across multiple enterprise customers, cutting implementation time.
  • Used Databricks to analyze REST API usage and advise customers on POC design, rate-limit handling, and multitenant workflow design.
  • Mentored junior and mid-level solutions architects, cutting time to billable-work readiness.
  • REST APIs
  • Middleware
  • Databricks
  • Python
  • Node.js

Technical Integration & Applications Engineering @ CNH Industrial

Jul 2020 — Jun 2021 · Racine, WI
  • Developed front-end enhancements and ensured uptime for the primary portal of a global dealership network.
  • Implemented SAML SSO (IBM ISAM) and built data pipelines exposing user profiles to external apps.
  • Built customizable content hierarchy and tailored content feeds with JavaScript and HTML; performed UAT for a North America-wide rollout.
  • JavaScript
  • HTML
  • SAML SSO
  • Data pipelines

Education

B.S. Computer Science @ UW-Parkside Dec 2019 · Kenosha, WI

Skills

product.sh

Product

  • Presales scoping, POCs & executive demos
  • Integration architecture & data-flow design
  • Technical design docs, SOWs & field mappings
  • Customer discovery & stakeholder comms
  • Enablement & curriculum design
  • End-to-end project management
  • Figma · Jira · Mermaid
engineering.sh

Engineering

  • TypeScript / Node.js · React / Next.js · Java · Python · SQL
  • API integration: REST & GraphQL, webhooks, OAuth 2.0 / PKCE
  • Rate-limit & retry patterns, idempotency, multi-tenancy
  • Event-driven systems: queues, workers, WebSockets
  • Data: Postgres + RLS, SQLite, Redis, IndexedDB
  • Security: E2E encryption, HMAC verification, CSP/headers
  • Deploy: Docker, Fly.io, Cloudflare, Vercel, GitHub Actions
  • Testing: Vitest, JUnit, Postman, smoke suites
ai-agentic.sh

AI & Agentic

  • MCP servers: design, build & host (OAuth 2.1 connectors)
  • Agentic engineering with Claude Code
  • Team AI enablement: training, office hours, prompt libraries
  • BYO-AI product design (zero marginal AI cost)
  • AI-ready data schemas & coaching prompts

Contact

Working on something where the product and the engineering aren't quite talking to each other yet? That's my favorite kind of problem.

[email protected]

githublinkedinrésumé ↓