107 Commits

Author SHA1 Message Date
soconnor e0e78c3900 feat: add Pommersheim Award, update GPA, add conference talk link
- Add James M. Pommersheim Research & Innovation in Engineering Award to awards data and home page Recognition section
- Update Bucknell GPA from 3.67 to 3.71
- Add YouTube link to IEEE RO-MAN 2025 conference talk
- Add ExternalLink icon to conference card renderer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 12:55:38 -04:00
soconnor bb4957f349 add bucknell final stuff 2026-05-18 22:56:23 -04:00
soconnor 6c8d6bce98 fix next-env.d.ts 2026-05-11 02:50:26 -04:00
soconnor 6a36cc699f chore: update dependencies to latest versions for next and react 2026-05-11 02:22:51 -04:00
soconnor b97d20c1fc feat: update components and dependencies, enhance UI elements
- Changed style in components.json from "new-york" to "radix-mira" and updated baseColor to "mist".
- Added new properties: iconLibrary, rtl, menuColor, menuAccent, and registries in components.json.
- Updated next-env.d.ts to import routes from the correct path.
- Added new dependencies: @base-ui/react, @icons-pack/react-simple-icons, @lucide/lab, and updated existing ones.
- Enhanced PDFViewer component in CVPage with client-side rendering.
- Modified Tabs component in CVPage for better layout.
- Added slidesUrl handling in ProjectsPage for displaying presentation links.
- Refactored Avatar component to use Radix UI and added AvatarBadge and AvatarGroup components.
- Refactored Breadcrumb component for better structure and readability.
- Refactored DropdownMenu component to use Radix UI and improved accessibility.
- Updated Skeleton component for better styling.
- Added slidesUrl property to Project interface and updated project data.
- Added new images and PDF files for F1 Halo removal project.
2026-05-11 02:21:57 -04:00
soconnor 4b0aa4b2a8 Update F1 halo removal project: rename course ref and add GitHub link
- Description: "CSCI 365 final project" → "Final project for Image Processing and Analysis"
- GitHub repo renamed csci365_final_project → f1-halo-removal
- Added gitLink: https://github.com/soconnor0919/f1-halo-removal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 02:08:42 -04:00
soconnor 6e63c992a8 Add LLM fine-tuning pipeline and F1 halo removal projects
- LLM fine-tuning & on-device inference pipeline: LoRA fine-tuned Llama 3.2
  3B, GGUF quantization, llama.cpp evaluation on 106-case held-out set.
  Results: +0.192 recall over generic baseline at ~half the latency. Domain
  intentionally omitted.
- F1 Halo Removal (CSCI 365 final): classical CV mask detection (Sobel-Y
  arch, probe-and-fit keel) + LaMa spatial inpainting vs RAFT temporal
  propagation on 300-frame 60fps visor-cam footage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 02:06:50 -04:00
soconnor 7e3821d0fa Switch dark mode from class-based to CSS media queries
- tailwind.config.ts: darkMode "class" → "media"
- globals.css: .dark { } → @media (prefers-color-scheme: dark) { :root { } }

All dark: utility classes in components work automatically with either mode.
No toggle UI existed, so nothing else to remove.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 02:04:25 -04:00
soconnor 1bfa45ea1b Add Apple liquid glass inspiration and design constraints to blog post 2026-05-11 02:02:18 -04:00
soconnor ba9ce7d790 Fix: grid is a line grid, not a dot grid 2026-05-11 02:01:43 -04:00
soconnor ecafd683f9 Rewrite design system blog post in plain, direct voice
Previous version was full of designer-speak ("the heartbeat of this theme",
"digital garden", "a statement about how I view software"). Rewrote to match
the author's actual writing style: direct, structural, explains the why behind
decisions, honest about issues encountered. Same content, stripped of the
metaphors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:54:25 -04:00
soconnor 71bf4d89fa Replace Hotlap with beenCMS in currently building section
Hotlap is a friend's project; swapped for beenCMS, a white-label Next.js
CMS engine (fork-once, block editor, runtime theming, SQLite) which is
Sean's own active project.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:52:16 -04:00
soconnor 94a1592dff Redesign homepage: editorial layout with current focus + featured work
Replaced the dense mini-CV homepage with an editorial landing page:

