Ronald Partridge
AI Enterprise Architect
Central Pennsylvania | Toronto Ontario
I rebuild the systems your business cannot stop, while they keep running, and I put AI to work where a person still signs off. I write down the real requirement, then go past it to the high-value work nobody had thought to ask for.
Everything you see, I built.
- The real requirement, and past it. I start with what you asked for and what that request missed.
- Modernization without downtime. I replace the old system one slice at a time, and your business keeps running through every cutover.
- About 50% faster code migration with AI. Every change is still reviewed by an engineer before it lands.
- AI you can audit. A model can flag a problem before it becomes an incident, with the version and the reason on the record and a person deciding.
- Agentic AI across the work. Agents draft and carry the change as part of the real delivery, not a pilot on the side.
- Vendor auditing and governance. When a large vendor staffs your program, I audit their delivery against the requirement, the record, and the review.
Since February 2023
Enterprise and AI governance
I lead a modernization program and advise on how to run one, including AI integration, governance, and where AI is worth using.
AI is used across the effort. A critical process does not move until a person has reviewed it, and that review is the governance. The operation stays up. Nothing stops for the rebuild.
Consulting
Bring the problem
You bring the problem in your own words. I write the requirement for you to correct, ship the first slice while the old system keeps running, and build what you asked for along with the high-value work nobody thought to ask for. If a vendor is delivering, that same record is what they are held to.
Four steps: the pain, the requirement, the first live slice, and the part nobody named until the requirement found it.
The engagement
You end up with three things: an approved requirement, working software in production, and a record of every decision, including what an operator sees when something fails.
A person decides
The components
The person who feels the problem is in the room when the requirement is written, and corrects it in one read. No workshops. Each slice is small enough to reverse and goes live on its own while the old system stays up.
The deliverables
A model does the mechanical work, but never approves its own output. A named person reviews every draft before it stands. That's why a port moves about 50% faster: the engineer is reviewing, not starting from a blank file.
A typical engagement
Situation Complication Resolution
An illustration, not a client: a firm that has to stay open while it replaces the way it sees the day’s business, told as situation, complication, resolution.
Situation
- The firm stays open.
- Customers pay all day.
- The business can see yesterday’s totals.
- It cannot show a regulator, the same day, that the service and the books still agree.
- The old systems are what the business trusts.
- They do not close for a rebuild.
Complication
- The request says: replace the systems, and put up a board that shows the day in green.
- The business does not want a bad day on display.
- Technology wants the whole estate replaced.
- Risk will not sign a shutdown, and will not sign a picture that hides a failure.
- The request names neither the bad day nor the regulator.
- A full replacement would stop customers paying, and would hand the regulator a gap.
Resolution
- The person who runs the day and the risk officer are in the room. The requirement is written in their words: the doors stay open, and a bad day is visible the same day, in figures the regulator can tie to the books. They correct it in one read.
- One slice goes live. That view, on the one service the regulator asked about, while the old systems stay up. The old path stays in use until the new view is accepted, so the change can be undone.
- The part nobody asked for: the view has to count the failed payments, not hide them. Otherwise risk will not stand behind it.
- The business accepts the view. The rest of the firm is left alone. The doors never closed.
Parliament AI
A public reading of the Commons
I built Parliament AI on my own, and the front page is the reading. Under it, every change on the record is logged once and sent to the pages it actually touches. A vote on a private member's bill reaches a bill and a count. A member crossing the floor reaches the seats, both parties, the career, and the front page. Figures update first. A machine may draft the writing. The quote still has to match the source.
How a change is allowed to move
An event at 0.6 or above also queues a rewritten reading and force-rebuilds the front page. Below 0.6, only figures and pages update.
Enterprise ML
Find the problem before it happens
I am building an in-house Java SDK for machine learning that calls proven libraries for the math. It runs in enterprise Java, on the JVM: training a model, storing it, and testing it are calls in that SDK, written in the same Java as the services around it. It keeps a model, each version of that model, and every time that version is used, so a result always names the exact version that made it.
Below is the shape of what it keeps. Five tables, one picture. Watch a model get trained, stored as a version, and tested, or step through it yourself. Tap a column underlined in orange to see why it is there. Dotted arrows run from each link to the table it names.
Train. The SDK hands examples to a proven library on the JVM, and a model comes out. Store. The model is kept as a version. The hash and the manifest land on that row. Test. Each use is an audit event. If the run is odd, it gets a flag and a reason.
modelsthe catalogA model is the thing that scores a run.
idkeynametext
1nightly-runs
model_versionsone row per releaseUnique on model_id + version_number
idkeymodel_id→ models-
number
A result has to name the exact release that made it.
artifact_filenametext-
hash
The stored bytes are the bytes that were trained. If the hash does not match, it is not that model.
artifact_contentthe stored model, as bytesexample_counthow many examples it learned from-
provenance
What went in, so the release can be rebuilt or audited.
v7 sha256 9f2c…e41a 18,400 examples manifest {data, settings, code}
audit_logsone use of that versionA score with no version is not a record.
idkeymodel_version_id→ model_versions-
text
Says what this version was used for, one use per row.
occurred_attime-
number
The number this run got, always beside the version that gave it.
details_jsonthe inputs of that use
scored02:14score 0.94v7
anomaliesthe flagidkeyaudit_log_id→ audit_logsscorenumber-
text
A short reason a person can read before anyone decides anything.
0.94Delay far above typical. Volume above typical.
anomaly_feature_explanationswhy that flag, feature by featureanomaly_id→ anomaliesfeaturetextdistancehow far outside usual
Delayfar aboveVolumeabove
Three made-up examples, not clients, of the kind of trouble I build this to catch while there is still time to fix it.
-
7 then 77
A wholesale customer who never orders more than 7 of an item sends in an order for 77, most likely a slipped key. The order is flagged before it ships, so someone calls the customer, and nobody has to take a pallet back next week.
-
The batch runs late
The nightly batch that is always done well before morning is still running past its usual finish. It is flagged while it runs, with delay named as the reason, so the person on call starts at the cause instead of hearing about it from the morning shift.
-
Errors up, load flat
One service starts failing far more of its requests while traffic is no heavier than any other day. The flag names that service and the model version that scored it, and a person decides whether to roll back, so nobody loses the morning blaming the load.
The record
Where the work was done
-
PA State Department
Harrisburg · February 2023 to now
Architect for statewide data ingestion, batch processing, and file publishing in Pennsylvania. A failed port can stop a workflow or leave a record the department cannot explain. The target: Java 1.4 and Sybase services become Java 21 and Spring Batch, with IBM MQ, REST, FTP, security, alerting, and one set of service APIs. ELK replaced the scattered logs. Services report retries and the failed record. Node and React dashboards on Elastic show queue depth, file receipt, publishing, and batch health. I am using LLMs for significant productivity improvements in service porting.
-
CN Rail
Montreal · May 2019 to Dec 2022
Enterprise architect in Montreal. Technical architect for CN's first microservices logistics-tracking platform: Spring Boot, Spring Cloud, Kafka, DB2, PostgreSQL, and JWT-secured APIs. Tracking data moved from DB2 through Kafka into PostgreSQL-backed services. Service boundaries, domain models, and Kafka pipelines carried the trucking logistics system up to a SaaS point for AI and ML. The same years brought Node.js, React, GraphQL, Python, and a GCP IoT proof of concept. Tighter code review, documentation, and ownership improved offshore delivery efficiency by about 30%. The first developer hardware upgrade, approved from that review, improved engineering productivity by about 40%.
-
Morgan Stanley
Cloud engineer · May 2018 to Dec 2018
Cloud engineer in Montreal. Java and Python tooling for cloud migration, compliance-driven log movement, and file streaming across AWS, Azure, Kafka, Splunk, and the systems that stayed on premises. Lambda and Kinesis workflows, triggered by S3 file artifacts, routed operational messages into processing queues. Command-line processes were containerized on Treadmill, Morgan Stanley's in-house container platform.
-
General Electric
LightGrid · Apr 2017 to May 2018
Software engineer, advisory, in Montreal. GE LightGrid is a Java and Angular IoT platform that controls streetlights for cities and commercial buildings. AppDynamics was used to find Java, SQL, and PostgreSQL bottlenecks in high-volume IoT flows. Reliability work was Java optimization, SQL tuning, indexing, and the security of the IoT mesh network. Two interns built C firmware for power-usage data and manual lighting commands.
-
Morgan Stanley
Payments · Jun 2014 to Jan 2016
Software engineer in Montreal. Rebuilt the global contractor payment system in Java EE, Spring, Sybase, HTML5, and AngularJS, with JUnit and Mockito. The older contractor-onboarding applications, in HTML, Perl, and C++, stayed in production and moved into Jenkins. The same stretch covered Linux upgrade compliance, QA, release notes, production deploys, and Autosys scheduling.
-
PRE
Before 2014
Capco, Sanofi, RSA, and others
Before 2014, production business applications for Capco, Sanofi Canada, RSA / Royal Sun Alliance, TVOntario, MBI Inc., Tohatsu America Inc., and others. Internal portals, scheduling systems, enterprise applications, mobile integrations, and legacy modernization. The platforms in that stretch included C# and .NET 2.0 to 3.5, SQL Server 2000 and 2005, PHP 5, Struts 2, Java EE, Hibernate, Perl, C++, Objective-C, Sybase, Autosys, RESTEasy, JBoss, and Amazon EC2.
The long-term project
SignalWealth
Quantitative, and now executing.
For six years I have done night work on market structure: where price is headed, and when. This is the project I am building toward.
- Six yearsof night work on market structure
- Alpha is livethe public site says so
- August 2026first real executions
The engine finds a setup, sizes it, places the order, and manages the exit, on a live account, with the research written so it can be audited.
The SignalWealth pagewww.signalwealth.ai