Service 02
Custom Apex, custom components, custom everything.
Configuration runs out. When it does, the question is whether the code that replaces it is defensible six months later. Ours is, because 46% of it is tests.
- Shape
- Build engagement
- Duration
- 6 to 16 weeks
- Output
- Source in your repo
01Capability
What we build with
Six areas. The last one is not a technology, and it is the one that decides whether the other five survive contact with production.
- 01
Apex classes and triggers
314 classes and 32 first-party triggers shipped in one org. Vendor triggers from a managed package stay out of source control, deliberately, so the count means what it says.
- 02
Lightning Web Components
79 components, including a 3,225-line datatable and a scheduler that replaced a crew-staffing spreadsheet with in-cell typing. Data-dense surfaces, built for people who work in them all day.
- 03
Visualforce PDF engines
19 in production. Documents that go to a customer have to be exact, and the invoicing path in a real org renders a PDF and flips a flag rather than writing to an invoice object. We hook the path users actually run.
- 04
Batch, queueable and scheduled
Nightly queueable chains, batch geocoding, scheduled recomputes. Each one carries a heartbeat and a watchdog, because a job that stops silently is worse than a job that fails loudly.
- 05
Integrations through named credentials
The key is a named credential password merged into a header. It never becomes an Apex value, so it cannot be logged, cannot land in an exception, and cannot be echoed back to a caller.
- 06
The platform limits
The 120-second cumulative callout budget drives caller-supplied timeouts of 25, 45 and 60 seconds, never 120. Apex cannot sleep and cannot honour a retry-after. Knowing that before you build is the difference between a design and a rewrite.
02The record page
135 fields on one object, and the daily job still comes first.
A record page is an operational decision, not a cosmetic one. Tab order follows who opens the page and what they came to do.
- 79 Lightning Web Components in production, including a 3,225-line datatable.
- Sections and field sets driven by custom metadata, so the next change is a data row.
- Every tile that shows money states the basis it was calculated on.
- Checked on the phone as well as the laptop, signed in as the person who lives on this page.
Contract value excludes tax. Amounts are as entered, in mixed currencies, and are not converted.
Send us the build nobody wants to own.
03The board pattern · six operational surfaces
The work is in columns, not in a report
Staff stop opening a list view, filtering it, and holding the state in their head. One surface shows what is queued, what is moving and what is stuck, and moving a card is the status update. We have run the same pattern across task, work order, purchase order, order, dispatch and production records.
- Drag between columns writes the status, so there is no second step to forget
- A real Gantt view for the boards where sequence and duration are the whole problem
- A mobile-safe path, because the desktop table component does not render in the mobile app
- Card contents driven by custom metadata, so a new column is a data row
- Built once and reused across six record types rather than rewritten per object
04One surface, not five reports
Counting stock is one screen, and it will not save without a reason.
Five reports and a spreadsheet is how a discrepancy becomes permanent. One component holds the count, the bulk edit, the spot check, the history and the audit log.
- Adjustments require a reason, so the audit log is still worth reading a year later.
- Column and card contents come from custom metadata rather than a deploy.
- A mobile-safe path is built alongside it, because the desktop table component does not render in the Salesforce mobile app.
- Already carrying 2,435 inventory items and the movements behind them.
Start a physical inventory count
412 products selected. Only ticked items on the Products tab are pulled in.
05A worked example
The tax engine
A configuration-driven calculation engine with a shared rule source and regression checks.
- 01System map
Trace the calculation
Identify the formulas, flows and Apex paths that participate in a calculation. Document their dependencies before changing them.
- 02Custom metadata
Use shared configuration
Formula fields can reference custom metadata. Store province and tax-class rules with effective dates so changes remain reviewable.
- 03Regression checks
Verify before rollout
Compare outputs before and after each deployment. Keep client records and financial findings within the authorised environment.
Ask what your hardest screen would actually cost.
Bring us the build nobody wants to own.
Send the object, screen or integration that keeps causing trouble. We will review the fit and propose a scoped diagnostic or repair.
- Free fit conversation
- Source ships in your repository
