Build
Connect & operate
Design & teams
Start hereScope a build in one callBring a spec, a wireframe, or a paragraph. You leave with an architecture, a timeline, and a number.Book a scoping call
AI software
LLM & data systems
Vibe coding
Ready to ship?Put AI where the work isAgents, RAG, and private LLMs wired into the systems your team already uses — not a chatbot bolted to a homepage.Discuss an AI project
Domain firstWe learn your workflow before we model itRegulated, operational, or high-volume — the constraints belong in the schema, not in a training doc.Talk about your domain
Plan smarterEstimate before you commitCost ranges, scope templates, and the questions we ask in discovery — free, no form.Open the cost calculator
Real conversationsTalk with a technical leadNo SDR, no discovery gauntlet. The person on the call is the one who scopes the build.Book a call
Sales Cloud · Service Cloud · Apex · Lightning

Salesforce development
built around how your team actually sells, not the demo org.

Whether you need a Salesforce developer embedded with your team or a full implementation scoped and delivered end to end, the org that survives contact with real users is the one built around your actual sales and service process, not a template configured in a kickoff call. We build custom Apex and Lightning Web Components where the platform's declarative tools run out, wire Salesforce into the ERP and marketing systems it has to agree with, and fix the orgs where five years of unmanaged configuration turned into the thing nobody wants to touch.

Talk to a Salesforce developer How engagements work
Declarative-first, custom Apex only where it earns its maintenance costEvery deployment moves through sandboxes, not click-ops in productionEvery commit and configuration change lives in your org, not ours

10 business days

To start a Salesforce engagement

Scoping through first sprint

100%

Senior engineers, US-based

Certified where the work calls for it

Every sprint

Working changes in a sandbox you can click through

Not a slide deck between milestones

100%

Configuration and code you own

In your org, from the first change set

What we build on Salesforce

Salesforce work, by what's actually being asked for

"Salesforce developer" covers a wide range of work, from a declarative fix inside Sales Cloud to a custom Apex application that happens to live on the platform. The right person and the right approach depend on which of these you actually need.

Sales Cloud and Service Cloud configuration

Page layouts, record types, validation rules, approval processes, and automation built with Flow rather than code wherever Flow can carry the logic. Most of what teams assume needs a developer is actually a configuration decision made correctly.

Custom Apex applications

Triggers, batch and scheduled Apex, and custom business logic for the cases declarative tools genuinely can't cover — complex multi-object transactions, callouts to external systems inside a save, or logic that has to run outside governor limits a Flow would hit.

Lightning Web Components

Custom UI on Lightning pages, Experience Cloud portals, and embedded components that need to feel native to the platform rather than bolted onto it — built with the same component discipline as any modern frontend, on Salesforce's own framework.

Integrations

Salesforce rarely stands alone. Middleware or direct API integration with an ERP, marketing automation platform, billing system, or data warehouse, built so a record updated in Salesforce and a record updated downstream never quietly disagree.

AppExchange and managed packages

Evaluating whether a problem is better solved by an AppExchange package than custom code, and building the glue configuration or Apex a package needs to fit your specific process once it's installed.

Reporting and analytics

Reports and dashboards built to match how your team actually reviews pipeline and service metrics, plus the CRM Analytics or external BI connections needed when native reporting hits its limits on volume or cross-object complexity.

The decision that matters most

Configuration or custom code, decided per object and written down

The single biggest driver of a Salesforce org's long-term maintenance cost is how many of these decisions got made by default instead of on purpose. Unmanaged Apex — triggers and classes nobody documented a reason for — is where most orgs' maintenance bill actually hides.

Start with Flow, not Apex

Record-triggered and screen Flows now cover the large majority of what used to require a trigger. Reaching for Apex before confirming Flow can't do it is the most common source of code an org didn't need to write.

Governor limits are a real design constraint

Salesforce's multi-tenant architecture enforces limits on SOQL queries, DML statements, and CPU time per transaction. Code that works in a sandbox with ten records can hit a limit in production with ten thousand — bulkification isn't an optimization, it's a requirement.

Managed packages trade flexibility for stability

A managed package upgrades cleanly but can't be edited directly; an unmanaged package or custom Apex gives full control but is entirely your org's responsibility to maintain through every Salesforce release. Neither is automatically the right call — the tradeoff has to be made deliberately per feature.

Every customization is a future upgrade's problem

Salesforce ships three releases a year, and every custom trigger, Visualforce page, or heavily modified page layout is something that release has to not break. Documenting why a customization exists is what lets a future developer — or Salesforce's own release notes — tell you when it's safe to remove.

Sandboxes exist to be used, not skipped

Configuration changes made directly in production because a sandbox refresh felt like overhead are the single most common way orgs become unmaintainable — nobody can reconstruct what changed, when, or why.

Apex has a real testing bar

Salesforce requires 75% code coverage to deploy Apex to production, but coverage is not correctness — tests that assert nothing meaningful hit the number without catching the bug. We write tests against actual expected behavior, not just for the deployment gate.

What's involved

Salesforce engagement types

