Overview
Daniel Tudorache is a tennis strength and conditioning coach with more than 30 years of experience — he works with junior talents, professional players, and other coaches across Romania and internationally. For this project, we built two connected properties: a live bilingual public website at danieltudorache.ro, presenting his experience, professional work, and services, and a separate Next.js training platform at app.danieltudorache.ro — the latter currently in final development, with launch planned shortly. Marketing site and product, side by side, designed as one experience.
The Challenge
Daniel doesn't have one audience — he has three. Parents of junior players want reassurance and real results before investing in their kid's development. Professional athletes want expertise, discretion, and a direct relationship with a coach who understands high-performance tennis. Other S&C coaches and physical preparators want methods they can learn from and credentials they can trust. Each group asks different questions and responds to different signals — and a generic undifferentiated site would lose all three.
Meanwhile, the training programmes themselves — the actual product Daniel wanted to sell — needed more than a membership extension bolted onto a content site. They required user accounts and authentication, a data model of their own for programme structure and user progress, Stripe integration for payments, HD video delivery, a member area, and content built in both languages from the outset. Those requirements justified a separate application.
The Approach
We split the work into two properties, each with a clear role, functioning together as one ecosystem.
Marketing site → WordPress, because the client needed a familiar editorial interface. A heavily customised WordPress build where Daniel and his team can update content — seminars, testimonials, media appearances, blog posts, programme information — without touching design or page structure. Five distinct routes: three for the main audiences (Juniors, Professional Players, Physical Preparators) and two for the services sold directly (Online Programs, Personal Training), each with its own entry point and its own messaging, sharing a single consistent visual identity. Bilingual Romanian / English throughout.
Training platform → Next.js, for its account, payment, and data requirements. A Next.js application developed separately, around the project's own requirements: user accounts and authentication, a dedicated data model, Stripe payments, and a structured content model for programmes, workouts, and user progress. This is the layer that delivers the actual training to paying members.
The two properties share visual identity and brand voice, and the move from reading about Daniel's work to accessing a programme is designed to feel continuous for anyone who lands on danieltudorache.ro from Google and clicks through to the platform.
The Solution
On the marketing site (danieltudorache.ro — live)
- Five dedicated routes — Online Programs, Personal Training, Juniors, Professional Players, Physical Preparators — each with its own page, messaging, and CTAs, sharing a consistent visual identity
- Animated rotating headlines in the hero
- Real player testimonials with portrait photography of professional tennis players
- Custom "Noir" display typeface paired with Poppins — a premium sports editorial feel
- Bilingual RO / EN content with TranslatePress — URL-level language routing and hreflang signals
- Seminar documentation — four training stages with dedicated galleries
- Sports Metrics / Metrologie Sportivă section — Daniel's performance testing work
- Media appearances gallery under the About section
- Structured blog with article schema
- Schema.org Person / Organization / Article markup — structured data describing the person, the organisation, and the articles for search engines
- LiteSpeed Cache and intersection-observer animations for performance
On the training platform (app.danieltudorache.ro — in final development)
This is the application side of the project.
- Next.js — an application developed around the project's requirements, server + client components, language versions for EN / RO at the routing level
- A dedicated data model — users, programmes, workouts, user progress, payment history
- Authentication and account management — secure login on established protocols
- Stripe integration — payments for programme access
- Member area — weekly schedule, workout completion tracking, progress indicators
- HD video training library — programmes organised by week and phase, each workout with equipment lists, form tips, common mistakes, age adaptations, and intensity guides
- Programme catalogue — organised into clear training categories, with a recommended programme each month
- Sport science tools — purpose-built calculators that Daniel actually uses with his athletes (heart rate zones, one-rep-max estimation, pace splits)
- Interactive coach biography as an introduction to the platform
- Legal pages (Privacy, Terms, Refund policy)
- Bilingual structure RO / EN — interface, pages, and calculators are built in both languages; the editorial language review is being completed before launch
Key Moments
The decision to separate site and product
The easy path for this project would have been to cram the product into the marketing site with a WordPress membership extension. We chose otherwise. For this project's requirements — a dedicated data model for programmes and progress, control over the payment flow, room for the product to develop after launch — an extension would have tied the product to the editorial site's update cycle and constrained us exactly where we needed room to move. So the platform is a separate Next.js application, with its own database, its own authentication layer, and its own deployment. Two separate properties, one coherent brand.
The audience routes as the core IA
Most personal-brand sites try to speak to every visitor with the same homepage. Daniel's site does the opposite — the first major decision a visitor makes is who they are. Junior player's parent? Click here. Professional athlete? Different page. Another S&C coach looking for methods? Third page. Each route is tuned to that audience's questions, concerns, and vocabulary. It's more work to build than a single homepage, but it reduces the risk of three very different audiences receiving the same generic message.
Bilingual from the ground up, both sides
Bilingual is easy to get wrong, usually because the second language turns up at the end. Both properties were structured for two languages from day one: the marketing site uses TranslatePress with URL-level routing and hreflang, and the Next.js platform handles EN / RO natively with locale-based routing at the framework level. The architecture covers both languages in full; the editorial review of the content continues ahead of the platform launch.
Why Next.js, not WordPress, for the product
We picked Next.js for the product's requirements: user accounts, database relations, secure authentication, Stripe webhooks, video delivery, structured programme data, progress tracking. On the editorial side, WordPress was the right call, because that is where the client updates content himself. On the application side, we needed to design the data model from the ground up, deliver video smoothly, and keep developing the product without depending on a chain of third-party extensions. Each component got the technology suited to its role.
The Stack
Marketing site (live):
WordPress · Custom theme with TranslatePress (RO / EN)
Custom "Noir" display typeface + Poppins
LiteSpeed Cache · Intersection Observer animations
Schema.org (Person, Organization, Article)
Training platform (in final development):
Next.js · React · Server + client components
PostgreSQL · Authentication and accounts · Stripe payments
Locale-based routing (EN / RO) · HD video delivery
Custom sport science calculators
Member area with progress tracking
The Result
The marketing site is live and actively maintained by the client. The training platform is in final development and scheduled to launch shortly — the application build is complete; final content, language review, and QA are in progress. This is the project we point to when a prospect asks whether we can handle product work: an online training platform with accounts, payments, video content, and progress tracking, developed around the project's own requirements, alongside an editorial site the client runs himself.



