GitHub Pages Deployment
Standing up this organization site with GitHub Pages, Tailwind, and Anime.js — plus custom-domain mapping through Cloudflare for extra credit.
→ this site// student workspace
The dedicated home for my class projects, lab notes, and programming experiments — a satellite of the main jinfusion.dev portfolio.
Standing up this organization site with GitHub Pages, Tailwind, and Anime.js — plus custom-domain mapping through Cloudflare for extra credit.
→ this siteLecture notes and study guides, published as they're written. Organized by course and week for quick reference during finals.
A longer card to give the masonry layout its natural stagger — swap this copy out for a syllabus summary or reading list.
→ coming soonSix builds for Introduction to Programming: a semantic resume, a theme toggle, and four JavaScript exercises. Every one is live, public, and documented.
→ open the 12 projectsSmall, focused exercises from weekly lab sessions — each with source, a short retrospective, and what I'd do differently.
Kept intentionally scrappy: labs are for iteration speed, not polish.
→ coming soonOff-syllabus explorations sparked by class topics — the rabbit holes worth documenting.
→ coming soonReserved for whatever the semester throws at it.
Landmark elements, sequential headings and WCAG 2.1 AA contrast — plus the Open Graph and SEO layer.
Light/dark swap driven by a single CSS class, with the colour fade handled in CSS rather than JavaScript.
A greeting function wired to live inputs, defaulting sensibly when the user leaves a field empty.
String-to-number conversion done properly, so the arithmetic adds instead of concatenating.
Real-time rule checking with plain loops and comparisons — no regular expressions anywhere.
Defensive programming: blank names, negative counts and fractional tickets all refused before any maths runs.
An array held in memory, re-rendered as list items on every add — and audited for the stray commas that array-to-string conversion smuggles in.
Purging a deliberately broken inventory: wrong types, blank strings and error sentinels, without over-filtering the real products.
An array of objects as the single source of truth. Filters change state, never the DOM — and the filter copies the array while deliberately sharing the objects inside it.
A code review challenge: four loose globals and two copies of the same screen-painting code, collapsed into one state object and one render function.
Notes that survive a refresh, via JSON.stringify into LocalStorage — rendered with textContent, because a persisted innerHTML payload re-runs on every load.
Live data over the network with async/await, plus the parts that actually matter: a flaky third-party proxy, HTTP errors fetch does not throw on, and restoring the button when it all fails.
// twelve sites, thirteen assignments — "Deploy Your Semantic Resume to the Wild" ships from the resume repo, which is also mirrored on Netlify and Cloudflare.