Commit Graph

110 Commits

Author SHA1 Message Date
admin 8ee9046bb3 Task 3: Build LoginScreen component with typing animation
- Created LoginScreen.tsx with character-by-character username typing (30ms/char)
- Password dots fill at 20ms per dot
- Button shows pressed state before transition
- Added 'login' phase to App.tsx flow
- Added PMR colors and fonts to tailwind.config.js
- Added Inter font family to index.html
- Respects prefers-reduced-motion: instant completion in ~500ms
2026-02-11 00:54:48 +00:00
admin 02d7dcabd9 Ralph iteration 2: work in progress 2026-02-11 00:46:50 +00:00
admin 9ec62e9c12 Update progress: Task 2 complete, ECG flatline transition implemented 2026-02-11 00:46:18 +00:00
admin 2692e7ee86 Task 2: Modify ECGAnimation for PMR flatline transition
- Changed exit phase from fade-to-white to clinical flatline transition
- After name tracing: hold 300ms, draw flatline rightward 300ms
- Fade canvas to black 200ms, then transition background to #1E293B (login screen color)
- Total ECG phase timing preserved (~5-6 seconds), exit adds ~1 second
- Prepares for LoginScreen component in Task 3
2026-02-11 00:45:05 +00:00
admin 6a5de6ee33 Ralph iteration 1: work in progress 2026-02-11 00:37:48 +00:00
admin 9d078420bc docs: mark Task 1 complete and update progress log 2026-02-11 00:37:27 +00:00
admin 2033a93ecb feat(pmr): create PMR data layer and TypeScript types
- Add src/types/pmr.ts with interfaces for Patient, Consultation, Medication, Problem, Investigation, Document
- Add src/data/consultations.ts with 5 roles mapped to clinical consultation format
- Add src/data/medications.ts with 18 skills as medications across Active/Clinical/PRN categories
- Add src/data/problems.ts with 11 achievements/problems using traffic light status system
- Add src/data/investigations.ts with 5 projects as clinical investigations
- Add src/data/documents.ts with 5 education/certification documents
- Add src/data/patient.ts with patient demographic data

All data matches CV_v4.md exactly (dates, numbers, achievements).
Task 1 of 15 complete.
2026-02-11 00:37:20 +00:00
admin 9e01356df8 Design files 2026-02-10 23:38:00 +00:00
admin 27740968b7 Updated design plans 2026-02-10 23:33:48 +00:00
admin dfdf1d212d Ralph iteration 11: work in progress 2026-02-10 17:52:45 +00:00
admin 1e20724215 Task 12: Final integration, testing, and polish complete - all 12 tasks finished 2026-02-10 17:40:00 +00:00
admin 0dec533389 Ralph iteration 10: work in progress 2026-02-10 17:21:39 +00:00
admin 5c37818ebd Update progress: Task 11 completed 2026-02-10 17:20:45 +00:00
admin 6cc54d8a29 Task 11: Implement scroll animations and responsive design
- Add xs (480px) breakpoint to tailwind config for mobile
- Standardize scroll-reveal animations to opacity 0→1, y 24→0
- Add responsive padding to main container (px-5 xs:px-6 md:px-8)
- Add responsive section padding (py-12 xs:py-16 md:py-20)
- FloatingNav: responsive width and font/padding on mobile
- Hero: responsive vitals grid, title font clamp to 28px min
- Skills: responsive grid (2→3→auto-fit), smaller gauges on mobile
- Experience: responsive card padding, ECG decoration size
- Education/Projects: responsive grids matching concept.html
- Contact/Footer: responsive padding
2026-02-10 17:20:27 +00:00
admin 30eff4dde2 Ralph iteration 9: work in progress 2026-02-10 17:04:38 +00:00
admin 80a536676f Update progress: Task 10 completed 2026-02-10 17:04:22 +00:00
admin 1a2c43323b Task 10: Build Footer component with ECG decoration
- Created Footer.tsx with decorative ECG waveform SVG
- Footer uses Framer Motion for scroll-triggered entrance animation
- Centered layout with border-top, muted attribution text
- Integrated Footer into App.tsx content phase
- Three-phase orchestration (boot → ecg → content) already working
2026-02-10 17:03:11 +00:00
admin 75c6cf11dc Ralph iteration 8: work in progress 2026-02-10 16:57:05 +00:00
admin 318e7f0cf7 docs: Mark Task 9 complete and update progress log 2026-02-10 16:56:14 +00:00
admin 13c2aa2121 feat: Build Education, Projects, and Contact sections (Task 9) 2026-02-10 16:54:25 +00:00
admin 38e6d549a6 Ralph iteration 7: work in progress 2026-02-10 16:49:57 +00:00
admin 9e07527cd5 docs: Mark Task 8 complete and update progress log 2026-02-10 16:49:16 +00:00
admin 09e4f92270 feat: Build Experience section with timeline (Task 8)
- Create Experience.tsx component with vertical timeline layout
- Add 5 roles from NHS and Tesco with bullet points
- ECG waveform SVG decoration beside heading
- Timeline dots filled for current roles
- Hover effects on cards (scale, shadow, left border)
- Scroll-triggered animations using useScrollReveal hook
- Responsive: hide timeline line/dots on mobile
- Fix useScrollReveal ref type for React 18+ compatibility
2026-02-10 16:48:14 +00:00
admin ab42a5edf7 Ralph iteration 6: work in progress 2026-02-10 16:42:15 +00:00
admin 875bb7fa21 docs: Update progress for Task 7 completion 2026-02-10 16:41:33 +00:00
admin 0ffc71f110 feat: Build Skills section with SVG circular gauges
- Create Skills.tsx with three categories (Technical, Clinical, Strategic)
- Add SkillGauge component with animated circular SVG progress
- Create useScrollReveal.ts hook for IntersectionObserver-based animations
- Staggered gauge fill animations (100ms delay per skill)
- Exact 18 skills with percentages from concept.html
- Hover effects matching concept.html styling
2026-02-10 16:39:39 +00:00
admin 293e292698 Ralph iteration 5: work in progress 2026-02-10 16:34:23 +00:00
admin d42d1d0b26 docs: Update progress for Task 6 (Hero component) 2026-02-10 16:34:06 +00:00
admin e5042260c1 feat: Build Hero section component (Task 6)
- Create Hero.tsx with name, title, location pill, summary paragraph
- Add four vital sign metric cards (10+ Years, Python/SQL/BI, Pop. Health, NHS N&W)
- Implement staggered entrance animations with Framer Motion
- Add hover elevation effects on vital cards
- Responsive design with flex-wrap for mobile
2026-02-10 16:32:55 +00:00
admin e59e501147 Ralph iteration 4: work in progress 2026-02-10 16:27:47 +00:00
admin 2ac69c7796 Update progress: Task 5 completed (FloatingNav component) 2026-02-10 16:27:29 +00:00
admin 3eb91a3cec Task 5: Build FloatingNav component with active section tracking
- Created useActiveSection hook using IntersectionObserver for scroll tracking
- Built FloatingNav with Framer Motion animated indicator dot
- Added section IDs to App.tsx for scroll targets
- Added scrollbar-hide utility and smooth scroll to index.css
2026-02-10 16:25:14 +00:00
admin 80e4efbcb2 Ralph iteration 3: work in progress 2026-02-10 16:13:49 +00:00
admin 60b005cf3b Update progress: Task 4 completed (ECGAnimation component) 2026-02-10 16:10:27 +00:00
admin a07557091a Task 4: Build ECGAnimation component with canvas-based heartbeat and name drawing 2026-02-10 16:08:07 +00:00
admin f41c0189cc Ralph iteration 2: work in progress 2026-02-10 16:00:57 +00:00
admin 77c03144a9 Task 2 & 3: Set up project structure and build BootSequence component
- Task 2: Project structure and types already complete from Task 1
- Task 3: Create BootSequence component with Framer Motion
  - 14 boot lines with 220ms staggered delays
  - Terminal typing animation with opacity/translateY transitions
  - Blinking cursor using CSS animation
  - AnimatePresence for 800ms exit fade
  - Total boot time ~4.28s matching concept.html
