Skip to content
View jxgreer1's full-sized avatar
💭
figuring it all out
💭
figuring it all out

Highlights

  • Pro

Block or report jxgreer1

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jxgreer1/README.md
Film photographs by Jack Greer

Jack Greer

Industrial Engineering student  ·  Co-op at Tesla  ·  Film Photography nerd

Website Instagram LinkedIn GitHub Email

See the full site →


I study industrial engineering at Kettering, which runs on alternating terms, so I spend three months in class and three months working, back and forth.

Currently I co-op at Tesla in the Bay Area. I'm a PCBA SIE, and I've built two apps for the team. One tracks capacity across all of our PCBA suppliers, and the other is a central hub where anyone can follow a part's whole process, from the first design all the way to end of life. I go on site as well and solve problems daily to help keep lines running.


Experience  click to expand

Tesla  ·  Supplier Industrialization Engineer, PCBA  ·  Palo Alto, CA  ·  Jan 2026 to now

Defined and validated end-to-end production with contract manufacturers. Brought average PCB cost down 38% and cycle time down 73% across suppliers. I also built two apps for the team. One tracks capacity across all our PCBA suppliers by mapping EDI demand to line level PCBAs, so we catch utilization problems early. The other is a hub where the team can see a part's whole process flow, from first design to end of life.

Brembo North America  ·  Industrial Engineering Intern  ·  Jackson, MI  ·  Jan to Mar 2025

Moved outsourced production back in house and saved $200K a year doing it. Reworked the end-of-arm tooling so maintenance went from weekly to quarterly. 3D-scanned 75+ pattern plates and built color maps to track wear.

Advanced 3D Printing  ·  PCB Designer  ·  Los Angeles, CA  ·  Jan 2023 to Dec 2024

Designed small plug-and-play boards that became standard in high-speed custom printer builds. Sold over 500 of them and ran tier-3 support.

FRC 1836  ·  Captain  ·  Los Angeles, CA  ·  Jun 2023 to Jun 2024

Ran the school robotics team. Design instruction, tournament logistics, and keeping everyone pointed the same direction.

Education  click to expand

Kettering University  ·  BS, Industrial Engineering  ·  Flint, MI  ·  Oct 2024 to now

Junior, B-Section. Kettering alternates academic and work terms, so the degree runs alongside the co-op rather than after it.

Milken Community School  ·  Los Angeles, CA  ·  Aug 2020 to Jun 2024

Tools  click to expand
Design Altium, KiCad, Fusion 360, SolidWorks, Onshape
Validation Metrology, 3D scanning, PolyWorks, data analysis
Method Lean, 8D, A3, DFM for PCBA, PCB, and Flex
Stack Jira, Enovia, Git, Excel, LLM tooling
Photographs  click to expand

Shot on film, scanned, posted to @jgreerfilm. These update themselves, see How this repo works below.

Laguna Seca, Car Week 26Laguna Seca, Car Week 26 H A S S E L B L A DH A S S E L B L A D W O R K  S A T U R D A YW O R K S A T U R D A Y
Chevrolet at nightJun 23, 2026 MarinMarin. 03/26 FlintFlint

All of them, full size →

How this repo works  click to expand

This repo is two things at once: my GitHub profile, and the site itself.

index.html                         the whole site, no build step
ig/                                the photographs
tools/sync_instagram.py            pulls the latest posts
.github/workflows/sync-instagram.yml   runs it daily
DOMAIN.md                          how to point a domain here

Hosting. Settings › Pages › Deploy from a branch › main / root.

Getting every photo into the picker. Instagram only shows a logged out visitor the newest dozen posts, so the back catalogue has to come from the export: Instagram › Settings › Accounts Centre › Your information and permissions › Download your information › JSON, all time. Then:

python3 tools/import_export.py ~/Downloads/instagram-jgreerfilm.zip
python3 tools/build_gallery.py        # after picking, applies photos.config.json

The importer splits carousels, so every slide is selectable on its own, and keeps full size copies in ig/originals/. These are the files as you uploaded them, which beats anything the public CDN serves.

Choosing which photos show. Open picker.html (double click it, or visit the hosted copy). Every post is laid out as a grid: click to show or hide, switch to Manual order to arrange them, then copy the JSON it builds into photos.config.json and commit.

Auto keeps new posts flowing in and skips whatever you switched off. Manual order pins exactly the photos you picked, in your order, so nothing new appears until you go back to the picker.

Editing photos.config.json by hand works too:

{
  "mode": "auto",   // newest first, minus "hide", capped at "limit"
  "limit": 12,
  "hide":  ["DTgZ4mzkqg6"],            // drop individual posts
  "order": []                          // mode "manual": exactly these, in this order
}

A post code is the part after /p/ in its URL. Each sync also regenerates FEED.md, a table of every post with its code, and photos.manifest.js plus ig/thumbs/, which are what the picker reads.

Keeping the photos current. A scheduled Action reads the Behold feed nightly, archives anything new at full resolution, merges it into photos.manifest.js, then applies photos.config.json. Set it up by adding the feed URL as a repository variable named BEHOLD_FEED_URL (Settings › Secrets and variables › Actions › Variables). Without it the workflow exits cleanly and nothing moves. Run it by hand any time from the Actions tab.

The archive only ever grows. A free Behold feed returns a short recent window, so posts that scroll out of it stay in the manifest and remain pickable. Carousels are split into their slides; onePerPost keeps a six slide carousel from swallowing the page, and switching it off lets individual slides through.


Pinned Loading

  1. PandaExpress-Survey PandaExpress-Survey Public

    Panda express filler

    Python

  2. Windows-Destroyer Windows-Destroyer Public

    brick your windows machine!

    Python

  3. stmcculloch/arc-overhang stmcculloch/arc-overhang Public

    A 3D printer slicing algorithm that lets you print 90° overhangs without support material.

    G-code 480 83

  4. Help-Desk-Support Help-Desk-Support Public

    Need a help desk app? try this new Open Source one!

    HTML

  5. themilkenknights/Milken-Knights-Charged-Up themilkenknights/Milken-Knights-Charged-Up Public

    This is Milkens 2023 code for FRC's Charged Up game.

    Java 1 1

  6. jxgreer1 jxgreer1 Public

    special

    HTML