What moves the scope is not the number of objects touched — it's how much of the work is genuinely custom versus how much of it is Salesforce doing what it already does, configured correctly.

EngagementCommitmentTimelineWhat's included
Org health & architecture auditFixed scope1 – 3 weeksData model review, unmanaged Apex and automation inventory, and a prioritized list of what to fix before the next phase of work.
Sales or Service Cloud implementationFixed scope6 – 14 weeksOrg build-out around your actual process, data migration, user training, and a deployment pipeline your admins can run without us.
Custom Apex or Lightning app developmentFixed scope4 – 12 weeksCustom logic or UI for the cases declarative tools can't cover, built with test coverage and documentation a future developer can act on.
Integration buildFixed scope4 – 10 weeksSalesforce connected to an ERP, marketing platform, or billing system, with the reconciliation logic that keeps both sides honest.
Classic to Lightning migrationFixed scope4 – 8 weeksPage layouts, Visualforce, and custom components rebuilt for Lightning, prioritized by which teams are still working around the old interface.
Ongoing admin & development retainerOngoing retainerOngoingStanding ownership of configuration, releases, and custom code through Salesforce's three-times-a-year release cycle.

Ranges assume US-based senior engineers and Salesforce-certified developers where the work calls for it. The audit is usually the fastest way to find out whether a project is really an implementation, an integration, or a cleanup of five years of unmanaged automation.

Absorbed from implementation best practices and common mistakes

Salesforce implementation: what separates the projects that land

Most failed Salesforce implementations do not fail technically. They fail because the org was configured around what the team said they do, rather than what the CRM data shows they actually do — and nobody finds out until adoption stalls six weeks after launch. The practices below are the direct inverse of the mistakes we see most often.

Model the process you have, not the one in the slide deck

Discovery should surface the workflow reps actually follow, including the workarounds, before anyone designs a data model to fit an idealized version of it. Fix the process deliberately if it needs fixing — don't let the org paper over a broken process by accident.

Decide configuration vs. custom code per object, and write the reason down

A decision made in a kickoff meeting and never documented is a decision a future developer will re-litigate from scratch. Unmanaged Apex nobody can explain is where the real maintenance bill hides.

Migrate data early and dirty, not late and clean

Loading real, messy production data into the new org early surfaces the data model's actual flaws — duplicate accounts, orphaned records, fields nobody uses — while there's still time to redesign around them, instead of discovering them in the week before go-live.

Name an owner with authority to say no before go-live, not after

Every implementation accumulates field and automation requests. Without someone empowered to push back before launch, the org accretes special cases that make the eventual admin's job unmanageable.

Load-test against production volumes, not a 200-record sandbox

A report or list view that's instant against sandbox data can time out against real volume. Testing at scale before go-live is the only way to catch this before a user does.

Budget training as its own line item

Adoption failure looks exactly like a technical failure in the metrics — low usage, reps reverting to spreadsheets — but the fix is training and change management, not another sprint of configuration.

Keep sandboxes in a real deployment pipeline

Change sets or a CI tool moving metadata from sandbox to production, with a record of what shipped and when, is what keeps an org auditable. Click-ops directly in production is how orgs become unmaintainable within a year.

Plan the second phase before launching the first

A CRM that ships as a finished, static thing gets used less every quarter. Naming what phase two actually is — before phase one ships — is what keeps an org evolving with the business instead of falling behind it.

Hiring a Salesforce developer

What to look for when you're hiring, not just what we bring

Whether you're staffing an in-house role or bringing in a partner, the skills that separate a good Salesforce developer from someone who can click through the setup menu are specific and checkable.

Apex and the Lightning component framework

Comfort writing bulkified, test-covered Apex and Lightning Web Components — not just declarative configuration — is what a developer role is actually for. An admin who can build a Flow is a different, equally valuable, but different skill set.

Object-oriented fundamentals that transfer

Apex is a Java-like, strongly typed language, and the object-oriented concepts that make code maintainable elsewhere apply here too. A developer coming from another OOP background can usually ramp on Salesforce specifics faster than someone learning both at once.

Salesforce certification as a floor, not a ceiling

Platform Developer certifications confirm someone has studied governor limits, sharing rules, and deployment mechanics — useful as a baseline, but not a substitute for reviewing actual code they've shipped.

A deployment discipline, not just coding ability

Someone who develops directly in production, or without version control, will eventually ship a change nobody can trace. Ask how they move metadata between environments before you ask what they can build.

Related

Related services

What Salesforce work usually connects to.

Questions

Common questions about Salesforce development

What teams ask before a first call.

What moves the number isn't hours billed, it's the mix of declarative configuration versus custom Apex and Lightning work, plus how many outside systems the org has to integrate with cleanly. A declarative-heavy engagement costs less than one that needs custom triggers, batch jobs, and a Lightning Web Component interface.

An org health audit is usually the fastest way to find out which category a project actually falls into before committing to a larger scope.

Ready to scope your Salesforce project?

Bring your existing org, or your team's actual sales and service process if you're starting fresh. We'll tell you honestly whether the work is configuration, custom Apex, an integration, or a cleanup of what's already there.