- Hero: punchy one-liner ("Researcher & builder. HRI at BU, motorsports
  software at Riverhead.") instead of a paragraph bio
- Currently building: Riverhead Raceway mobile app (racehub-app) and
  Hotlap (Go monorepo race event management platform)
- Featured work: Honors thesis, IEEE RO-MAN 2025, Riverhead Raceway site,
  beenvoice — each with description, tags, and a direct action button
- Education: compact 2-col grid (BU + Bucknell) replaces the full card layout
- Explore: same 3-col nav to Projects / Publications / CV

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:47:14 -04:00
soconnor 98196748ae Define card utility classes and fix equal-height grid cards
Previously grid-equal-height, card-full-height, card-content-stretch, and
card-hover were all undefined class names doing nothing. Now defined:

- .grid-equal-height > * { height: 100% } — forces every grid child to fill
  its row height, making adjacent cards stretch to match the tallest sibling
- .card-full-height { h-full } — card fills its wrapper
- .card-content-stretch { flex-1 } — CardContent grows to push footer down
- .card-hover — subtle shadow + ring lift on hover

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:42:51 -04:00
soconnor fe52916d84 Implement design system: blob background, glassmorphism, softer corners
- globals.css: add blob keyframe animation (9s ease-in-out infinite)
- layout.tsx: add fixed background layer with 24px grid pattern and two
  animated blurred blobs (primary/5 color) that drift behind all content
- Navigation.tsx: bg-background/80 + backdrop-blur-md + border-border/50
- Sidebar.tsx: same glassmorphism treatment
- card.tsx: rounded-2xl (up from rounded-lg), bg-card/80 + backdrop-blur-sm
  so the blob color bleeds subtly through card surfaces

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:38:35 -04:00
soconnor 1e4704ed3f Scale up radix-mira component sizes for a portfolio context
The new shadcn 'radix-mira' style targets dense dashboards. For a personal
academic site the ultra-compact defaults (10px badge, 12px button/card,
14px card title) read as broken. Updated to readable sizes:

- card.tsx: text-xs/relaxed → text-sm base; CardTitle text-sm font-medium
  → text-base font-semibold leading-tight; CardDescription text-xs → text-sm
- badge.tsx: text-[0.625rem] h-5 px-2 → text-xs h-6 px-2.5
- button.tsx: text-xs h-7 px-2 → text-sm h-9 px-4 (default size)
- tabs.tsx: TabsTrigger text-xs px-1.5 → text-sm px-3; TabsContent
  text-xs/relaxed removed; TabsList h-8 → h-10

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:34:15 -04:00
soconnor 4dc9d5db9b Fix theming and spacing: alpha-value colors, remove v4 CSS syntax, clean card padding
- tailwind.config.ts: add <alpha-value> to all color definitions so opacity
  modifiers (ring-foreground/10, outline-ring/50) render correctly
- globals.css: move @keyframes out of @theme inline block (v4-only, ignored
  by browser in v3); remove @custom-variant block (also v4-only)
- page.tsx, experience/page.tsx, publications/page.tsx: remove pb-3 from
  CardHeaders and pt-0 from CardContents — new shadcn card uses gap-4 so
  these overrides added extra space instead of removing it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:27:48 -04:00
soconnor d5dba3cc09 Update content for graduation, BU master's, and thesis
- Graduate from Bucknell May 2026, starting MS CompE at Boston University
- Add honors thesis to publications with abstract and PDF
- Update Dean's List to 7 semesters (Spring 2026)
- Fix GPA display: Engineering GPA 3.92 / Overall 3.67
- Fix breadcrumb hidden under navbar (pt-16 on content wrapper)
- Fix Research Interests card extra top padding
- Update research interests blurb to grad-school voice
- Save dev server config to .claude/launch.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 01:18:39 -04:00
soconnor 42e2898223 update readme to mention bun 2026-04-24 13:14:34 -04:00
soconnor bf9493a06d Update content for graduation and pin package versions 2026-04-24 13:04:31 -04:00
soconnor b31554a4dd Add papa video 2026-04-23 14:06:22 -04:00
soconnor 65d6fbb95a hotfix: patch react2shell 2026-01-17 22:50:43 -05:00
soconnor 4f9602a242 refactor: fix linting and typechecking errors 2025-12-11 19:41:36 -05:00
soconnor 962f2ad7ee chore: update linting script for next.js 16 2025-12-11 19:16:24 -05:00
soconnor 5c9d564c6d fix: update badge wrapping logic for blog 2025-12-11 19:14:01 -05:00
soconnor 1fe7aa1130 feat: Replace Next.js Image component with ImageWithSkeleton and add containerClassName prop for styling. 2025-12-10 03:23:48 -05:00
soconnor 50536727a4 feat: Add ImageWithSkeleton component and refactor Sidebar to use it. 2025-12-10 03:20:46 -05:00
soconnor 82b32b70bd feat: implement dynamic breadcrumbs with custom titles for pages and update dependencies 2025-12-10 03:15:53 -05:00
soconnor 49243758c9 feat: Implement new 'soft, translucent, and alive' design system with updated UI components, navigation, and a new blog post. 2025-12-10 03:08:08 -05:00
soconnor 347a61e1bf content: update images 2025-12-10 02:16:01 -05:00
soconnor 00452e0b36 refactor: rename link property to websiteLink in project data 2025-12-10 02:14:42 -05:00
soconnor d9b9be4695 content: Add nand2tetris screenshot, slim tags 2025-12-10 01:51:10 -05:00
soconnor 4210273cf6 feat: Expand and refine Nand2Tetris blog post with detailed reflections, code examples, and project links, and update an image. 2025-12-10 01:43:18 -05:00
soconnor 124e74efbe content: refine project long descriptions for clarity and conciseness. 2025-12-10 01:10:00 -05:00
soconnor 84af917abf feat: add PDF2MD project with associated image and update Lewisburg Coffee project link 2025-12-10 01:08:21 -05:00
soconnor daddec4a2a feat: add Lewisburg, PA Coffee Map project and its associated image 2025-12-10 01:03:26 -05:00
soconnor db666a0f2d hotfix: update next/react to patch RCE exploit 2025-12-03 20:46:10 -05:00
soconnor 693e0eff22 Blog 2025-12-03 15:26:05 -05:00
soconnor 77fc803f75 chore: remove script for updating PDFs. 2025-12-01 01:02:11 -05:00
soconnor 86c9bde23e refactor: Migrate CV/resume PDFs to external hosting and update Next.js build configuration. 2025-12-01 01:01:43 -05:00
soconnor 4f1493d7be feat: Upgrade Next.js to v16 and React to v19 with corresponding type and dependency updates. 2025-11-30 18:27:01 -05:00
soconnor ad8cae7363 feat: Replace Vercel analytics with Umami and update CV/resume PDFs. 2025-11-30 18:19:04 -05:00
soconnor 61bfb74712 Fix apostrophe in Dean's List badge rendering 2025-09-08 23:56:24 -04:00
soconnor 18b2b77632 Add experience page and improve CV data structure
- Add /experience page with research, teaching, professional, and
leadership sections, technical skills, awards, conferences, and
coursework - Refactor data.ts to include structured Experience,
Education, Award types - Update homepage to show research interests,
education, experience highlights, awards, and improved quick links -
Improve card layouts and text wrapping for consistency - Add
"Experience" to navigation and breadcrumbs - Enhance projects and
publications pages for better readability and layout - Update global
styles for card and grid alignment
2025-09-08 23:43:16 -04:00
soconnor 12d415b69b Update .gitignore 2025-09-08 21:17:25 -04:00
soconnor a86dd857c0 Serve PDFs locally and automate updates from GitHub
- Add scripts/update-pdfs.js to download latest PDFs - Add cv.pdf and
resume.pdf to public/publications - Update build script to run
update-pdfs before next build - Switch CV and resume URLs to local files
in cv/page.tsx - Add .vercel to .gitignore and vercel.json for
deployment config - Update Next.js to 15.5.2 in package.json and
bun.lock - Update next-env.d.ts and tsconfig.json for new types and
script exclusion
2025-09-08 21:17:23 -04:00
soconnor 30805b7bb9 Remove custom analytics in favor of Vercel defaults
The changes remove custom analytics tracking in favor of using Vercel's
default page view tracking functionality.
2025-08-27 13:25:21 +02:00
soconnor 9bac3cf33c Fix analytics naming and BibTeX syntax errors
The changes fix a missing comma in the BibTeX file and updates analytics
event names to better reflect user interactions ("View" -> "Click")
2025-08-27 13:22:38 +02:00
soconnor 396d83e067 Add presentation slides for ROMAN 2025 paper 2025-08-27 13:19:24 +02:00
soconnor e47a984395 API routes for publications 2025-08-27 10:21:14 +02:00