All work

A lighter portfolio

Replacing Salient while preserving the portfolio design. A measured theme trial: mobile performance 64 to 90, with largest-content load time reduced by 54%.

A faster portfolio without a redesign. The project replaced the presentation layer beneath sidspanos.me while preserving its established dark visual style, project order, images, separate Writing page and links to working applications.

Assessment: the lightweight preview reduced measured Largest Contentful Paint from 5.9 to 2.7 seconds, a 54% reduction. Three checks of the current preview returned a performance score of 90 and zero layout shift. An earlier preview URL produced conflicting results, documented below rather than discarded.

The problem

The portfolio showcases infrastructure, AV, automation, documentation and application work. Its visible layouts were already largely custom PHP templates, yet the homepage still loaded the Salient framework and associated presentation assets. The task was to make the implementation lighter without rearranging the portfolio merely to make it look different.

Role and delivery

This was an AI-assisted implementation directed and reviewed by Sid Spanos. Sid set the design constraints, approved the earlier content improvements and identified an inconsistent mobile menu during preview. The assistant inspected dependencies, edited the draft theme through WPVibe, tested navigation and collected audit results. This write-up records that collaboration rather than presenting it as unaided manual work.

Three stages of improvement

  1. Project communication: six writeups were expanded to explain purpose, behaviour and skills demonstrated. Nine project cards gained focus labels, and project pages gained links to connected work. These changes make the intended range easier to inspect; no visitor study or conversion data was collected to prove that effect.
  2. Accessibility on the existing site: mobile zoom was restored, social icons gained screen-reader names and the content gained a main landmark. The earlier mobile accessibility score moved from 86 to 100. The social destinations were already working and managed by Salient. This improvement predates the lightweight theme and is not credited to it.
  3. A standalone theme preview: the existing custom layouts were retained, with native WordPress header, footer, navigation, search and missing-page templates replacing parent-theme behaviour. The new menu uses a small script without a jQuery dependency. Existing projects, taxonomies, images and URLs remain in WordPress.

Measured performance

The following charts compare the current live Salient homepage with the lightweight draft of the same homepage. Values are medians of three forced-refresh tool responses per version. The current preview scored 90 in all three responses; LCP ranged from 2.6 to 2.7 seconds and Speed Index from 4.4 to 4.5 seconds. The live baseline scored 64 with LCP 5.9 seconds in all three responses.

Largest Contentful Paint (seconds)
0.03.57.0
Salient live5.9
Lightweight preview2.7

Zero-based scale. Lower is better. Current assessment, 17 September 2026.

First Contentful Paint (seconds)
0.03.06.0
Salient live5.3
Lightweight preview2.6

Zero-based scale. Lower is better. Current assessment, 17 September 2026.

Performance score (out of 100)
050100
Salient live64
Lightweight preview90

Zero-based scale. Higher is better. Current assessment, 17 September 2026.

Cumulative layout shift (unitless)
0.0000.2000.400
Salient live0.000
Lightweight preview0.000

Zero-based scale. Lower is better. Current assessment, 17 September 2026.

Current mobile assessment
Metric Salient Preview Difference
LCP 5.9 s 2.7 s 3.2 s lower (54%)
FCP 5.3 s 2.6 s 2.7 s lower (51%)
Performance 64/100 90/100 +26 points
Layout shift 0.000 0.000 Preserved in current preview
Total Blocking Time 0 ms 0 ms Unchanged
Accessibility 100/100 100/100 Preserved
Best practices 100/100 100/100 Preserved
SEO checks 100/100 100/100 Preserved

What changed underneath

A browser inspection of the earlier live homepage counted 19 external scripts and 20 linked stylesheets. A later inspection of the preview counted two scripts and four stylesheets, including one script and one stylesheet for the preview toolbar. The theme itself supplied one navigation script and three linked stylesheets, including its font request. Counts are snapshots of those page loads, not transferred-byte measurements; they exclude inline code, images and individual font downloads. Cloudflare can add an email-decoding script on some responses.

Salient Portfolio attempts to force its own project template when the parent theme is absent. The draft removes that template override and registers the existing project type and taxonomies without changing post IDs or project addresses. Plugin presentation assets are suppressed in the draft; the plugins remain active for the live site. The replacement content registration was exercised in preview, but operation after globally deactivating all Salient plugins has not been tested.

A navigation defect found during review

Sid reported a three-line mobile menu on the homepage and a two-line icon elsewhere. The draft shared one three-line icon, but its initial links pointed at the live site until a browser script added the preview parameter. Navigation could therefore leave the draft and reach the old header. Preview links now retain their parameter in the server-rendered HTML. Clicking Work, Stack, About, Writing, Status and Contact at phone width retained the same three-line icon and preview URL.

Validation and limits

  • All nine project pages rendered through the replacement templates, with content and related links.
  • Writing retained its own page, hero and featured image. Stack, About, Status and Contact rendered without raw shortcodes or horizontal overflow in the phone checks.
  • Desktop cards, mobile menu navigation, search results and the missing-page fallback were checked. No browser errors were observed in the sampled checks.
  • The contact form retained labelled, required fields and its existing server handler. End-to-end email delivery was not tested.

Evidence comes from WPVibe’s Google PageSpeed Insights/Lighthouse mobile audit on 17 September 2026. The connector does not supply the full Lighthouse JSON, exact runtime version, traces, run IDs or per-run timestamps. Three refresh requests do not establish statistically independent runs. There is no CrUX real-user dataset for this site, and the draft contains preview tooling absent from the live page. The graphs demonstrate the returned lab differences; they do not prove faster loading for every visitor, higher rankings or more enquiries.

A conflicting preview result

The assessment initially reused an earlier preview URL. That URL returned 76 with LCP 2.7 seconds and layout shift of 0.325 in three responses. Subsequent HTML inspection showed that the saved token no longer reliably selected the current draft. WPVibe supplied a different current preview link, whose markup was verified as the lightweight theme. Three checks of that endpoint returned 90, LCP 2.6–2.7 seconds and zero layout shift. The old-endpoint results are retained in the evidence file but excluded from the current comparison because the target state was not verified. The precise cause of the discrepancy remains unproven; neither a confirmed theme regression nor a confirmed fix is claimed.

Project assessment

The lightweight direction is supported by the current lab evidence. The verified preview renders content sooner, scores 26 performance points higher and retains the other audited scores. It is ready for design review, not an assertion of production readiness. Before release, verify contact delivery and administration, plan any plugin retirement, and repeat the same checks on the actual production URL after switching. That final check matters particularly because of the preview-endpoint discrepancy. The original site remains live and the replacement remains a draft.

Skills demonstrated: dependency analysis, WordPress theme development, accessibility, performance measurement, regression testing and evidence-led iteration.