HomeCapabilities
What I work on, and what I’ve built.
Three lines of work: Oracle NetSuite integrations, audits for apps built with AI tools, and technical SEO. Behind them sit fifteen years of engineering, work I've owned end to end for a NetSuite business, and a product I build and run myself.
(01)Services
- BuildOracle NetSuite integrations, portals and storefrontsIntegrations that stay in sync · Customer and dealer portals · ERP-connected storefronts and showrooms
- Fixed priceNetSuite integration auditA written review of everything connected to NetSuite, with a prioritized plan.
- Fixed priceAI-built app auditSecurity and production-readiness review of apps built with Lovable, Bolt, Cursor or Claude Code.
- OngoingSEO & AI searchTechnical SEO, AI search optimization for ChatGPT, Perplexity and Google’s AI Overviews, and pages built from your data.
- NewAI search optimizationGet found and cited by AI assistants: crawler access, structured data, and pages that answer what people ask.
(02)Skills
From the products I've built
01Product development
- Owning work end to end: priorities set with the business, then scoping, building, testing, deploying and measuring the result
- Taking a product from idea to launch, then running and growing it
- Designing for field workers: technicians and sales reps on weak or no signal
- Product decisions from analytics data, release notes and changelogs
- Admin and internal tools, so a small team can run the product
- Privacy by design: data people upload is processed in their browser, not stored
02ERP & commerce
- Oracle NetSuite: SuiteScript, SuiteQL, RESTlets, SuiteTalk REST
- NetSuite records from the field: work orders, assets, site visits, custom fields and records
- Node.js middleware (Fastify, Sequelize) between web apps and the ERP
- Showrooms and quote flows on live ERP inventory
- Shopify and Shopify Plus, including headless storefronts
03Offline-first field apps
- Progressive web apps that keep working with no signal: IndexedDB (Dexie) storage
- Background sync with retry, backoff and safeguards, so work that hasn’t uploaded isn’t lost
- Photos uploaded straight from the browser to S3
- Service-worker updates and iOS install flows
- Barcode scanning in the browser (WebAssembly), calendars and charts
04Front end & 3D
- Angular with TypeScript, RxJS and PrimeNG, including migrations
- React and Next.js (SSR, ISR, API routes), including thousands of statically built pages
- Tailwind CSS and SCSS, mobile-first layouts
- Site search with relevance ranking, synonyms, typo tolerance and capacity matching ("5000 lb" finds units rated at least that much)
- Three.js, WebGL shaders and a physics-based riding simulator
05WordPress
- Custom PHP themes: Advanced Custom Fields, custom post types and taxonomies, WooCommerce
- Custom Gutenberg blocks rendered on the server, so search engines and visitors without JavaScript see the content
- Interactive tools as blocks, such as fuel-cost and cost-of-ownership calculators, with unit tests
- Webpack and @wordpress/scripts builds; WP Engine hosting with Bitbucket Pipelines deploys to production, staging and dev
06Back end & cloud
- REST APIs in Node.js (Fastify, Sequelize)
- Sign-in: OIDC single sign-on (OneLogin), AWS Cognito
- AWS Amplify, S3 and Route 53; hosting cost reviews, such as moving a media library to S3 to drop to a smaller plan
- PostgreSQL schemas and migrations
- Image pipelines with sharp and local ML models: photo scoring (CLIP), cropping, background removal
07Maps & geospatial
- Interactive maps with Mapbox GL and custom vector tilesets
- OpenStreetMap data processing and route building
- Elevation, routing and ride-time planning
- GPX and FIT file analysis in the browser
08Data engineering
- Pipelines that turn public records into clean datasets (crash, Census and federal data)
- Live feeds from government APIs: weather, road closures, incidents, with caching
- Honest statistics: counts with their sources and limits stated
09Search & growth
- Technical SEO: schema.org structured data (Product, ItemList, BreadcrumbList, FAQPage, Service), canonicals, XML and image sitemaps, noindex rules
- URL migrations with 301 redirect maps
- Titles and headings built from live inventory data
- Pages built from data that answer what people search, with build-time quality checks
- llms.txt and crawler access for AI assistants
- Search Console and Semrush: site audits and keyword research
10Analytics & lead tracking
- PostHog: custom events, feature flags, HogQL queries, session recordings, and a same-origin proxy so ad blockers don’t hide visits
- GA4 key events, Google Tag Manager and Microsoft Clarity
- Cleaning the data: filtering bot, foreign and internal traffic, and finding gaps in tracking history
- Lead capture: short forms, sticky call and quote bars, and funnel tracking that sends no personal data to analytics
11Quality & accessibility
- Tests: Jasmine/Karma, Vitest with Testing Library, PHPUnit with Brain Monkey, Playwright layout checks
- ESLint and PHPCS
- ADA and WCAG 2.2 AA audits, and fixes in code: keyboard access, ARIA, headings, contrast, forms, reduced motion
- Performance: lazy loading, responsive images, smaller bundles, Lighthouse audits
(03)Also available
Usually for existing clients, or alongside the services above
| Work | What it covers |
|---|---|
| AI integration | AI added to the tools you already run: documents and emails read into NetSuite records, search over your own data, drafts for staff to check, and image processing. |
| Product development | Taking a new product from idea to launch: scoping, prototype, build, analytics, and the admin tools to run it. |
| Custom web applications | React, Next.js and Angular applications, including migrations off legacy front ends. |
| Shopify & headless commerce | Shopify and Shopify Plus stores, or Shopify behind a custom, fast front end. |
| WordPress | Custom themes and server-rendered Gutenberg blocks, interactive tools like cost calculators, and staged deploys (WP Engine, Bitbucket Pipelines). |
| Accessibility (ADA / WCAG) | Audits and fixes to WCAG 2.2 AA, the standard ADA website claims are usually measured against. |
| Maps & data products | Interactive maps, custom tilesets and pipelines that turn public or internal data into something people can use. |
| Offline-first field apps | Apps for technicians and sales reps that keep working with no signal and sync work orders, visits and photos to NetSuite when they can. |
| Site search | Search over a catalog or inventory with relevance ranking, synonyms, typo tolerance and spec matching, like "5000 lb" finding every unit rated at least that much. |
| Performance | Core Web Vitals, bundle size, caching and image pipelines. |
| Analytics & lead tracking | PostHog, GA4, Tag Manager and Clarity set up to answer real questions, with bot and junk traffic filtered out and lead forms tracked without sending personal data. |
| Hosting & cloud costs | AWS (Amplify, S3, Route 53) and WP Engine setups, and reviews of what hosting costs and where it can come down. |
| Maintenance | Dependency upgrades, security patches and monitoring for sites I built or inherit. |
(Next step)
Is NetSuite holding you back? Let’s fix it.
Start with a fixed-price integration audit: a written plan showing what’s broken, what will break next, and what to fix first.