InVivoLab: brand and website for a cosmetic safety expert in 2–4 weeks
98/100 in PageSpeed on mobile


Results
The website (in Polish) has been live since 2026 and already shows up in Google for its first industry phrases. It’s too early for inquiry numbers, so I don’t give any.
Client testimonial
I needed a website that would present my expertise in a way cosmetics brands understand, not just specialists. Piotr prepared everything: the logo, the copy, the photos and the website. He arranged the offer the way a cosmetic product is made, so clients see right away at which stage I can help them. The website is fast, I add blog posts myself in a simple panel, and I don’t have to worry about the server or backups.
Scientific expertise a brand grasps in a minute
InVivoLab is Dr. Małgorzata Pawłowska’s practice: cosmetic safety assessment, PIF documentation, CPNP notification and regulatory consulting under EU rules. Her clients are cosmetics manufacturers and brands, often under pressure from a launch date. I did all of it: the brand, the copy, the website, the blog panel and maintenance after launch.
Science and nature in one mark
2 typefacesa serif for headings, a sans serif for text
Before
- The expert had knowledge and experience, but no brand or website to show them.
What I did
- A logo with a symbol: a laboratory flask with a leaf inside a hexagon.
- Colors: petrol navy and porcelain as the base, sea green as the accent.
- Typography: Cormorant Garamond for headings and Mulish for text.
- Tagline: “Cosmetic safety, backed by science.”
- Petrolbackground and headings
#17314E - Porcelainlight sections
#EFEEE7 - Sea greenaccent and buttons
#4EA5A1 - Sky bluesymbol details
#559DC2

An offer arranged the way a cosmetic product is made
6product life cycle stages, from concept to CPNP notification
Before
- Regulatory services are specialized, and clients often don’t know exactly what they need.
- Acronyms like CPSR, PIF, INCI and CPNP mean little to a brand launching its first product.
What I did
- Four areas instead of a list of terms: safety assessment, regulatory and CPNP, labels and marketing, testing.
- A “Product life cycle” section: 6 stages and what the expert does at each one.
- Numbers that build trust: years in the industry, products launched, reports.
- Pricing without amounts: “Every quote is individual”, with a simple path to an inquiry.
- Photo selection: lab, cosmetics, details.


A blog without WordPress, with a simple panel
1 panelfor blog posts, with no plugins or updates
Before
- The expert’s knowledge had to reach Google, and adding a post couldn’t require a developer.
What I did
- A custom panel for adding posts, written in PHP.
- The latest posts also appear on the home page.
- Every post gets its own URL and goes into the sitemap for Google.
- 3 articles to start: marketing claims, CPNP notification and the CPSR report.
- 1Title and category
- 2Image
- 3Content
- 4Publish
- 5Blog, home page and sitemap

An inquiry that shows right away which service it’s about
7service types to choose from in the form
Before
- The price depends on the product, so a standard price list didn’t fit.
What I did
- A form with a service choice: CPSR report, PIF, CPNP, label and INCI, testing, consulting, other.
- A “Request a quote” button always visible in the menu.
- Phone and email at the top of every page.
- Spam protection without a captcha to click through.

A static website in Astro: fast and plugin-free
2.2 sto show the main content on mobile
Before
- An expert’s website should run for years without anyone watching over updates.
What I did
- A static website in Astro: no plugins to update, so fewer things can break.
- WebP images in mobile and desktop sizes, and self-hosted fonts.
- Hosting on my server, with a backup before every change.
- Maintenance after launch: speed checks and fixes.
98/100
- LCP
- 2.2 s
- Page weight
- 321 KB
- Blocking
- 0 ms
- Measured with
- Lighthouse, mobile

2–4 weeks from brief to launch
- Stage 1Identity and copy
Logo, colors, typography and copy that explains regulatory services in a cosmetics brand’s language.
- Stage 2Design and development
A website for mobile and desktop, photo selection, the form and technical SEO.
- Stage 3Blog panel and launch
The post panel, the sitemap and launch on my server.
- After launch, ongoingMaintenance
Backups, speed checks and fixes.
What I learned
- An expert sells trust
Years of experience, a doctorate and publications placed high on the page do more than generic slogans.
- An offer that follows the client’s stages
A cosmetics brand thinks about its product, not about document names. The product life cycle shows it which stage it’s at.
- Less tech, less maintenance
A static website with a simple panel needs no plugin updates and stays fast.
- I keep measuring speed after launch
With maintenance, I check the website on mobile and fix images or fonts before the client notices.
Tools
- Astro
- PHP (blog panel)
- Cormorant Garamond and Mulish
- WebP images
- My own server (VPS)
- Technical SEO