p4 ~ specimen π¬
introduction π
whatβs a type specimen? π€
when a type foundry releases a font, they usually release a specimen to showcase the font. this is a visual thing ~ website, publication, video, etc. ~ that showcases the fontβs design and functionality.
letβs take a look at a couple of examples of real-world digital type specimens:
- 1gt maruβ ~ a website full of life.
- 2commit monoβ ~ a website minimicking a computer terminal.
- 3ozik softβ ~ a website thatβs basically just a poster (but a really cool poster).
- 4trekkerβ ~ a website providing an experimental experience evoking the fontβs forms.
- 5redactionβ ~ website evoking the fontβs themes.
why make a specimen? β
there are two primary reasons for creating a type specimen:
- 1r&d ~ as a proof-of-concept for your fontβs usefulness and potential applications. think of this like what weβve done in the course so far: make websites to test our fonts.
- 2marketing ~ to advertise your font so that other people actually want to use it. for example, if you want to sell your font.
specimens + us π€
in this course so far, youβve created websites that showcase custom fonts. technically speaking, youβve already created 3 type specimens:
| βοΈ project | π€ font | π specimen |
|---|---|---|
| π§Ά p1 | pixel font | ASCII art website |
| π p2 | variable component font | web-based performance |
| π£οΈ p3 | variable open-source remixed font | digitally typeset article |
i provided you processes for each of these projects as a way to get you to think about what a font is capable of:
| βοΈ project | π§ͺ process | π§ meaning |
|---|---|---|
| π§Ά p1 | type + code = textile | fonts are a unique material capable of drawing forms and weaving patterns |
| π p2 | type + code = performance | fonts can come to life and enact time-based or interactive experiences |
| π£οΈ p3 | type + code = dialectic | fonts can add nuance and meaning when used in articles or other forms of writing |
for your final project, i am asking you to come up with, propose, and demonstrate a new process. or, in other words:
type + code = ...something?
letβs take a look at some fonts that have prototyped unique processes combining type and code (a few of which youβve seen before):
type + code = brick wall π§±
what if a font could entirely fill up ALL the space provided? thatβs what fit by djrβ does. its variable axis is a hybrid of a weight and width axis, allowing the font to resize precisely to fill whatever space itβs in.

type + code = logo π
for the mellon foundationβ, pentagram created a variable font containing just the letter M, which served as the organizationβs logo. except, this M included 5 variable axes, enabling numerous variations on the logoβs design.

type + code = optimization π₯
google developed a variable version of their font roboto called roboto flexβ. what makes this variable special are its 12 (yes, TWELVE) variable axes.
to achieve this, the font has 85 font masters, all packed within a pretty tiny 1.7MB font file. meanwhile, if we had to export this font as static font files (i.e. not a variable font), we would end up with 85 font files totaling 4.8MB.
so, we end up with three clear benefits:
- 1the exported font file is much smaller.
- 2we donβt have to individually add 85 font files to our website, and can add just the one variable font file.
- 3we get an ENORMOUS design space to work within given all the possible variable permutations.

type + code = gradient π
*evolved by natureβ creates a font weight gradient that moves away from / toward any asterisk. the logo uses this directly, but an asterisk can be played anywhere in text and the font will dynamically update to add the appropriate gradient.

type + code = data viz π
dmitry ivanovβs linefontβ appropriates font technology to make it exceedingly easy to draw or customize line graphs. see also: wavefontβ.

type + code = music viz π₯
i created music boxβ to respond to and visualize a beat. itβs as simple as that.

iβm not the only one. for their branding of sf symphonyβ, collins created a variable font also meant to evoke music.

in summary... π
by now, you should be getting the point. combining type and code introduces numerous possibilities for new forms, experiences, and meanings.
so, now itβs your turn!
project description π
prompt βοΈ
propose a new process for combining type and code using the format type + code = _
demonstrate this process by creating the following:
- 1an original font (variable optional)
- 2a web-based type specimen (using your original font)
there are no specific requirements for this project, as long as you create an original font and a website to showcase it.
since this project is open-ended and self-directed, you will need to come up with a way to approach it. here are two options:
bottom-up π
this is what weβve done so far this semester. learn a new skill or technology, and then explore all the possibilities that emerge from there.
top-down π
this is the opposite approach. start from an idea, and then figure out what you need to do to achieve that idea.
progress reports π
each week leading up to the final crit, you will give a progress report showing updates on both your font and your website.
each weekβs presentation should be created as a new are.na channel. details:
- 1create an are.na channel called
type+code f26 / week #(use the number of the week youβre presenting during). - 2start with a text block overview of your progress.
- 3add at least 3 sources of inspiration you were looking at that week. at least one should be a font-related project, and at least one should be a web-related project.
- 4take 10β20 screenshots or recordings of your type design / web programming work. put them in the order you want to present them during class.
- 5if you have them, add live links to working prototypes.
- 6add your are.na channel to the class channel hereβ
- 7use are.naβs presentation mode for sharing your channel in-class.
this presentation should be ~5min. weβll take another ~5min during class to give you feedback (for a total of ~1.5hr of sharing in class).
letβs take a look at an example are.na channel for this project hereβ
ai is allowed (if you want to use it) π€
ai is becoming an industry-standard tool for web development. you may have conflicted feelings about its use, whether it relates to environmental, plagiarism, or other concerns. those are valid concerns. BUT, i still need to make sure youβre prepared to work in the real world, and not using ai puts you at a major disadvantage.
in this project, iβll demonstrate several ways of working with ai that achieve the following:
- βhigh quality outputs
- βdesigns that speak to your unique creative voice
- βlearning new skills while youβre prompting ai
that being said, AI IS OPTIONAL!
if you do use ai, you must acknowledge that youβre using it and explain how youβre using it. additionally, the expectations for your work will be higher if youβre using ai.
if you do NOT use ai, no such disclaimers are required.
javascript bootcamp π
each week, iβll also be giving you weekly javascript tutorials. iβll use these tutorials to introduce new technologies and tools that you may want to incorporate into your final projects.
after each tutorial, youβll be asked to complete an exercise demonstrating your understanding of the new topics. these exercises will count toward your final grade.
note 1: javascript is NOT required for the final project!
note 2: ai is NOT allowed for the javascript exercises!
grading π―
this project is worth 50% of your grade, so itβs graded out of 50 possible points. hereβs how that breaks down:
| category | points | assessment |
|---|---|---|
| javascript exercises | 15 | completion of weekly in-class javascript exercises |
| progress reports | 25 | completion of weekly presentations |
| final deliverable | 15 | the final thing you come up with |
timeline β³
every week from now on, our classes will look like the following:
- 1π progress reports
- 2π€ some kind of ai exercise/discussion
- 3π javascript tutorial + weekly exercise requirement
week 7
- βπ crit p1β3
- βπ¬ kickoff p4
week 8
- βπ progress reports
- βπ€ ai exercise
- βπ javascript tutorial
week 9
- βπ progress reports
- βπ€ ai exercise
- βπ javascript tutorial
week 10
- βπ progress reports
- βπ€ ai exercise
- βπ javascript tutorial
π¦ thanksgiving break, no classes
week 11
- βπ progress reports
- βπ€ ai exercise
- βπ javascript tutorial
week 12
- βπ progress reports
- βπ€ ai exercise
- βπ javascript tutorial
π reading period, no classes
π liberal arts exams, no classes
week 13
- βπ final crit!
- ββ course evals
revisions due