
Systems touched:
henrypye.xyz, a personal portfolio site
tech.interview.practice, an interview prep training platform
Principles explored:
Progressive disclosure through UI state management
Content organization at scale (200+ structured learning materials)
Adaptive coaching through prompt refinement
Accessibility through toggleable immersive modes
henrypye.xyz received a quick maintenance update to surface recent press coverage, but the bulk of today's effort landed in tech.interview.practice, where I made meaningful progress on both the learning architecture and the user experience.
The interview practice platform needed breathing room. I built a toggleable sidebar system that collapses automatically when users enter immersive modes—like the mock interview or voice coaching flows. The insight here is that cognitive load peaks during practice, so the UI should vanish when it matters most. Rather than hardcoding collapse behavior, I centralized it through a context provider so any future feature can signal "I need focus" and the sidebar responds consistently. This felt like the right level of abstraction: the sidebar doesn't care why it's hiding, just that it should.
I also restructured the desktop challenge layout into a tabbed dual-view—Description and Tests side-by-side without scrolling friction. The philosophy is immediate feedback: readers see the problem statement and validation criteria in one glance, reducing the context-switching cost that kills learning momentum.
On the content side, I integrated the full Cracking the Coding Interview (CTCI) curriculum—156 challenges across 13 chapters, organized into modular data files. Rather than dumping problems into one monolithic structure, I split them by chapter to keep the codebase navigable as the challenge count grows. I also wove in pattern recognition training and OS concepts from foundational textbooks, then deepened the coaching prompts to reference these methodologies directly. The goal is for the AI coach to reason about
The rebranding from "Tech Interview Practice" to "Software Engineer Training" reflects a shift in intent: this isn't just about passing interviews anymore. It's about building the reasoning patterns and knowledge that make interviews irrelevant because you're genuinely prepared. That philosophy now flows through the prompts, the challenge organization, and the README.
I'm particularly pleased with how the sidebar context abstraction decoupled UI state from feature logic. Each immersive mode stays focused on its own concern while respecting a shared principle—minimize distraction when concentration is critical. That's the kind of simple pattern that scales well.
henry
Comments