Case study
Feinwerks Software
Marketing site for a product engineering studio, in English and German.

The website for Feinwerks, a Germany- and Pakistan-based product engineering studio. It sells a fixed-scope, fixed-quote way of building products, in English and German, and ends every page at a proposal request.
The problem
Feinwerks pitches to founders who cannot afford a second attempt: a written scope, a fixed or custom quote and a committed launch date before any code is written. That is an unusual promise for a studio, and the site had to make it credible to readers in two markets, Germany and Pakistan, without a sales call.
My approach
A static-first Next.js build ordered as an argument: the promise, the five service lines, a six-step process from quote to handover, client testimonials, then one call to action. English and German copy live side by side and switch in place, so both languages share one page, one layout and one set of components.
How it's built
Next.js App Router deployed on Vercel. Routes are pre-rendered, fonts are self-hosted through next/font and preloaded, and the organisation schema is emitted as JSON-LD so search engines see both offices and contact points. Language switching is handled on the client over shared components rather than duplicated routes.
Key features
- English and German copy with an in-place language switch
- Five service lines with concrete deliverables under each
- Six-step process from written quote to handover
- Client testimonials in both languages
- Pricing, careers and contact pages with a request-a-proposal flow
- Organisation JSON-LD, per-page metadata and preloaded fonts
Challenges & Solutions
Serving German and English without maintaining two sites that slowly drift apart.
Kept both languages in the same components and switched them in place, so a copy change is made once and both locales ship together.
A fixed-quote promise reads as marketing unless the reader can see how the studio actually works.
Laid out the full six-step process, from the first call to ownership handover, ahead of the call to action and the pricing page, so the promise is backed by a visible method.
Results
- 2languages, English and German, from one page and one set of components.
- 6-step delivery process explained on the page, so the fixed-quote promise is shown rather than claimed.
- 1primary call to action, request a proposal, at the end of the argument.
Implementation stack
Tech Stack
Frontend
- Next.js
- React
- TypeScript
Styling & Motion
- TailwindCSS
- Framer Motion
Deployment
- Vercel