// sections/Present.jsx — the FBP (Elenchus), expertise areas, growth. // Honest skeleton: facts from the report stay; reflections are Todo slots. function PresentSection({ editorialStyle }) { const ACC = SECTIONS[1].accent; const ACC_INK = SECTIONS[1].accentInk; return (
{/* B2 · Self-ranked competence — shift across portfolios */}
B2 · Self-Ranked Competence · The Shift
Four snapshots

How my emphasis moved

How I rank the five expertise areas against each other has shifted from year to year. Step through the snapshots: Year 1, Year 2, B3.1 to now or hover an area to follow its line: MDC works its way to the top while T&R, after holding the lead for three years, eases into second.

MDC moved to the front this year because it is where I resonate most, especially through my FBP. However, it is a home base rather than where I want to stay. T&R held the lead for three years, but I have started moving away from specializing in it towards using T&R and MDC as a framing for problems on a societal scale. That shift is the direction I am carrying into my master's.

{/* B3 · Expertise meters — at-a-glance summary */}
B3 · Five Expertise Areas · Overview
Self-assessed

A summary of where each expertise area sits at the end of the bachelor, drawn from the self-assessments in the write-ups below. All sit at a decent level; the meters and ranking show how they compare.

{/* B3 — B7 · Per-expertise dedicated sections */} {EXPERTISE_LONG.map((ea, i) => )} {/* B9 · Design-Research Process */}
B9 · Design-Research Process

How I run a project

My FBP was also a way to discover and put into words what my process is actually like. Of the processes I have experienced, the RTDP fit best. I am self-reflective in my writing and making, as the EAs show. I am happy with my discipline in bringing coachable material each week, which improved the process and the feedback, since my coach had time to prepare. Next time I want to send it earlier, since I usually send it late the evening before the meeting.

DRP is at a similar stage to U&S: I have grown a lot but still have room. I can align with the RTDP, but it is not exactly my process (Hummels & Frens, 2009). I tend to lock onto the next step when I have it in mind and don't explore other options until something forces me to (see Figure 20). In my FBP, coach meetings and expert interviews gave me those alternative perspectives. This is a weak point and shows I still have to discover what my own process is.

For my internship I combined the double diamond (Design Council, 2005) with CROW's innovation process, to make it easy to understand for people unfamiliar with design processes while still describing the concept visually (see Figure 21). The next step is to combine two research processes into my own, or build one from scratch, and the best opportunity is the design research project next semester, on my own and with another year of experience.

I also prefer working in groups for the opposing perspectives they bring. That points to where I want to head: using expert and stakeholder interviews as a regular source in my projects.

{/* B10 · Professional Skills */}
B10 · Professional Skills

Professional skills

At the start of my bachelor I was insecure about presenting and leading; over the years I gained the confidence to lead groups, and this year became more proactive in contacting stakeholders. Being part of ARTIFICE on the AI debate, I developed a more nuanced understanding of AI and can explain it to a layman. During my internship I visited stakeholders one-on-one to understand their perspective.

In my FBP I did 3 expert interviews, which clarified my problem statement and raised their concern that my AI tutor could replace in-person coaching. Their input led me to frame the design as a supportive tool that prepares students for meetings rather than a replacement.

Sourcing users for testing remains a weakness. I was not proactive enough recruiting participants, and got no tests done on demo day despite setting up the option. This is on me; it left me unable to test my hypothesis, which breaks the research aspect of my project.

{/* B12 · Overall Growth */}
B12 · Overall Growth

Overall growth

When I started Industrial Design I treated every mistake as a failure, and that perfectionism broke me. I learned how to reframe these mistakes as opportunities for improvement and iteration and this became my core mentality of always wanting to improve, but not blaming myself for every mistake. I became the strongest in T&R and MDC, and I remain confident in integrating this into a project whether it'd be to inform my decision from that perspective or to use it to prototype.

I am proud that I deliberately started putting myself in uncomfortable situations to grow and face my fears. As well as the drive to frame problems around core societal needs with U&S, the business and policy interests that I discovered unexpectedly during my internship, and above all else starting to reach out to people for interviews, user tests, and help. Instead of narrowing my world, I am in the process of opening up, and this opening up will form the last keystone for me as a generalist. And this is how I will head into my master's degree.

); } /* ───────────────────────────────────────────────────────────────────────── */ function ExpertiseSection({ index, area }) { const figures = area.figures || []; // First N figures sit alongside the prose; the rest spill into a full-width // gallery underneath so the layout doesn't end with a long empty left column. const ALONGSIDE = Math.min(2, figures.length); const alongside = figures.slice(0, ALONGSIDE); const below = figures.slice(ALONGSIDE); return (
B{index} · Expertise Area

{area.label}

{/* Top block: prose + first 2 figures alongside */}
{area.paragraphs.map((p, i) =>

)} {area.todo && {area.todo}}
{alongside.map((f, i) => f.kind === 'video' ? : )}
{/* Overflow gallery: remaining figures span full width below the text */} {below.length > 0 &&
{below.map((f) => f.kind === 'video' ? : )}
}
); } /* ───────────────────────────────────────────────────────────────────────── */ // Five coarse levels for the self-assessment — clickable so Merijn can set // each rating directly. Stored per area in localStorage under // 'expertise-level:' (1–5, or cleared by re-clicking the current level). const LEVEL_WORDS = ['', 'Emerging', 'Developing', 'Proficient', 'Strong', 'Leading']; function ExpertiseMeters({ expertise }) { const [levels, setLevels] = React.useState(() => { const out = {}; for (const e of expertise) { let v = null; try {const s = localStorage.getItem('expertise-level:' + e.id);if (s != null) v = parseInt(s, 10);} catch (err) {} if (v == null && e.level != null) v = Math.max(1, Math.min(5, Math.round(e.level / 20))); out[e.id] = v; } return out; }); const editable = !!(window.omelette && window.omelette.writeFile); const setLevel = (id, v) => { setLevels((prev) => { const next = prev[id] === v ? null : v; // click the current level again to clear try { if (next == null) localStorage.removeItem('expertise-level:' + id);else localStorage.setItem('expertise-level:' + id, String(next)); } catch (err) {} return { ...prev, [id]: next }; }); }; return (
{expertise.map((e, idx) => { const lvl = levels[e.id]; return (
{e.label}
{e.note}
setLevel(e.id, v)} />
{lvl == null ? '—' : LEVEL_WORDS[lvl]}
); })}
); } function Meter({ value, editable, onSet }) { const segments = 5; return (
{Array.from({ length: segments }).map((_, i) => { const n = i + 1; const active = value != null && n <= value; const seg =
; return editable ? :
{seg}
; })}
); } window.PresentSection = PresentSection;