When starting a new project, every agency pulls out their templates, playbooks for speed, clarity, and avoiding the same dozen questions clients always ask. There’s nothing wrong with that. But if you walk the halls at any conference or review enough product work, you start to notice the sameness. The patterns. The predictable agency flavor.
At Good Code, we take a different approach. We’ve learned which parts of our process should be standardized to deliver consistency and quality and which parts need to stay flexible, creative, and bespoke for every client.
Here’s how we think about it.
What We Do Standardize (and Why It Matters)
1. UX Research
Every strong project starts with clarity — use cases, user personas, user flows, and the real problems we’re solving. We keep this part standardized because it ensures alignment right from day one.
Instead of jumping straight into mid-fidelity wireframes like many agencies, we start with block-level, low-fidelity exploration. This gives our designers full creative freedom and avoids locking the team into premature decisions.
2. Creating a Design System
Unlike most agencies, we don’t assume we’ll be around forever, so we build assets that will outlive us.
A clean design system means:
faster page production
consistent UI
easier handoff
predictable scalability
It’s a win for you, your devs, and your future roadmap.
3. Codebase & File Structure
Running multiple projects at once can get chaotic. We’ve standardized a clean, predictable code structure so any Good Code developer can jump in instantly — and so your team understands the project the moment they take it over.
Consistency here = efficiency later.
4. Project Management
Our project management is standardized because it directly impacts delivery speed and predictability. Every project follows the same operational rhythm: kickoff → milestones → weekly check-ins → delivery. We track all work in the same tools, use the same ticket structure, the same approval flow, and the same communication cadence.
This means designers and engineers always know what’s expected, nothing gets lost between handoffs, and clients get consistent updates without chasing anyone down.
What We Don’t Standardize (On Purpose)
1. UX Approach
Every customer is at a different stage in their product lifecycle.
Some need foundational interviews.
Some need deep prototyping.
Some need UX therapy.
Some need a firefighter.
We adapt the UX approach to the maturity, urgency, and context of the product — not the other way around.
2. Product Design
This is where creativity lives.
This is the one area we never standardize. Every product has its own personality, users, and complexity, and the design should reflect that. Instead of relying on templates or recycled patterns, we tailor the visual language, layout, and interactions to the specific product and audience. That’s how we avoid the “agency look” and create designs that feel intentional, clear, and truly unique to your brand.
Your product deserves its own visual language, not ours.
3. Frontend Architecture
We experiment. A lot.
Yes, we offer our open-source libraries as a starting point, but we’re never afraid to push into new tools, new approaches, or new tech if it’s the right fit for your product.
We love to explore — that’s how we stay sharp.
In Short
We standardize the parts that improve quality, speed, and predictability.
We never standardize the parts that would limit creativity, product differentiation, or engineering flexibility.
That balance is what makes Good Code… Good Code.