Changelog

Release history for EmbeddedDOESHire — ongoing development log covering platform infrastructure, design system, validation pipeline, and tooling.

Board Lifecycle

1 Total Commits
0 Days Active Lifespan
0 Scraped Listings
1 Human Board Maintainers

Location Filter

  • City-level location filter. Curated locations.json with 31 city entries replacing country-only filtering. Country and City now coexist as independent filter categories — jobs filter at city granularity while country grouping remains available.
  • Active location pills. Selected city filters appear as removable pills in the active filters bar alongside country and other categories.
  • Location filter UI redesigned. Split into Country and City subsections with independent search, toggle, and scrollable pill grids.
  • Location data pipeline. locations.json created as a curated lookup for 31 locations. extract-jobs.js enriches each job with location_slugs for city-level filtering and splits multi-location strings into individual entries.

Board Foundation

  • Search & filter system. Client-side Pagefind search with faceted filtering by work mode, experience level, company, location, tags, perks, salary range, and clearance. Sort by relevance, date, and compensation.
  • Job detail pages. Full job descriptions with schema.org JobPosting structured data, company profiles with Glassdoor, LinkedIn, Indeed, and Built In review links, and a report-flagging system for dead listings.
  • Contact form. Route-based messaging with General Inquiry, Post a Spec, and Say Hello. Inline validation, clipboard copy, crosshair toast notifications, and pre-loaded bug report templates via URL parameters.
  • Schema engine. JSON-LD for JobPosting, WebSite, Organization, CollectionPage, FAQPage, AboutPage, WebPage, and BreadcrumbList — all validated against schema.org. SafeJS escaping prevents double-encoding.
  • OG image pipeline. Build-time generation of job-specific and static OG images via Satori and resvg-js. Incremental caching skips already-rendered images.
  • Design system. Sutsu-inspired minimal aesthetic with Doto and Host Grotesk typography. Dark mode support, responsive layouts, and viewport-frame architecture.
  • Accessibility. Focus-visible indicators, skip-to-content link, aria-labels on all interactive elements, 44px touch targets, form validation with aria-invalid and aria-describedby.
  • Validation pipeline. Pre-commit hooks with auto-formatting and staged-file validation. 25 checks including description substance, boolean types, URL format, forbidden words, and slug uniqueness.
  • Build automation. Shell-scripted pipeline — extract, validate, generate stats, redirects, and OG images, then Hugo build and Pagefind index. Static files cleaned every build.
  • SEO infrastructure. Automatic sitemap generation, canonical URLs, hreflang per location country, meta descriptions on all pages, robots.txt with Sitemap directive.
  • Security headers. Content-Security-Policy, HSTS (2-year preload), X-Frame-Options DENY, X-Content-Type-Options nosniff, strict Referrer-Policy, and Permissions-Policy.
  • Data-driven review links. Glassdoor, LinkedIn, Indeed, and Built In URLs stored as exact URLs in company data rather than constructed from slug. Indeed added as a fourth review platform. Old entries without review_links skip the row.
  • Companies populated. NXP Semiconductors, Arm, Bosch, Espressif Systems, Infineon Technologies, Nordic Semiconductor, Raspberry Pi, Renesas Electronics, STMicroelectronics, and Texas Instruments added with review links and normalized SVGs.
  • validate-company.js updated. review_links added to known fields with URL validation per platform. Empty arrays allowed. Empty review link values rejected.
  • Stats now counts active jobs only. Companies and locations without active listings no longer contribute to totals.
  • add-company skill & command updated. Schema reference, anti-hallucination rules, and question list all include review link fields with global domain normalization instructions.
  • Sample data cleared. All 50 sample job postings and 42 sample company profiles archived to .sample.bak/ directories. Board now starts fresh with zero listings, ready for manually curated real roles.