- Update App.tsx to use BootSequence with phase transitions
2026-02-10 15:59:44 +00:00
admin 17ffd237a2 Ralph iteration 1: work in progress 2026-02-10 15:48:45 +00:00
admin f140c16881 Task 1: Initialize React project with Vite, TypeScript, Tailwind
- Scaffolded project with React 18, Vite, TypeScript
- Configured Tailwind CSS with custom design tokens (teal, coral, ecg colors)
- Added Framer Motion and Lucide React dependencies
- Set up Google Fonts (Fira Code, Plus Jakarta Sans, Inter Tight)
- Created TypeScript interfaces for CV data types
- Added utility function for skill gauge calculations
- Quality checks passing: typecheck, build, lint all clean
2026-02-10 15:39:29 +00:00
admin 06a312fbb7 Ralph iteration 2: work in progress 2026-02-10 15:15:45 +00:00
admin 4c1af9ecaf Ralph iteration 1: work in progress 2026-02-10 15:15:41 +00:00
admin d788d2e4cf Mark Task 9 complete, update progress log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:27:23 +00:00
admin 4d27cb5dc1 Task 9: Implement scroll animations and responsive design
- Add IntersectionObserver-based scroll reveal for all sections
- Sections start at opacity:0/translateY(24px), animate to visible on scroll
- Hero section immediately visible (above fold, no animation)
- Staggered child card/item animations with 60ms delay per item
- Animations fire once only (observer unobserved after reveal)
- Fix hover transform specificity for cards, education, projects
- Fix vital-card hover at hero-level specificity

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:26:44 +00:00
admin 7365d2cbac Mark Task 8 complete, update progress log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:21:41 +00:00
admin c0dac8fe0c Task 8: Build education, projects, contact, and footer sections
- Education section with 2-column grid: MPharm (Hons) UEA and Mary Seacole Programme
- A-Levels displayed below education cards
- Projects section with 2x2 grid and gradient hover border effect
- PharMetrics project includes live link to medicines.charlwood.xyz
- Contact section with 4-column grid: phone, email, LinkedIn, location
- Footer with decorative ECG waveform SVG and attribution text
- Responsive: projects 1fr at 768px, education 1fr and contact 2x2 at 480px

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:21:11 +00:00
admin e6f416410a Mark Task 7 complete, update progress log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:09:04 +00:00
admin a0fc24534a Task 7: Build experience section with timeline and ECG decoration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:08:38 +00:00
admin 07ec6a6121 Mark Task 6 complete, update progress log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:05:29 +00:00
admin 4940beb923 Task 6: Build skills section with circular SVG progress gauges
- Skills HTML/CSS/JS already built in prior iterations; this commit
  polishes: coral hover background for clinical skills, moves
  text-align:center to .section-heading class (removes inline style),
  confirms responsive gauge sizing at 480px
- 18 SVG circular gauges across 3 categories (Technical/Clinical/Strategic)
- Scroll-triggered IntersectionObserver animates stroke-dashoffset
  staggered by 100ms per gauge
- Clinical skills use coral color; technical/strategic use teal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:05:08 +00:00
admin 2f48f1f1d3 Mark Task 5 complete, update progress log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:47:34 +00:00