I've been on both sides. I ran a small interactive 3D studio earlier in my career — the agency model, with multiple developers, multiple concurrent projects, a sales pipeline, and the standard agency overhead. I now work as an independent contractor, embedded with one client team at a time on 4-12 week engagements.
The shift wasn't ideological. It was empirical. After running both models, I learned that the embedded contractor format consistently delivers better outcomes for clients and a more sustainable practice for me. There are projects where an agency is genuinely the right call, and there are projects where an independent specialist is the right call. Knowing which is which is what this article is about.
If you're an engineering manager, technical founder, or product leader currently choosing between hiring an agency or an independent contractor for a browser-based 3D project, here's what I'd want you to know — written candidly, with the biases of someone whose business depends on you choosing one of these.
What you're actually comparing
The two models look similar from the outside — "we hire someone to build a 3D thing" — but they price, communicate, and ship in fundamentally different ways. Comparing them on cost alone misses the structural differences that determine project outcome.
A typical 3D agency engagement:
- A salesperson or account executive runs the discovery
- A project manager owns the day-to-day client relationship
- One or more developers do the actual technical work
- A designer or technical artist handles 3D and visual design
- Quality assurance, deployment, and ongoing support handled by separate functions
- Total cost includes all of the above plus agency overhead and margin
A typical independent contractor engagement:
- The contractor runs discovery, project management, and technical work themselves
- Single point of contact, no account-management layer
- Embedded directly in the client's existing team workflow
- Cost is the contractor's time, no agency overhead
- Scope, ownership, and handover are negotiated directly
Same end goal. Very different paths to it. The structural differences shape every part of the engagement.
Where agencies win
Agencies aren't the wrong answer. There are specific situations where they're clearly better than an independent contractor.
When the project requires multiple disciplines simultaneously
A large project that needs a 3D modeler, a senior developer, a frontend developer, a backend developer, and a UX designer all working in parallel for six months — that's an agency project. A single contractor cannot deliver that scope on that timeline. The agency model exists in part because some projects genuinely require a team.
This is a small minority of browser 3D projects, in my experience. Most 3D feature work — configurators, scrollytelling, training simulators, educational games, marketing experiences — can be delivered by a senior specialist working with the client's existing team. But for the rare project that needs a parallel team for a sustained period, the agency is the right tool.
When the client team has zero 3D experience and limited engagement
Some teams want to commission a 3D feature, give minimal direction, and receive a finished product. They don't have time to participate in scoping, design iteration, or technical decisions. For that engagement style, an agency's account-management layer is what makes the project possible.
The independent-contractor model assumes the client is engaged: at minimum, a technical point of contact who participates in design decisions and reviews work weekly. For a hands-off client who wants a fixed-bid black-box delivery, an agency handles the translation between business intent and technical execution that the contractor can't do alone.
When ongoing support and maintenance is a primary concern
An agency with multiple staff can offer ongoing support — bug fixes, content updates, occasional new features — over a multi-year horizon. An independent contractor's calendar fills with new project work; long-term support contracts are harder to honor.
For projects where the 3D feature will need active maintenance and content updates for years after launch, an agency is often a better fit than a contractor. (Or, more commonly: a contractor builds the feature, the in-house team maintains it, and the contractor is available for periodic check-ins on retainer.)
When procurement processes require a corporate vendor
Large enterprises sometimes have procurement requirements — vendor due diligence, insurance minimums, contract templates — that are easier for an agency to satisfy than a sole proprietor. This is real friction even if the work itself would be better delivered by a specialist.
The workaround: some independent contractors operate through a single-person LLC or company structure that satisfies procurement requirements while preserving the contractor engagement model.
Where the embedded specialist wins
The cases where I'd recommend hiring an independent threejs developer over an agency:
Speed of decisions
In an agency engagement, a technical decision typically routes from the client to the account executive to the project manager to the lead developer and back. Each step takes a day. A simple decision can take a week.
With an embedded specialist, the same decision happens in a fifteen-minute Slack conversation. The compounding effect over a 10-week project is enormous — agency projects routinely lose 20-30% of their schedule to coordination overhead that contractor projects don't have.
Direct technical conversation
The most expensive failure mode in agency engagements is the game of telephone between the client's technical team and the agency's developers. The client describes a problem to the account executive, who relays it (imperfectly) to the project manager, who relays it (imperfectly) to the developer, who builds something that's a third-generation interpretation of the original need.
An embedded specialist talks to the client's engineering lead directly. Specifications come from the source, decisions get made in real-time, misunderstandings surface in the next meeting instead of three meetings later.
Pricing transparency
Agency pricing includes account management, sales, project management, overhead, and margin layered on top of developer time. A typical agency engagement charges 2-3x what the developer is actually paid.
An independent contractor's rate is what they charge — there's no hidden margin. For the same end deliverable, a competent contractor often delivers at 30-50% of agency cost, primarily because the engagement structure is leaner.
This isn't about race-to-the-bottom pricing. Senior contractors charge senior rates. The point is that the budget needed to ship the same project is meaningfully smaller with a contractor than with an agency, because the engagement model has less overhead built into it.
Code that the in-house team can own
An agency-built codebase is often deliberately or incidentally opaque — patterns the in-house team isn't familiar with, custom abstractions, tooling that requires the agency's specific environment to maintain. Sometimes this is malicious (lock-in). Often it's just default — the agency builds in their own patterns without prioritizing the client team's ability to maintain it.
An embedded specialist building alongside the in-house team naturally produces code the team can maintain. The patterns are negotiated, the documentation is adequate, the handover is part of the engagement. The in-house team comes out of the engagement with new capability, not just new code.
A single accountable person
When something breaks at 11pm before launch, the embedded specialist either picks up the phone or doesn't. There's no account manager to route the call through, no "I'll need to check with the developer," no day-long delay. Direct accountability is faster and cleaner.
For most browser 3D projects, this responsiveness is a significant value add — particularly in the final stretch before launch, when something always breaks.
What the embedded model looks like in practice
The embedded specialist doesn't work for the client; they work with the client team. The distinction is operational, not philosophical — it shapes how decisions get made, where work happens, and what the deliverable looks like.
A typical embedded engagement of mine:
- Discovery call (30-60 min) — Scoping conversation, the eight questions covered in How I Scope a 3D Contract. Honest assessment of fit.
- Proposal (within 48 hours) — Written scope, phasing, timeline, fixed-price or T&M, named risks.
- Onboarding week — Joining the client's Slack/Linear/Jira, syncing with the engineering lead, mapping the existing stack, identifying integration points.
- Build phase (4-10 weeks typically) — Daily participation in the team's standup or async equivalents. Weekly demo to the engineering lead and stakeholders. Code committed to the client's repository as we go.
- Handover phase (final week) — Documentation, knowledge transfer session with the team that will maintain the code, optional post-launch support retainer.
The pattern is closer to "experienced senior who joins for a quarter to ship a specific thing" than to "vendor who delivers a finished product to a loading dock."
The honest comparison
For a typical interactive 3D web feature — configurator, scrollytelling page, training simulator, educational game, embedded 3D module — here's the rough comparison:
| Independent Contractor | Agency | |
|---|---|---|
| Time to start | 1-2 weeks | 4-8 weeks |
| Decision speed | Hours | Days |
| Total cost | Lower | Higher |
| Overhead | Minimal | Significant |
| Hands-off operability | Lower | Higher |
| Code maintainability | High (negotiated) | Variable |
| Long-term support | Limited | Stronger |
| Multi-discipline parallelism | Limited | Strong |
For most projects, the contractor model wins on the dimensions that matter. For specific projects with hands-off requirements, parallel multi-disciplinary needs, or long-term support priorities, the agency model wins.
The deciding question
Are you hiring "someone to build the 3D feature for you" or "a senior specialist to build it with your team"? The answer tells you which model to choose.
If you want to hand off a problem and receive a working solution with minimal involvement, hire an agency. The overhead is the price of the disengagement.
If you have technical leadership in-house who can engage with the project — even at one synchronous meeting per week — hire an embedded specialist. The savings, speed, and code quality are usually material.
For me, the projects that work best are ones where the client has at least one senior technical person engaged in the build, even if 3D is new to them. The embedded model amplifies that person's effectiveness; the agency model often replaces them.
If you're scoping a 3D project right now and unsure which model fits, the discovery conversation is where we figure that out. Sometimes the right answer is "you need an agency, not me." A senior independent contractor will tell you that honestly when it's true. The right project for the right model is what makes both sides successful.