# Built the company's icon and favicon sets from two hand‑made drawings, with every derived asset regenerated by script and a check that fails when a derived file was committed before its source.

July 2026

**Situation.** A small company's visual identity is usually bought, generated, or assembled from stock, and the result is an identity that belongs to nobody. The alternative problem is worse: hand‑made artwork that exists only as exported files, where the source drawing is lost, the exports are edited directly, and within a year the versions in use disagree with each other and no original remains to settle it.

**Task.** The identity had to be drawn rather than sourced, and the pipeline from drawing to published asset had to be reproducible, so that every file on the site is derivable rather than kept.

**Action.** Two hand‑made drawings sit at the root of the generated artwork — the company mark and the cog that became the favicon — and every icon the site publishes is produced from them. The mark is a raster drawing; the cog is a vector. From these, scripts produce every derived form: the favicon set in its required sizes, the touch icons, and the launch images at each device size. The generation is a task anyone can run, so the question "where did this file come from" has an answer that is a command. The staleness check is the piece that makes it hold: it compares the commit date of every derived asset against its source and fails when a derived file was committed first, which catches the exact failure this design exists to prevent — someone edits the source, forgets to regenerate, and the published site keeps showing artwork that no longer matches the original. The rule that derived files are never edited by hand is stated where the sources live.

**Result.** Two drawings produce every published icon, regeneration is one command, and a stale asset fails the build. The trade‑off is a hard dependency on the toolchain: the derived files are committed so the site builds anywhere, but changing the identity requires the generation tooling to still work, and a source format that stops being readable takes the whole identity with it.

---

- Role: Brand and Identity Designer
- Categories: [Web Development](https://software.engineer.company/categories/web-development/), [Automation & CI/CD](https://software.engineer.company/categories/automation/), [Testing & QA](https://software.engineer.company/categories/testing/), [Design Systems & UI](https://software.engineer.company/categories/design-systems/), [UX / UI Design](https://software.engineer.company/categories/ux-ui/), [Brand & Marketing](https://software.engineer.company/categories/brand-marketing/)
- Services: [Website Development & CMS](https://software.engineer.company/services/web-development/), [UI/UX Design & Design Systems](https://software.engineer.company/services/ui-ux-design/), [Brand, Marketing & SEO](https://software.engineer.company/services/brand-marketing/)

<https://software.engineer.company/portfolio/built-the-visual-identity-from-two-drawings-164/>
