01 / Enterprise internal platform
VisionHub
A multi-tool internal DBA platform that consolidates license auditing, environment metadata, platform monitoring, patch pipelines, and per-client operational views — work that was previously scattered across databases, scripts, spreadsheets, legacy desktop tools, and tribal knowledge.
- Role
- Architecture, full-stack development, integration, database & operational workflows
- Period
- 2021 — present
- Technologies
- React 18 · MUI v5 · Node.js · Express · Oracle Database · PL/SQL · node-oracledb · knex.js · Microsoft Entra ID / MSAL · SolarWinds API · Azure Pipelines · IIS · Anthropic Claude API
What was actually broken
DBA and client-operations knowledge lived in a dozen disconnected places: license usage buried in client databases, environment facts in people's heads, change history in a 20-year-old configuration-management system, monitoring in separate consoles. Every routine question — “is this client within license? which stores are unhealthy? what's in flight for them?” — meant context-switching across systems that didn't talk to each other.
- Client Oracle databases must be audited live over database links — some links are simply dead at any given time
- The legacy CM database uses password verifiers incompatible with modern thin drivers
- Enterprise SSO required — no separate credentials
- Hosted on existing IIS / Windows Server infrastructure
- Legacy desktop tools had to keep working during progressive migration
- Internal confidentiality: nothing client-identifying may leak into tooling
What I owned
- Own the platform end-to-end: schema design, Express backend, React front-end, CI/CD, deployment, operations
- Build the license auditing engine: PL/SQL fan-out over database links to every client DB
- Build the platform-monitoring pipeline over the SolarWinds API with an incident triage model
- Design the Client 360 composite view uniting licensing, monitoring, environments, and CM work
- Integrate Microsoft Entra ID single sign-on via MSAL
- Bridge the legacy CM Oracle schema with two-way write-back, progressively absorbing legacy VB.NET utilities
Surface & System
Surface
One portal, from license audit to Client 360
VisionHub presents itself as a set of focused modules behind one sign-on. The License Dashboard is the flagship: automated auditing of distinct-user counts and store/terminal counts across every client database, with daily history snapshots — what was a manual reconciliation exercise became a live, filterable compliance view. A statistical detector even flags when a client quietly opens new stores, a direct licensing-revenue signal.
Client 360 is the other centerpiece: a single-pane view per client uniting live platform incidents, store-fleet health with build-currency checks, environments and middleware topology with live status, license footprint, in-flight configuration-management work, the patch pipeline with release-state semantics, and cross-environment database version-drift comparison against the QA baseline. Questions that used to take five systems now take one screen.
- License Dashboard — usage counts, compliance status, daily history, store-growth alerts
- Client 360 — incidents, store health, environments, licenses, CM work and patches per client
- Monitoring incident board with triage dispositions, mute overlays, and drill-down drawers
- CM patch-request views with two-way status write-back to the legacy system
- DDL generation, environment metadata, and DB patching dashboards
System
Fan-out over live Oracle, resilient by design
The license auditing engine is PL/SQL fanning out over Oracle database links to every client database — and engineered for the reality that some links are always down. Connection failures (ORA-12541, ORA-03135 and kin) are classified and skipped rather than failing the run; results MERGE into daily history snapshots with retention policies. The store-increase detector layers statistics on top: a 14-day mode baseline, 3-day confirmation window, and high-water-mark dedup so growth is flagged once, reliably, without noise.
Two Oracle driver worlds coexist behind one Express backend: knex in thin mode for the primary platform database, and a node-oracledb thick-mode pool for the legacy CM database whose password verifiers predate thin-driver support. Monitoring is a SolarWinds API poller normalizing nodes and application monitors into Oracle, feeding an incident model with ACTIVE / WATCH / STALE dispositions and phantom-warning suppression. Entra ID handles identity; Azure Pipelines handles CI.
- PL/SQL license auditing over DB links with error-classified skip logic for dead links
- Daily MERGE-based history snapshots, retention policies, statistical store-growth detection
- Dual Oracle drivers: knex thin mode + node-oracledb thick pool for legacy password verifiers
- SolarWinds poller → Oracle → incident triage model (ACTIVE / WATCH / STALE, mute overlays)
- Legacy CM bridge: scalar-subquery SQL, named-bind IN-list helpers, TTL caching, two-way write-back
- Entra ID + MSAL single sign-on; Azure Pipelines CI; in-memory TTL caching throughout
VisionHub architecture
Users authenticate through Microsoft Entra ID into the VisionHub React front-end. An Express backend with TTL caching uses two Oracle driver modes: knex thin mode against the primary platform database, and a node-oracledb thick pool against the legacy CM database. The platform database's PL/SQL auditing engine fans out over database links to client databases. A SolarWinds poller normalizes monitoring data into Oracle, feeding the incident board. Status changes write back to the legacy CM system through a narrow interface.
Decisions that mattered
Survive dead links instead of demanding perfect networks
With database links to every client, something is always unreachable. The auditing engine classifies connection errors and skips cleanly rather than aborting — so one dead client never costs the other clients their nightly audit.
Detect store growth statistically, not manually
A client opening new stores is a licensing event nobody reports. A 14-day mode baseline with 3-day confirmation and high-water-mark dedup turns raw store counts into a trustworthy signal — flagged once, without false-positive noise from transient spikes.
Bridge the legacy system, don't replace it
The 20-year-old CM system is load-bearing for the whole delivery process. VisionHub reads it with carefully tuned SQL and writes back statuses through a narrow, deliberate interface — modernizing the experience without destabilizing the system of record.
Live queries with a caching contract, not replication
Copying enterprise data into a reporting store would create a second source of truth to keep honest. The platform queries real databases through pooled connections and per-view TTL caches — freshness where it matters, protection where it doesn't.
Where it landed
VisionHub is in daily production use by Jesta DBAs and the operations team: license audits run automatically with history, monitoring incidents are triaged in one board, and Client 360 answers per-client questions that previously required five systems. It is the modernization target for the remaining legacy DBA utilities.
What I'd explore next
Deeper drift-tracking integration, richer compliance reporting, and folding the remaining desktop utilities into the platform.
- Live fan-out over DB links trades latency and partial results for guaranteed freshness — mitigated by snapshots and caching
- Thick-mode Oracle client adds deployment complexity, in exchange for reaching the legacy database at all
- Keeping legacy tools alive during migration doubled surface area temporarily, in exchange for zero workflow disruption