Danilo Alessandro Vinciprova

Danilo Alessandro Vinciprova

AI-Assisted Web Developer · React · Next.js · Claude Code

I learned to think of building as parts that must fit together.

Project 01 / 06 · website

Signal Ads Lab

Website for Signal Ads Lab, my short-form video ads service. The site is live at signaladslab.com.

LiveWebsite for a short-form video ads service

Overview

Screenshots

Evidence tier: Existing evidence

Signal Ads Lab: screenshot of the home page, desktop (1440 px).
Signal Ads Lab: screenshot of the home page, mobile (375 px).
Desktop 1440 × 900 and mobile 375 × 812, captured 3 October 2026 from live site.
See proof
  1. Claim

    Website for Signal Ads Lab, my short-form video ads service. The site is live at signaladslab.com.

    Stated by Danilo

  2. Evidence

  3. Result

    The site is online (checked 03/10/2026), with real screenshots taken from its source files on 29/09/2026. This proves the site exists and runs; that Danilo built it is his statement. The portfolio videos on it are concept work, not client work.

On this page

  1. 02 Responsive: the live site captured at 1440, 768 and 375 px
  2. 03 Measured: Lighthouse and axe, run on the live site
  3. 04 Code: the scroll reveal, from the site’s source
  4. 05 Live: the site itself

Responsive

The same page at three widths, drawn at the same scale: each frame is a capture of the page, and the ruler above it is its viewport width.

Evidence tier: Existing evidence

Signal Ads Lab at 1440 px wide: capture of the page.
1440 px · Screenshots of signaladslab.com (desktop and mobile) · checked 3 October 2026
Signal Ads Lab at 768 px wide: capture of the page.
768 px · Screenshot of signaladslab.com at tablet width (768 px) · checked 3 October 2026
Signal Ads Lab at 375 px wide: capture of the page.
375 px · Screenshots of signaladslab.com (desktop and mobile) · checked 3 October 2026

Measured

Run on the live site on 5 October 2026, not on a copy. One run of each tool; a summary of each is linked (the full reports quote addresses of the site that are kept out of this CV).

Lighthouse (mobile)

Evidence tier: Existing evidence

  • 68Performance
  • 100Accessibility
  • 96Best Practices
  • 92SEO
First Contentful Paint
2.6 s
Largest Contentful Paint
4.1 s
Total Blocking Time
411 ms
Cumulative Layout Shift
0.026
Speed Index
6.1 s

Lighthouse 13.5.0 run on the live site on 05/10/2026, after Danilo's speed and accessibility fixes of the same day (lighter videos, the 3D cube deferred and a still image on phones, form labels, contrast): mobile form factor, simulated throttling (the default configuration). First of two runs; the second gave Performance 63. Only a summary of the report is published, because the full report quotes a form address of the site that is kept out of this CV.

Open the Lighthouse summary (JSON)

axe accessibility scan

Evidence tier: Existing evidence

axe violations by impact, and rules passed
ImpactRules
Critical0
Serious1
Moderate1
Minor0
Rules passed43

axe-core 4.13.0 (@axe-core/playwright, Chromium) on the live site on 05/10/2026, page as first loaded, after the fixes of the same day. At 375 px: no critical or serious, 1 moderate (region); 44 rules passed. At 1440 px: 1 serious (color-contrast, 1 element), 1 moderate (region); 43 rules passed. On 03/10/2026 both widths had 2 critical (label, select-name) and 2 serious. Only a summary of the results is published, because the full results quote the site's payment links.

Open the axe summary (JSON)

Code

Sections fade in as they scroll into view: the CSS sets the hidden start and four short delays; one IntersectionObserver adds the visible class once per element, and starts any count-up numbers inside it.

index.html lines 202–208

Raw text of index.html, lines 202–208
    /* ── SCROLL REVEAL ── */
    .reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal[data-delay="1"] { transition-delay: .06s; }
    .reveal[data-delay="2"] { transition-delay: .14s; }
    .reveal[data-delay="3"] { transition-delay: .22s; }
    .reveal[data-delay="4"] { transition-delay: .30s; }

Evidence tier: Existing evidence

Signal Ads Lab source: the scroll reveal (CSS) · copied 3 October 2026 · sha256 4ce04707ae47…

index.html lines 3657–3666

Raw text of index.html, lines 3657–3666
  /* ── Scroll reveal + count-up ── */
  var obs=new IntersectionObserver(function(entries){
    entries.forEach(function(e){
      if(!e.isIntersecting) return;
      e.target.classList.add('visible');
      e.target.querySelectorAll('.cu').forEach(countUp);
      obs.unobserve(e.target);
    });
  },{threshold:0.12,rootMargin:'0px 0px -30px 0px'});
  document.querySelectorAll('.reveal').forEach(function(el){ obs.observe(el); });

Evidence tier: Existing evidence

Signal Ads Lab source: the scroll reveal (JavaScript) · copied 3 October 2026 · sha256 412e17cb848a…

Live

signaladslab.com (live site)

Evidence tier: Existing evidence

Online again on 03/10/2026 (HTTPS, www redirects to the main domain); static site served by Netlify.

Checked 3 October 2026.

Open signaladslab.com