Web development
Custom web platforms for businesses that have outgrown templates.
From high-converting websites to operational portals and complex web applications.
- Content model before visual designStructure is agreed first so pages stay editable.
- Server-rendered and crawlable by defaultSearch visibility is built in, not bolted on.
- Accessibility checked while buildingKeyboard and screen-reader behaviour is part of done.
Signs the template has run out of road
Most web projects do not fail on design. They fail when the content model, the integrations or the performance budget were never decided.
Every change needs a developer
Content, pricing and landing pages are hard-coded or trapped in plugins, so small updates wait in a queue.
Plugins fight each other
Updates break layouts, page speed degrades, and nobody is sure which add-on is safe to remove.
The site is disconnected from the business
Forms land in an inbox, orders are re-typed into another system, and reporting is assembled by hand.
Search and speed are afterthoughts
Pages were designed first and made crawlable and fast later, or never.
What we build on the web
One team covers the marketing site and the application behind the login, so they share design, data and deployment.
Marketing and editorial websites
Fast, accessible, server-rendered sites with a structured content model your team can edit without a developer.
Web applications
Authenticated products with roles, workflows, dashboards and an API designed to outlive the first release.
Customer and partner portals
Self-service areas for orders, documents, status and requests, connected to your internal systems.
Headless CMS and content systems
Content modeled around your pages and channels, with preview, roles and publishing workflow.
Performance and SEO engineering
Rendering strategy, metadata, structured data, redirects and Core Web Vitals handled as engineering work.
Replatforming and migration
Moving from an aging CMS or a legacy build with URL mapping, redirects and content parity checked before launch.
Learn more about Replatforming and migration
How a typical web platform is layered
Layers are kept separate so a redesign does not require a rewrite and an integration change does not touch the interface.
Presentation
A component library driven by design tokens, rendered on the server for speed and indexing.
Content and application logic
Typed content, business rules and validation behind a documented API.
Data
A relational database for transactions and a cache for read-heavy pages.
Integrations
Payments, CRM, email and analytics connected through adapters with retries and logging.
Delivery
Automated builds, staged environments and monitored production releases.
Technology we commonly use
- Frontend
- React
- Next.js
- TypeScript
- Tailwind CSS
- Backend
- Node.js
- NestJS
- PostgreSQL
- Redis
- Content
- Headless CMS
- Markdown and rich text
- Image pipeline
- Delivery
- CI builds
- Nginx or managed hosting
- Error monitoring
How a web project runs
Discovery and content audit
Goals, audiences, existing content, integrations and constraints are mapped into a written scope.
Information architecture and design
Page types, navigation and components are designed and reviewed on real content, not lorem ipsum.
Build in weekly slices
Working pages and features are deployed to a staging site you can click through each week.
Test, migrate and launch
Redirects, analytics, forms and performance are verified before the switch, with a rollback plan.
Handover and iteration
Documentation, editor training and a backlog for what comes next.
Typical phases for a web platform
Typical durations for this kind of work. Real timing depends on scope, integrations and how quickly decisions are made.
Step 1: Discovery
1 to 2 weeks
Scope, content model and technical approach agreed in writing.
Step 2: Design
2 to 4 weeks
Page templates, components and key flows reviewed with your team.
Step 3: Build
4 to 12 weeks
Delivered in slices; length depends mainly on application complexity.
Step 4: Launch and stabilise
1 to 2 weeks
Migration, performance checks, monitoring and fixes.
Planning a web platform?
Share the goal, the systems it must connect to and any deadline. We will tell you what we would build first.
Questions about web development
Still have questions? Tell us about your project and we will answer in one business day.
Book a callDo you build on WordPress or Webflow?
Usually not. We build custom platforms when the business needs structured content, integrations or application features. If a template or no-code tool would serve you well, we will say so rather than sell a build you do not need.
Can our team edit the site ourselves?
Yes. We model content so editors manage pages, sections and media through an admin interface with roles and preview. Developers are only needed for new page types or features.
Who owns the code?
Ownership and licensing terms are set out in the contract before work starts. We deliver the repository, documentation and deployment steps so you are not dependent on us to keep the site running.
How do you handle SEO when replacing an existing site?
We inventory existing URLs, map redirects, carry over metadata and structured content, and check indexing after launch. We do not promise ranking outcomes, because they depend on factors outside the build.
Related services
- Ecommerce developmentCustom online stores, Shopify integrations, headless commerce, subscriptions and ERP-connected checkout, built around your catalog and operations.
- CRM developmentCustom CRM systems built around your pipeline, permissions, automation and reporting, connected to the tools your team already uses.
- API integrationsReliable integrations between CRMs, ERPs, payments, ads and internal systems with retries, idempotency, monitoring and clear error handling.
- Product designUX research, interface design, design systems and prototypes for web apps, mobile products and dense admin tools, delivered with engineers in the loop.
Tell us about your web project
What does the site or application need to do, and what does it need to connect to? A few lines are enough to begin.

