Five ways to work together.
Most engagements start with a decision nobody has been able to make and end with something running in production. I can join anywhere along that line — and often the honest answer is that you need less than you think.
Technology strategy
Where should this organization's technology go, and what will it really cost?
Grounded in your budget and your staff rather than a reference architecture from a vendor deck. I run the audits and the workshops, benchmark against comparable institutions, and produce a decision document your board can read and fund.
WHAT YOU GET
- Current-state system, functional,data, and content audit, and an honest account of the gaps
- Platform evaluation and selection, with a recommendation and rationale
- A sequenced migration and sunsetting plan, with a contingency for each step
- Five-year total cost of ownership
- Staffing needs and timeline
WHERE I’VE DONE IT
For the Chicago History Museum I spent nine months mapping 23 million objects across fifteen systems, and produced the plan to consolidate them to eight.
Systems architecture
How do all of these systems actually talk to each other?
Identity, CMS (both kinds), AMS, CRM, DAMS, commerce, decoupled, composable, cloud and on-prem. The work lives in the seams between systems, the ones we're planning for and the ones we're not. I design the data models, the integrations and the failure modes before anyone writes code.
WHAT YOU GET
- Data models and crosswalks between systems that disagree
- Integration and middleware design
- Search architecture and user experience
- Single sign-on and identity brokering
- Complex application logic and workflow design
WHERE I’VE DONE IT
For the American Philatelic Society I architected single sign-on (SSO) across five applications with Auth0 as broker, and the middleware ledger reconciling a 150,000-item consignment marketplace with their association management system.
Data migration
How do we move decades of records without losing them?
Collections, transactions, members, content — moved off a system that is ending and into one that has to hold them for the next twenty years. The copying is never the hard part. The hard part is the records that disagree, the fields nobody documented, and the history you are not allowed to lose.
WHAT YOU GET
- Data audits and recommendations for what to keep, what to discard, and what to transform
- Crosswalks between data models that disagree about the same record
- ETL process design for data transformation and loading
- Cutover and rollback planning and dry runs against production volumes
- Post-migration verification with counts you can put in front of a board
WHERE I’VE DONE IT
For the American Philatelic Society I moved 150,000+ products and decades of member transaction history off a legacy SQL database into Shopify. For the Chicago History Museum, the plan taking 23 million objects from fifteen systems down to eight.
Software engineering
Someone has to build it.
I write code and lead the people writing it: decoupled and headless builds, React and Next.js front ends, serverless services on AWS and Azure, search, technical SEO, and the integration layers that hold a stack together. Comfortable being the senior engineer in the room, and comfortable reviewing someone else's work in it. Findability is engineering too — structured data, crawl and render behaviour, and now whether an AI answer cites you at all.
WHAT YOU GET
- Decoupled CMS and superfast front ends
- Serverless services and deployment pipelines on AWS and Azure
- Search implementation — semantic, hybrid, and vector-native platforms
- Third party integrations that scale and perform
- Performance audits and optimization with before-and-after numbers attached
- Technical SEO on decoupled stacks — crawl and render behaviour, indexation, Core Web Vitals
- Schema.org structured data, and the AEO/GEO work behind being cited in AI answers
- Sales funnel instrumentation and conversion optimization, measured rather than asserted
WHERE I’VE DONE IT
LACMA's collections site — Drupal, Lambda, and Next.js, with semantic search — went from design to launch in three months and is among the fastest of its kind in the country.
Delivery & recovery
Get it built, or get it back on track.
Technical leadership through build and launch, agile or waterfall, working alongside your staff and the vendors you already have. And the less glamorous version: taking over a project that has gone sideways, finding what is actually broken, and being straight with you about what to do.
WHAT YOU GET
- Technical leadership on an active build
- Vendor and agency selection and management
- Scope and budget triage when the two stop matching
- Recovery of stalled or failing projects
- Training and documentation, so nothing depends on me afterwards
WHERE I’VE DONE IT
I took over EAB's redesign and migration mid-flight — millions of visits a year, Salesforce-backed partner login — remediated the existing work, and got it launched on time and on budget.
PLATFORMS I’VE SHIPPED AGAINST
Not a list of things I’ve read about. Each of these is in production somewhere, on a project in the portfolio.
- Storyblok
- Drupal
- WordPress
- Decoupled Websites
- Custom CMS
- Next.js
- React
- Node.js
- TypeScript
- PHP
- TMS
- ArchivesSpace
- ContentDM
- Alma/Primo
- NetX
- Digital preservation
- Tessitura
- Tessitura API
- Tessitura Express Web (TNEW)
- ClearVantage
- Stripe
- Custom checkout flows
- Salesforce
- Marketo
- CiviCRM
- Shopify Plus
- Auth0
- Qlik
- SmartRecruiters
- AWS Lambda
- AWS Bedrock
- OpenSearch
- Azure pipelines
- Netlify
- Cloudflare
- Pantheon
- Semantic & vector search
- Algolia
- Schema.org structured data
- Image recognition
- Twilio
- SendGrid
- PostHog
Tell me what you're working on.
Not sure which of these you need? That’s a normal place to start — describe the situation and I’ll tell you what I think it is.
Los Angeles, CA