Skip to content

portfolio-site

Astro 5 static portfolio for job applications. Deploys to GitHub Pages on push to main. Repo rules live in the repo's CLAUDE.md; this note is for history and open questions.

Status

Private on GitHub, not live. angelEmbeddedEra/angelembeddedera.github.io, one commit, working tree clean. Pages is not enabled and the deploy workflow's push: trigger is commented out, so nothing builds or publishes yet.

Four case studies written and rendering: livestock-robot-controls (client work, anonymised), universal-tester, boost-gauge, cricket. Nine pages build clean.

Open

See ~/Notes/tasks.md — this section is now generated from the task register.

Ideas

Content

  • A bike computer or run pacer as the fifth case study. Pacer (Flutter), Bike-Computer and 5k (SwiftUI) are all empty scaffolds today. Any one finished would carry the Ironman line on About as a project instead of a sentence — personality and engineering in one artifact. Best available next build.
  • Part lifecycle checker (in progress, no repo yet) — DigiKey + Mouser APIs checked against the KiCad libraries, flagging parts that have gone NRND or obsolete so a design isn't started on a part that's already dying. Categorises as software on the site, not embedded. Strong case study because it's the supply-chain half of the manufacturing story already told across the other pages: an NRND part in a board you build in batches is a production stoppage, not a datasheet footnote. Needs a number to land — parts flagged, or a design it caught before a build. Prior art to check before writing an aggregator (rules #1/#3): KiCost already queries distributors from a BOM, and Nexar/Octopart returns lifecycle across both distributors in one API instead of maintaining two.
  • ScaleBuddy — 4720 lines of firmware and 41 photos, the largest untouched source. Adds a non-cow, non-car domain.
  • A "how it's made" page, separate from the case studies: pick-and-place, stencil, trays, jigs, labelling. The differentiator is that one person does electronics + firmware + mechanical + manufacturing, and that story is currently split across four pages instead of told once.
  • Short clips over stills. The pick-and-place video does more in five seconds than any paragraph on that page. Same trick suits the tester and the cricket.

Site

  • Uses/bench page — P&P, reflow, Siglent PSU/DMM, printers, laser. Cheap to write and concrete proof of the manufacturing claim.
  • Dark-mode-aware treatment for any published KiCad SVG — transparent-background exports go invisible on the dark theme.
  • RSS or a short notes feed if the site ever becomes something he updates.

Career

  • File a ZoomInfo removal request — it publishes the work email and phone.
  • GitHub profile is bare — no name, bio, or location, and the site links straight to it. A profile README is 20 minutes and it's the second thing a hiring manager opens.
  • Don't link Strava if triathlon content grows. Routes starting at the front door publish a home address by implication — same class of leak as the EXIF GPS.

Decisions

  • Repo name stays angelembeddedera.github.io so the site serves from /. decisions
  • Client stays anonymous on the site ("Equine training equipment manufacturer"), but this is a courtesy, not protection — three public repos under his own accounts name the client and the site links his GitHub profile. Decided 2026-08-31 to leave them.
  • Published media is EXIF-stripped by re-encoding through PIL. sips -Z and PNG round-trips both preserve GPS; mdls reports stale cached answers. Working recipe is in the repo CLAUDE.md.

Gotchas

  • .pcard sets display:flex, which outranks the UA [hidden] rule — global.css must keep [hidden]{display:none!important} or the category filter silently breaks.
  • .prose ul sets display:flex at higher specificity than a plain class, which silently collapsed the sound picker's grid to one column. Check computed styles, not screenshots.
  • Markdown passes HTML comments straight into the built page. astro.config.mjs strips them in remark and rehype. The plugin does not cover .astro files — Astro comments do reach public HTML.
  • Laptop and monitor screens in bench photos are content. One shot had "COW ROBOT PRODUCTION TEST STATION" legible on screen; blurred before publishing.

Log

  • 2026-09-08 — Wrote publishing to-do and ideas into this note.
  • 2026-08-31 — Committed and pushed to a private repo; Pages left disabled and the workflow push: trigger commented out so it can't build or email failures.
  • 2026-08-31 — Added the Cricket case study, a KiCad 3D render of board 008, and a JS-optional sound picker (native <audio controls> fallback, ten sounds; Mario and arcade tunes excluded for IP, bomb countdown for tone).
  • 2026-08-31 — Set real name to Angel G. Diaz Oquendo, added LinkedIn and Raleigh location, wrote About from the repos rather than from a data broker.
  • 2026-08-31 — Found and fixed three leaks: GPS in two published photos, the client's name legible on a laptop screen in a third, and the whole CLAUDE.md strategy plus all TODO comments heading for a public repo. Split private material into CLAUDE.local.md (gitignored).