Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .Jules/apex.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ Prefer visitor-facing craft on live surfaces (Home, Work, Biography, Contact, an
## 2026-05-26 - Product Manifesto | Signal: Product Leadership "Guiding Principles" trend | Lean Implementation: Isolated experimental route, uses Hero/Icon primitives, ~45 lines delta.

## 2026-05-27 - Strategic Reading List | Signal: Portfolio "Bookshelf" trend | Lean Implementation: Isolated experimental route, static data array, uses Hero/Pill/Icon primitives, ~48 lines delta.

## 2026-05-28 - DevEx Framework | Signal: Developer Experience Pillars trend | Lean Implementation: Flagged experimental route (/experimental/devex-framework.astro), < 50 lines total delta.
1 change: 1 addition & 0 deletions src/content.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export const collections = {
enable_logo_wobble_v1: z.boolean().default(false),
enable_cta_tactile_v1: z.boolean().default(false),
enable_theme_toggle_tactile_v1: z.boolean().default(false),
enable_devex_framework: z.boolean().default(false),
}),
}),
};
3 changes: 2 additions & 1 deletion src/content/flags/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"enable_reading_list": true,
"enable_logo_wobble_v1": true,
"enable_cta_tactile_v1": true,
"enable_theme_toggle_tactile_v1": true
"enable_theme_toggle_tactile_v1": true,
"enable_devex_framework": true
}
77 changes: 77 additions & 0 deletions src/pages/experimental/devex-framework.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
import CallToAction from '../../components/CallToAction.astro';
import Hero from '../../components/Hero.astro';
import BaseLayout from '../../layouts/BaseLayout.astro';
import { getEntry } from 'astro:content';

const flagsEntry = await getEntry('flags', 'config');
if (!flagsEntry?.data.enable_devex_framework) return Astro.redirect('/404/');

const pillars = [
{ t: 'Feedback Loops', d: 'Fast, deterministic test and build cycles.' },
{ t: 'Cognitive Load', d: 'Minimal friction and clear primitives for focus.' },
{ t: 'Flow State', d: 'Removing friction points across toolchains.' },
];
---

<BaseLayout
title="DevEx Framework"
ogTitle="DevEx Framework"
description="DevEx pillars."
robots="noindex"
>
<main
id="main-content"
class="wrapper stack gap-8"
style="padding-bottom: var(--chat-fab-clearance)"
>
<Hero title="DevEx Framework" align="start"
><p class="lede">Core pillars driving developer productivity.</p></Hero
>
<div class="grid">
{
pillars.map(({ t, d }) => (
<div class="card">
<>
<strong>{t}</strong>
<p>{d}</p>
</>
</div>
))
}
</div>
<div>
<CallToAction
href="https://www.linkedin.com/in/alehar/"
target="_blank"
rel="noopener noreferrer"
data-hire-surface="devex-framework">Get in touch</CallToAction>
</div>
</main>
</BaseLayout>

<style>
.lede {
margin: 0;
color: var(--gray-200);
}
.grid {
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.card {
padding: 1rem;
border: 1px solid var(--gray-800);
border-radius: 0.5rem;
background: var(--gradient-subtle);
}
.card strong {
display: block;
color: var(--gray-0);
}
.card p {
margin: 0.35rem 0 0;
color: var(--gray-300);
}
</style>
Loading