<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>MountainSide</title><link>https://ink.ashtonshu.page/</link><description>Mountains is thinking out loud. I figure things out by writing them down.</description><language>en</language><atom:link href="https://ink.ashtonshu.page/feed.xml" rel="self" type="application/rss+xml"/><item><title>We Will Never Be AI Natives</title><link>https://ink.ashtonshu.page/never-ai-natives</link><guid isPermaLink="true">https://ink.ashtonshu.page/never-ai-natives</guid><pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate><description>It starts with the term AI native: Those of us who learned to work before AI will never be natives, but neither were the people who founded new countries.</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/never-ai-natives/hero-passport-20261111.png" alt="An open passport. On the left page, NATIVE is crossed out; beside it are VISITOR, an ARRIVED stamp over IMMIGRANT, and an empty box marked FOUNDER. The photo page shows a smiling figure in a red scarf."><div><p>It starts with the term <em>AI native</em>: Those of us who learned to work before AI will never be natives, but neither were the people who founded new countries. This piece is mainly for anyone who learned their trade before AI arrived, and also for anyone who has ever felt uneasy about being an immigrant. It ends with three steps you can start on.</p>
</div><hr><p><em>About 6,600 words, 13 images, 27 minutes to read.</em></p>
<p>Murphy Zhai recently published <a href="https://stayasymmetric.substack.com/p/the-counterintuitive-truth-about"><em>The Counterintuitive Truth About Being AI-Native</em></a> on Substack. I had started on something similar a couple of years ago, only about immigration: an essay about what moving to another country does to the way a person sees things. I couldn&#x27;t get it to work then and never got past the opening. That post sent me back to the draft, and these past few years of living with AI have given me the missing half, so here it is.</p>
<p>I signed up for ChatGPT within its first couple of months and tried putting it to work, though back then it couldn&#x27;t do much for me. Later the tools could make changes themselves, but it wasn&#x27;t until the spring of 2026 that I started using command-line coding tools. If using AI is like moving somewhere new, I spent the first few years passing work through a window, and the spring of 2026 was when I moved in.</p>
<p>But arriving early is still <strong>only</strong> arriving. Neither date will ever be a birth certificate. Even if I carry a different passport one day, it will still say where I was born.</p>
<p>Yet <em>AI native</em> is a term you see everywhere now. It sounds natural enough: Some people grow up with AI, others pick it up halfway through life, and the two are probably different.</p>
<p>If you had been working for years before AI came along, and had your own habits down, hearing the term often enough can leave you a little uneasy. Is it too late for me to start? However hard I try, will I ever catch up with people who grew up with it?</p>
<p>In <a href="https://ink.ashtonshu.page/impressionists-hamburger-menu-vibe-coding">my last post</a>, I wrote that names are made by the people who use them. This one has caught on, I can&#x27;t make anyone stop saying it, and I&#x27;m not trying to correct anybody. I only want to raise one question and try to answer it: What does this name let us see, and what does it leave out?</p>
<h2 id="intro">The word <em>native</em> puts birth first</h2>
<p>There&#x27;s a well-known experiment on whether language affects how people think. English and Spanish speakers watched the same videos, half of them showing small accidents. For that kind of event, English tends to say “he broke the vase,” while Spanish more often says something closer to “the vase broke.” Asked afterwards, <a href="https://www.uolearninglab.com/wp-content/uploads/2014/11/FauseyBoroditsky_Whodunnit_PBR2011.pdf">the English speakers were better at remembering who did it</a>. The events were identical, yet habits of speech changed whom people noticed and remembered.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-vase-en.png" width="1774" height="887" alt="Two panels of the same accident. On the left, labelled &quot;He broke the vase.&quot;, a figure in a red scarf is drawn in bold lines and the broken vase beside it is faint. On the right, labelled &quot;The vase broke.&quot;, the broken vase is in bold and the figure fades into the background."><figcaption><span>Fig. 1.</span>One accident, two ways to describe it. English speakers more often say who broke the vase; Spanish speakers more often say the vase broke.</figcaption></figure>
<p>The philosopher Ludwig Wittgenstein put it more absolutely: “<a href="https://www.gutenberg.org/ebooks/5740">The limits of my language mean the limits of my world</a>.” I wouldn&#x27;t go that far. A different word doesn&#x27;t force a different thought, and psychologists have largely dropped the strong version of that idea. But once we&#x27;re used to a way of saying things, our eyes tend to follow it.</p>
<p>So what does <em>native</em> make visible? Origin. <mark>The word puts birth first</mark>: Once it is on the table, the first question becomes whether you were born here, not whether you live here now. Whatever you have done since you arrived has to wait its turn.</p>
<p>The metaphor isn&#x27;t mine. But I moved to Canada as an adult, so words like <em>native</em> and <em>immigrant</em> hit close to home for me. Since we&#x27;ve borrowed the word <em>native</em>, I&#x27;d like to follow it a few steps further and not stop at the airport.</p>
<h2 id="s1"><span>1</span><span>By that measure, we&#x27;ll always be immigrants</span></h2>
<p>Start with the most literal reading of the metaphor: A native is someone who was born here. However well a newcomer gets to know the place, the day they arrived doesn&#x27;t change.</p>
<p>In 2001, the American education writer Marc Prensky divided people into <em>digital natives</em> and <em>digital immigrants</em>. People who came to digital technology later, he wrote, learn the new language but keep an accent from the old one. There are “<a href="https://marcprenskyarchive.com/wp-content/uploads/2026/02/Digital-Natives-Digital-Immigrants-Part-I.pdf">hundreds of examples of the digital immigrant accent</a>,” and his first was printing out your email to read it. That sounds a bit funny today, but a sheet of paper did make people feel surer of what they were reading.</p>
<h3 id="s1a">Every big change has its natives and its immigrants</h3>
<p>Whether you count from my first sign-up or from the spring of 2026, one thing stays the same: I already had a way of working before AI came along. I remember how the work got done without AI, and I remember having to figure out where to start learning. That is different from growing up assuming this is simply how things are done.</p>
<p>None of this started with AI. Every big change leaves the same two groups behind. There were people who learned a trade by hand before the factories came, people who wrote with a pen before they typed, and people who paid in cash before they paid by card, and then by phone. In China, a lot of people skipped the card step altogether. Each time, those who crossed over remember two ways of doing the same thing, and those born afterwards know only one.</p>
<h3 id="s1b">Getting better doesn&#x27;t change when you arrived</h3>
<p>So that is who I mainly mean by <em>we</em> in the title: People who were already working before 2022, or who had already learned one way of doing things and crossed over later. I&#x27;m not trying to draw a line by birth year, and I&#x27;m not issuing anyone a native&#x27;s certificate.</p>
<p>In that sense, we will never be AI natives. However good I get, the day I arrived stays where it is. It sounds a little bleak, but once I&#x27;d thought it through, I stopped being so hard on myself.</p>
<p><mark>We showed up for a skills test and were handed <strong>a question about where we were born</strong>.</mark> No amount of studying gets that one right.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-test-en.png" width="1774" height="887" alt="A test paper headed AI SKILLS TEST with a single question, &quot;Where were you born?&quot;, and a blank line for the answer. Beside it, a figure in a red scarf holds a pencil, mouth open and a drop of sweat above its head, next to a tall stack of books."><figcaption><span>Fig. 2.</span>We came ready for a skills test. The only question on the paper asks where we were born.</figcaption></figure>
<h2 id="s2"><span>2</span><span>Home only appears once you leave</span></h2>
<p>Still, the half of the immigrant comparison I care about more is the other one: People who have left can&#x27;t go back to being people who never left.</p>
<h3 id="s2a">Leaving gives you a second way of seeing</h3>
<p>The English writer G. K. Chesterton wrote in <em>Tremendous Trifles</em> that “<a href="https://www.gutenberg.org/ebooks/8092">the whole object of travel is not to set foot on foreign land; it is at last to set foot on one&#x27;s own country as a foreign land</a>.” I like that line a lot. While you stay in one place, that place is simply life. You eat this way and talk this way, and none of it seems to need explaining. Only when you land somewhere that does things differently does the old life take on an outline. Things I took for granted as a kid turned out to be, oh, just how we did them where I grew up.</p>
<p>So a hometown is more than a point on a map. It&#x27;s also a way of seeing that only shows up after you leave. That isn&#x27;t quite the same as being homesick. Someone with no wish to go back can still know exactly what home is, and someone who does go back won&#x27;t automatically forget life outside. You can go back to the same street, but not to being the person who didn&#x27;t yet know what was outside it.</p>
<p>And staying in the new place doesn&#x27;t turn you into someone who was born there. Neither side can hold all of you anymore. Slowly, an immigrant becomes <strong>a third kind of person</strong>, carrying the old life along with an extra way of seeing.</p>
<h3 id="s2b">Wanting the old way back is only natural</h3>
<p>Not everyone takes leaving that way. Some people never stop planning the trip back, and for them the years away are a stopover, however long it lasts. AI has people like that too. When something new turns up, their first feeling is that the old way was better, the old craft more solid.</p>
<p>People felt this way long before AI came along. For most of history, in the East and the West alike, authority lived in the past. A claim needed a source, and a change needed a precedent. Common-law courts still settle today&#x27;s cases by looking for yesterday&#x27;s rulings, and for some two thousand years in China, a reformer&#x27;s best argument was often that the ancients had already done it. Europe&#x27;s great break with the Middle Ages was sold the same way, as a rebirth of the ancient world; that is what <em>Renaissance</em> means. The belief that newer is likely to be better is, <a href="https://www.gutenberg.org/files/4557/4557-h/4557-h.htm">on most accounts</a>, the recent one. It took hold with modern science, only a few centuries ago.</p>
<h3 id="s2c">You can turn AI off, but not the comparison</h3>
<p>So wanting the old way back is only natural, and I feel the pull myself. I just don&#x27;t think it survives heavy use of AI. Before, when a task came in, doing it yourself from scratch was the most natural thing in the world. Then you find that some parts go better if AI tries first, and some are quicker by hand. The next time the same task turns up, even if you end up doing all of it yourself, there&#x27;s one more option in your head.</p>
<p>By then, “I&#x27;ll do it myself” no longer means what it used to. Before, there was no choice. Now it&#x27;s something you decided after comparing.</p>
<p>Driving works the same way. Someone who learned on a manual gets used to an automatic within days, though for a while the left foot keeps stamping on a clutch that isn&#x27;t there. Go back to a manual ten years later, and you stall at the first light, because by then the foot has forgotten. The licence is the same one, but the driver isn&#x27;t.</p>
<p>That is mainly what I mean by not being able to go back. <mark>Turning AI off is easy; turning off the comparison in your head is not.</mark> We can&#x27;t become natives here, and we&#x27;re no longer the people who never left.</p>
<p>But a third kind of person still has a life to get on with. We can&#x27;t live out of a suitcase forever, waiting to feel local enough before we unpack.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-suitcase.png" width="1774" height="887" alt="A figure in a red scarf sets up a table in a bare room. A blue suitcase stands against the wall, and an open door shows hills outside."><figcaption><span>Fig. 3.</span>Putting the suitcase down and starting to live here.</figcaption></figure>
<h2 id="s3"><span>3</span><span>The mainland drifts too, and nobody is the original</span></h2>
<p>Immigrants are prone to one illusion: I&#x27;m adrift, and everyone else has roots. They were born here, so of course they know what&#x27;s right, and I&#x27;ll always be the one catching up.</p>
<h3 id="s3a">Roots can grow on a ship</h3>
<p>There&#x27;s a picture I keep coming back to: We live on a pirate ship. The pirates aren&#x27;t my idea. Startup people have been fond of them since 1983, when Steve Jobs told the Macintosh team, “<a href="https://www.folklore.org/Pirate_Flag.html">It&#x27;s better to be a pirate than join the navy</a>.” What I keep thinking about is the ship. It never stops moving, here today and somewhere else tomorrow. Ask where our roots are, and the answer is on the ship.</p>
<p>That sounds odd. Aren&#x27;t roots supposed to be in the ground? But if a group of people live on a ship long enough, look out for one another, and have their familiar spots and habits on board, then the ship is their home. Roots can grow on a ship, too. The pianist in the film <em>The Legend of 1900</em> was found as a baby on an ocean liner and never once stepped ashore. Nomads managed the same thing on land: a whole nation that could be packed up and moved.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-ship.png" width="1774" height="887" alt="A sailing ship flying a skull-and-crossbones flag, under way on the sea. On deck, a figure in a red scarf kneels and hammers a new plank into place."><figcaption><span>Fig. 4.</span>A ship that gets repaired while it sails.</figcaption></figure>
<h3 id="s3b">Culture and language never hold still</h3>
<p>From the deck, the mainland looks steady. The people over there never seem to need to explain where they belong.</p>
<p>But the mainland drifts too. Continental drift never stops; it just moves too slowly for the people standing on it to feel.</p>
<p>Culture is much the same. Being born into one doesn&#x27;t mean you naturally belong to it. The things that feel solid to us are slowly being replaced as well. One day you look back and find that rules you thought were perfectly normal as a child are rules nobody keeps anymore.</p>
<p>Language change makes this especially easy to see. People like to point out that American English kept the word <em>fall</em> for the season after Britain itself gave it up, as if that made American the more original English. But keeping a few old words isn&#x27;t the same as keeping a whole language unchanged. Every branch kept some things and changed others. You can&#x27;t pick out the parts you kept and announce that everyone else&#x27;s changes don&#x27;t count.</p>
<p>It&#x27;s like a species that split into two branches, each going its own way afterwards. Asking which of the two is the original rarely gets you anywhere. Both come from the same place, and both have had a life since.</p>
<h3 id="s3c">Even AI natives will have to keep adjusting</h3>
<p>So I don&#x27;t really believe there&#x27;s a complete, correct original sitting safely somewhere, waiting for everyone who came later to copy it. Everyone is drifting. The rocking is just more obvious on a ship, and people on the mainland hardly feel it.</p>
<p>Even bloodlines, the strictest kind of orthodoxy anyone has come up with, were never as fixed as we picture them. When the ruling line of French kings died out in 1589, the crown went to the Bourbons, a junior branch that had split off three centuries earlier, and before long nobody thought of them as anything but the royal family. Which branch counted as the main one tended to follow which branch was doing well. Strictly speaking, that&#x27;s a weakness we all share: Everyone loves a winner. We imagine the old rules as stricter and more sacred than they were, mostly because we no longer live under them.</p>
<p>With AI, this is even easier to see. A few months after you&#x27;ve learned a way of working, the tools change and you have to adapt all over again. Growing up with AI won&#x27;t spare anyone this. What they learn first will go out of date as well.</p>
<p>Seen this way, immigrants aren&#x27;t the only ones without firm ground under them; the mainland is drifting too. People on a ship at least know they have to watch where they&#x27;re going.</p>
<h2 id="s4"><span>4</span><span>An accent is what the old days leave on you</span></h2>
<p>So what exactly is the <em>immigrant accent</em> Prensky was talking about? I think it&#x27;s the set of habits your old days left on you.</p>
<h3 id="s4a">Habits that outlive the thing they were for</h3>
<p>In July 2020, a dad posted <a href="https://www.independent.co.uk/life-style/tiktok-phone-hand-gesture-new-smartphone-daniel-alvarado-a9611066.html">a TikTok video</a> that made this famous, though he wasn&#x27;t the first to notice it. In the video, he asks his two kids to pretend they&#x27;re talking on the phone. A grown-up would stick out a thumb and little finger and hold the hand to one ear, like a handset. The kids hold a flat palm against the ear, like a smartphone. Most homes got rid of the handset years ago, and the adult&#x27;s gesture hasn&#x27;t caught up.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-phone-en.png" width="1774" height="887" alt="Two stick figures side by side. The one labelled &quot;Grew up with landlines&quot; holds a thumb and little finger to the ear like a handset; the one labelled &quot;Grew up with smartphones&quot; holds a flat palm against the ear."><figcaption><span>Fig. 5.</span>How you mime a phone call depends on which phone you grew up with.</figcaption></figure>
<p>I find this more interesting than saying older people don&#x27;t get new technology. Someone who makes the handset gesture may be perfectly good with a smartphone. There was simply no need to relearn the gesture as well. People understand it, so it stays.</p>
<p>Gamers have their own version. <em>Dota 2</em> still has a setting called <a href="https://liquipedia.net/dota2/Hotkeys">Legacy Keys</a>, which brings back the hotkeys of the original <em>DotA</em>, a <em>Warcraft III</em> map where each spell sat on a different letter of the keyboard. Plenty of old players still turn it on, and some wear it like a medal. It does show how long they&#x27;ve been playing. It doesn&#x27;t make them any faster; most players find the standard layout, with the main spells on Q, W, E, and R, the quicker one.</p>
<p>The period at the end of a text message is similar. Some people feel a finished sentence ought to end with one, to be proper. Some younger people can read irritation into that same dot and decide you&#x27;ve run out of patience. <a href="https://www.sciencedirect.com/science/article/abs/pii/S0747563215302181">One study</a> found that text messages ending with a period were rated as less sincere. One side is being polite, the other feels a chill, and both are baffled.</p>
<h3 id="s4b">We still make the small fixes ourselves</h3>
<p>With AI, the accent shows up in the things we were trained to be good at. When two words in a draft feel off, I know AI could fix them for me, and I still reach in and change them myself. As a designer, when something sits a few pixels off, I&#x27;d rather nudge it by hand than describe it. Programmers were the same, especially in the early days: They couldn&#x27;t keep their hands off the code. Sometimes that&#x27;s only sensible, because explaining a tiny fix can cost more than making it. But I suspect someone who really grew up with AI wouldn&#x27;t feel the itch at all. They&#x27;d be more like a boss who has never written code or opened a design tool: Doing it by hand simply isn&#x27;t on the list.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-pixels-en.png" width="1774" height="887" alt="In a design editor, an image icon has been dragged just 2 px off its dashed outline. In the menu beside it, &quot;Let AI fix it (default)&quot; is ticked, but the cursor is clicking &quot;Adjust it myself.&quot;"><figcaption><span>Fig. 6.</span>The default is to let AI fix it, and the cursor still goes to &quot;Adjust it myself.&quot;</figcaption></figure>
<p>Some of these habits really do have to go. If every small fix still passes through my own hands, I&#x27;ll never find out what the tools can do. But some old habits are worth keeping. When I see a good-looking image, I still want to ask what makes it good. When I read a paragraph that sounds right, I still want to check whether it is.</p>
<h3 id="s4c">Some accents are worth keeping</h3>
<p>In <a href="https://ink.ashtonshu.page/the-ai-look-uncanny-valley-of-taste">my piece on the AI look</a>, I wrote about Chinese text in which every word is right and the whole still reads wrong, because the skeleton underneath is English. It&#x27;s similar here. What you bring with you can make new sentences come out awkward, and it can also help you hear when something is off.</p>
<p>Even having one more language isn&#x27;t all bad. In <a href="https://pubmed.ncbi.nlm.nih.gov/22517192/">one set of experiments</a>, people making choices in a foreign language were less swayed by how the question was framed. That doesn&#x27;t mean a foreign language makes anyone more rational. It just reminds me that a little awkwardness sometimes makes you stop and think.</p>
<p>Haruki Murakami has told how he found his voice this way. Unhappy with what he had written of his first novel, he put the Japanese draft aside and wrote the opening chapter in English, in the short, plain sentences that were all his English allowed. Then he “<a href="https://lithub.com/haruki-murakami-the-moment-i-became-a-novelist/">transplanted</a>” it back into Japanese, and the style that came out became his own. If the limits of my language are the limits of my world, a second language moves those limits a little. I count that among the benefits of being an immigrant.</p>
<p>So I no longer ask how to get rid of my accent. I ask which parts of it only cost me time, and which parts are still doing a job. The urge to fix every small thing by hand can go, a bit at a time. The urge to ask why a good image is good should stay.</p>
<hr>
<h2 id="s5"><span>5</span><span>But founders are never natives</span></h2>
<p>So far this has been about what we can never be. This part is about what immigrants like us have managed to achieve in the end. Before I get to it, I should name a few people who have said some of this already. In 2024, an interview with the same Marc Prensky, who coined <em>digital native</em> in the first place, ran under the title <a href="https://uxmag.com/articles/digital-natives-are-now-ai-immigrants"><em>Digital Natives Are Now AI Immigrants</em></a>. Demis Hassabis, who runs Google DeepMind, told students at Stanford that “<a href="https://www.gsb.stanford.edu/insights/demis-hassabis-thinks-were-foothills-singularity">you&#x27;re the first generation that will be AI native, just like my generation was computer and internet native</a>.” Sam Altman has said that his own children will grow up to be far more capable than we are, and that “<a href="https://www.businessinsider.com/sam-altman-kids-never-smarter-than-ai-chatgpt-2025-6">they&#x27;ll be really good at using AI</a>.” And Jayshree Seth, a scientist at 3M, has written that “<a href="https://thinkers50.com/blog/we-are-all-ai-immigrants-now-a-new-land-a-proven-mindset/">when it comes to generative AI, we are all immigrants</a>,” and that immigrants may know exactly what to do.</p>
<p>So the part about all of us being immigrants has already been said. Seth writes about the resilience immigrants bring. The steps I want to add are the experience behind the accent, the orthodoxy that doesn&#x27;t exist, and one thing that matters more: The rules of a new place are very often set by the people who came from the old one.</p>
<h3 id="s5a">Whose subjects were the founders?</h3>
<p>American history is full of such people. We read history country by country, so it&#x27;s easy to tie a person to the country he founded, as if he had belonged to it since childhood.</p>
<p>But George Washington spent his early twenties as an officer on the British side, fighting the French. And after independence, American courts went on using English common law. A new flag doesn&#x27;t mean everyone&#x27;s way of doing things starts again from zero.</p>
<p>Even the names carried over. Georgia was named for King George II, and New York for the Duke of York. The country on the map was new, but the names on it were not.</p>
<h3 id="s5b">First the founders, then the natives</h3>
<p>John Adams is the clearest example I know. In December 1765, more than ten years before independence, Adams argued against the Stamp Act before the governor and council of Massachusetts. According to the notes taken that day, he called it “utterly void,” because it was “<a href="https://www.masshist.org/publications/adams-papers/index.php/view/ADMS-06-01-02-0060">against our Rights as Men, and our Priviledges as Englishmen</a>.”</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-oldnew-en.png" width="1774" height="887" alt="A smiling figure in a tricorn hat, a wig, a red scarf and a long coat, with a crowned GR badge on the chest, stands at a flagpole. The British Union flag hangs at half-mast and the Continental Colours, thirteen red and white stripes with the Union in the corner, fly above it. Beside them, a large parchment reads &quot;In Congress, July 4, 1776. The unanimous Declaration of the thirteen united States of America,&quot; above a row of signatures, with a quill and an inkwell."><figcaption><span>Fig. 7.</span>Still wearing the king&#x27;s badge as the new flag goes up.</figcaption></figure>
<p>In a history book, a new chapter begins in 1776. But Adams was not born a second time at the chapter break. What he carried across was a training in English law and an Englishman&#x27;s idea of his rights. What he knew how to argue yesterday did not vanish the day the country got a new name.</p>
<p>Looking back, it&#x27;s easy to call him a founder of the United States. But move the clock back a little and ask which country he belonged to, and the answer is Britain. The days he was living through didn&#x27;t yet have the clean dividing line the history books draw.</p>
<p><mark>Someone has to found the United States before anyone can be born American.</mark> Waiting for a native-born American to do it would be like being told you need a driver&#x27;s licence before you can take the driving test.</p>
<p>Benjamin Franklin is another. He was seventy when he signed the Declaration of Independence in 1776, which means he had lived seventy years as a British subject, some of them in London. We think of him as American because we look back from what he did later. But most of what he had seen and lived through came from the old world.</p>
<h3 id="s5c">Other countries and new ideas began the same way</h3>
<p>Chinese history has the same pattern at almost every turn: The founders of the Han, Tang, Song, and Ming dynasties had all been subjects of the dynasty they replaced, and three of the four served it. A Chinese throne didn&#x27;t simply pass down a family line the way a European crown did; each new dynasty started over under a new name, and its founder might be the old emperor&#x27;s cousin or a former beggar monk.</p>
<p>It isn&#x27;t only a matter of who came first, either. George Orwell wrote in 1945 that one “<a href="https://www.orwellfoundation.com/the-orwell-foundation/orwell/essays-and-other-works/notes-on-nationalism/">quite commonly finds that great national leaders, or the founders of nationalist movements, do not even belong to the country they have glorified</a>,” and one of his examples was Napoleon, a Corsican.</p>
<p>It holds for ideas too. Plato&#x27;s dialogues are the earliest works of Western philosophy to survive whole, and in one of them he has his teacher Socrates argue that <a href="https://topostext.org/work/94">writing will make people forgetful</a>. Édouard Manet, the painter the Impressionists looked up to, <a href="https://www.britannica.com/art/The-Artists-Mistaken-for-Impressionists">never showed at any of their exhibitions</a> and kept sending his canvases to the official Salon. Confucius, whom Chinese tradition has looked back to for two and a half thousand years, called himself “<a href="https://ctext.org/analects/shu-er">a transmitter and not a maker</a>”; what he wanted was to bring back the ways of the early Zhou kings, some five hundred years before his time. Each of them belonged to the world before the one he helped start.</p>
<h3 id="s5d">The line between old and new only shows from far away</h3>
<p>This is easy to miss because we all learn history from a distance. In a textbook, one era ends and the next begins when you turn the page, and the people on either side look like different kinds of people. But the people living through it got one ordinary day after another, and no one told them on any particular day that the page had turned. A caterpillar at least gets a cocoon when it changes; most changes come with no such clear break. Biologists have a word for evolution by sudden leaps, <em>saltation</em>, and it is the exception, not the rule. It&#x27;s the same with a colleague you see every day. You never notice them changing, and then you come across a photo from a year ago and get a jolt. The evolutionary biologist Richard Dawkins gives an example that stretches the time much further. Start with a photo of yourself, add one of your father, then one of his father, and keep going back for 185 million generations. The last photo in the pile is a fish. You are obviously not a fish, yet no two neighbouring photos in that long pile look any different.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-photos.png" width="1774" height="887" alt="A long, curved row of photo cards. The first shows a figure in a red scarf and the next a similar round-faced figure with a curl of hair; most of the cards in between are blank; the last two show a lizard-like creature and then a fish. Two cards pulled out below show a man in a top hat with a moustache and a crouching, ape-like figure."><figcaption><span>Fig. 8.</span>Spread out one generation at a time, the photos run from you to a fish, and any two neighbours look alike.</figcaption></figure>
<p>I&#x27;m not trying to make a revolution sound like a light thing, or to borrow a founder&#x27;s glory for today&#x27;s office work. Many real countries weren&#x27;t founded on empty land, either, and the people already living there paid for it; the land of AI, at least, had nobody in it before us. The comparison is useful only in a narrow way, but it is clear: <mark>Being born in the old world doesn&#x27;t stop anyone from helping to build the new one.</mark> Old experience can hold a person back, and it can also be exactly what tells them which parts need changing.</p>
<h3 id="s5e">AI&#x27;s rules can&#x27;t wait for the natives to grow up</h3>
<p>Back to AI. Many of the rules haven&#x27;t been settled yet. A few of the big ones are being drafted in public; Anthropic has even published a <a href="https://www.anthropic.com/constitution">constitution</a> for its AI, Claude. Most of the everyday ones, though, nobody has written yet. Take a piece of design work: At what point does AI&#x27;s output go to a person to look at? What counts as finished, and what has to be redone? When a result looks great, who decides whether it can actually be used?</p>
<p>None of this will wait until the real natives grow up. There is work due today, and when something goes wrong, someone has to deal with it today. How we do things each time, and how we teach others once it runs smoothly, is slowly turning into the rules.</p>
<h3 id="s5f">Before changing how you work, ask why each step was there</h3>
<p>This is where old experience earns its keep. If you know why a step existed in the old process, you can ask one more question: Now that the tools have changed, does this step still belong? Some steps were only there because there used to be no other way, and today they can go. Others look useless but are part of a larger safety net, and you can&#x27;t judge them by the few minutes they cost.</p>
<p>The historian Elting Morison passed on a story about this, and was careful to say it was only what he had been told. Early in the Second World War, the British were using old field guns hitched to trucks, and they brought in a time-and-motion expert to speed up the firing. In slow-motion film of a five-man crew, the expert noticed that a moment before each shot, two of the men stopped and stood at attention for three seconds. He showed the film to an old artillery colonel, who was puzzled as well and asked to see it again. “<a href="https://calteches.library.caltech.edu/1087/">Ah, I have it</a>,” the colonel said. “They are holding the horses.”</p>
<p>The horses had been gone for years. Nobody had written them out of the drill, and it took someone who remembered the horses to see what the two men were doing.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-artillery.png" width="1774" height="887" alt="A truck tows a field gun. One gunner loads a shell, one looks through the sight, and one raises a red flag. Off to the right, two more gunners stand still, each holding a rope to a horse drawn only in dashed lines."><figcaption><span>Fig. 9.</span>The horses were long gone, but two gunners still stood where the horse holders used to stand.</figcaption></figure>
<h3 id="s5g">Immigrants can write the rules too</h3>
<p>If all I think about is adapting, I&#x27;ll probably decide that whatever everyone else does, I should hurry up and copy. But if I think of myself as someone who also has to set rules, I have to spell out my reasons. Why does this part go to AI, while that part still needs my eyes? When someone else follows the rule and runs into an exception, what should they do?</p>
<p>You don&#x27;t need to be in charge of anything first, and you don&#x27;t need to call your workflow a constitution; my laptop can do without a powdered wig. Thinking one recurring task through and leaving a method that someone else can pick up is already a start. Of course, a written rule can be wrong. Letting others point that out, and being able to change it, is worth more than stamping it official on day one.</p>
<p>So here is the step I wanted to add to “we are all immigrants.” <mark>Immigrants do more than make a life in a new place. They can also help decide how life there works, and they don&#x27;t have to lose the accent first.</mark></p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-settlers.png" width="1774" height="887" alt="A map of hexagon tiles running down to a shoreline, with a rowboat at the water&#x27;s edge. A small group with backpacks, a suitcase and a loaded cart stands together, and one of them, in a red scarf, plants a red flag beside a single tile outlined in bold."><figcaption><span>Fig. 10.</span>Arriving is only the first step. Next comes staking out a patch and deciding how things work there.</figcaption></figure>
<hr>
<h2 id="s6"><span>6</span><span>How to settle: See yourself as a founder</span></h2>
<p>So what can we actually do? Before asking how many hours a day to spend with AI, I&#x27;d ask myself one thing first: Do I actually plan to make a life here?</p>
<h3 id="s6a">Stop planning the triumphant return</h3>
<p>We love a certain kind of hero story. You leave, you make something of yourself, and you come home the conquering hero, so everyone can see. The mythologist Joseph Campbell&#x27;s <em>hero&#x27;s journey</em> ends with a return, too. We know that ending so well that before we&#x27;ve even left home, or started the company, we&#x27;re already planning the triumphant return.</p>
<p>But an ordinary life doesn&#x27;t have to follow that plot. If you keep treating where you are as a temporary stop and save real life for after you go back, it&#x27;s hard to arrange your life here with any care. The other choice is to put down roots, to bloom where you are planted. I find the idea very down to earth: The place where you settle can slowly grow roots, too.</p>
<h3 id="s6b">Playing it safe has a price</h3>
<p>Among Chinese professionals in North America, a common question is why our Indian colleagues seem to find their footing at work more easily than we do. My own impression is that many Indian professionals never planned a triumphant return in the first place. Research offers a related explanation: <a href="https://pubmed.ncbi.nlm.nih.gov/32071227/">A 2020 study</a> found that East Asians reach leadership positions less often than South Asians, and that lower assertiveness consistently accounted for the gap.</p>
<p>The longer I think about it, the less it looks like a lack of nerve to me. I suspect a lot of people who grew up the way I did never even think of speaking up, because we were taught to guard against whatever might go wrong and to keep a way back open. Most of the time that is good sense. But playing it safe also means never getting your hands dirty. You end up watching from the sidelines, and work that needs everything you have doesn&#x27;t get it. I&#x27;m not telling anyone to be reckless. I only mean that if you want something to work here, at some point you have to go all in and stop planning the retreat.</p>
<p>When I left, I wasn&#x27;t planning a triumphant return either. That doesn&#x27;t mean I&#x27;d refuse to go back if things didn&#x27;t work out. Going back is always an option; it just isn&#x27;t what I plan around while I&#x27;m working here. I&#x27;m more like a herder following water and grass: Wherever they are, that&#x27;s where I set up a life. I think people who start businesses are much the same. Nobody sensible assumes success on day one, but the ones who get there tend to do it one solid step at a time, and they set out determined to see it through. Without that, it&#x27;s hard to be ambitious about anything, or to give it everything you have.</p>
<h3 id="s6c">Four ways to be here without being born here</h3>
<p>And if I&#x27;m not planning around going back, I think there&#x27;s a better way to see myself than as a permanent immigrant, or as someone hoping to be taken for a native one day: as <strong>a founder</strong>, or at the very least as one of the people building the place I now live in. If <em>founder</em> feels too big, <em>builder</em> or <em>architect</em> will do; the AI world already uses both.</p>
<p>People who aren&#x27;t natives aren&#x27;t all the same kind of person, either. Two questions sort them: Are you planning to stay? And do you live by the rules you find here, or do you make some?</p>
<figure>
<table>
<colgroup><col><col><col></colgroup>
<thead><tr><td></td><th scope="col">Lives by the rules already here</th><th scope="col">Makes rules</th></tr></thead>
<tbody>
<tr><th scope="row"><span>Passing through</span></th><td><strong>Visitor</strong><span>tourist, guest, sojourner</span><span>bard, pilgrim</span></td><td><strong>Scout</strong><span>explorer, tinkerer, pathfinder</span><span>travelling merchant, caravan</span></td></tr>
<tr><th scope="row"><span>Here to stay</span></th><td><strong>Immigrant</strong><span>newcomer, resident, neighbour</span><span>homesteader, artisan</span></td><td><strong>Founder</strong><span>builder, architect, pirate, entrepreneur</span><span>lawgiver, city-builder</span></td></tr>
</tbody>
</table>
<figcaption><span>Fig. 11.</span>Passing through or here to stay, following the rules or writing them: four ways to live in a place you weren&#x27;t born in.</figcaption>
</figure>
<p>Whether you were born here isn&#x27;t one of the chart&#x27;s axes, because it&#x27;s the one thing nobody can change. Everything on the chart can be changed. Visitors look around. Scouts try things and move on. Immigrants stay. Founders stay and build. I&#x27;ve been the first and the third, and the next move, from staying to building, is what the rest of this essay is about.</p>
<h2 id="s7"><span>7</span><span>Where to start: From visitor to founder, one step at a time</span></h2>
<p>A founder, after all, is an entrepreneur taken to the limit, someone whose business happens to be a whole country. Bring it down to the size of one person and the mindset is the same. You don&#x27;t wait for someone to arrange the role and the rules for you; you look for where AI could earn you an extra income. Taking on a bit of work outside your job counts, and so does taking on one more thing inside it and agreeing on a price.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-three-things.png" width="1774" height="887" alt="Three sheets of paper side by side. A hand holds up a flyer with a picture on it; a checklist has three items ticked, one empty box and one box outlined in red; the last sheet is full of text, with a box at the bottom and a blue circle like a stamp."><figcaption><span>Fig. 12.</span>Three small steps: use AI on real work, write down the rules, and deliver one paid job.</figcaption></figure>
<p>How do you get there from wherever you are now? The advice from people who have done it, and from people who study how AI is used at work, comes down to roughly three steps, one for each move on the chart. I have put my own experience in where it fits; the part I haven&#x27;t reached yet, I&#x27;ll leave to them.</p>
<h3 id="s7a">Step 1: Use AI on the work you actually do, not just for practice</h3>
<p> If you&#x27;re still in the visitor box on the chart, AI is probably something you ask a question now and then. The Wharton professor Ethan Mollick puts it as the first rule in <em>Co-Intelligence</em>, his book on working with AI: “Always invite AI to the table.” Try it on the work you actually do, every day, and see where it helps and where it doesn&#x27;t. His last rule is worth keeping in mind too: “Assume this is the worst AI you will ever use.” I stayed at this stage for a long time. I tried putting AI to work from the start, but it couldn&#x27;t edit my slides, documents, or spreadsheets, so most of my effort went into writing prompts. Only when it could make the changes itself did it become part of my real work.</p>
<h3 id="s7b">Step 2: Turn what you keep correcting AI on into rules</h3>
<p> By the time you&#x27;re in the immigrant box, AI is a tool you use every day. This is the step I know best, and Davin Dong, the founder of Cookiy AI, made the same point in a <a href="https://www.superlinear.academy/c/masterclass-recording/sections/1135481/lessons/4857532">Superlinear Academy masterclass (link in Chinese)</a>: Each time you correct the AI, write the correction down as a rule it reads before it starts. Keep the rules short, and keep the file short too, so that it actually gets read. The next part is my own, pieced together from what others have said and what I&#x27;ve done: When the same mistake comes back anyway, stop adding words and add a check that runs on its own. The surgeon Atul Gawande, who led the work on the World Health Organization&#x27;s surgical safety checklist, wrote in <em>The Checklist Manifesto</em>: “Under conditions of complexity, not only are checklists a help, they are required for success.” Mollick&#x27;s second rule says the same from the other side: “Be the human in the loop.” Mine have grown to about forty in a few months, but one is enough to start: AI can draft the web page, but before it goes out, the fonts and links get checked one by one.</p>
<h3 id="s7c">Step 3: Take on one small paid job and deliver it from start to finish</h3>
<p> This is how you move toward the founder box, by using AI to make something people will pay for. Keep the scope small, so that afterwards you can tell whether AI really saved you effort. Sahil Lavingia, who founded the creator platform Gumroad, gives people starting out much the same advice in <em>The Minimalist Entrepreneur</em>: Build as little as possible, and sell it to your first hundred customers. When you talk about the job or the price, describe your new skill as something you deliver. Say which extra part you can take on, how it will be checked, and which problems are yours to handle. The software engineer Patrick McKenzie put it bluntly in career advice that has been passed around since 2011: “<a href="https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/">Engineers are hired to create business value, not to program things.</a>” Swap in designers and AI, and it still holds. I haven&#x27;t got this far myself yet; it&#x27;s the next box on my own chart.</p>
<p>Once these three are done, I expect to be using AI more anyway. That order seems right to me. <mark>Using it a lot is a by-product, not the goal.</mark> Once there&#x27;s something you want to get done here, you know what you need to learn. Running up the hours doesn&#x27;t prove you&#x27;ve actually moved in.</p>
<h2 id="s8"><span>8</span><span>What we leave for the real natives</span></h2>
<p>The “real” AI natives may be in primary school right now, or not yet born. By the time they grow up, they&#x27;ll probably find it hard to understand why we ever treated “should I use AI?” as a question worth discussing.</p>
<p>It&#x27;s like seeing someone print out an email today; your first reaction is probably, really? But when those kids start working, some of the rules that feel completely natural to them may turn out to have been left behind by this crowd with accents, who were trying things out as they went.</p>
<p><mark>What we can leave them is about that much: <strong>some rules and some scaffolding</strong>.</mark> Those who come after us will keep what works and tear down what doesn&#x27;t. Deciding everything for them in advance wouldn&#x27;t be realistic anyway; the mainland is still drifting.</p>
<figure><img src="https://ink.ashtonshu.page/media/never-ai-natives/fig-scaffold.png" width="1774" height="887" alt="A figure in a red scarf stands on scaffolding beside a half-built brick wall, laying a wooden plank across the frame. Far off to the right, a small child in a yellow hat with a blue backpack walks toward a school sign with an open book on it."><figcaption><span>Fig. 13.</span>We are putting up the scaffolding. The real natives are still on their way to school.</figcaption></figure>
<hr>
<p>Prensky made the immigrant comparison more than twenty years ago. What I wanted to add is the second half: what life looks like after you arrive.</p>
<p><em>Immigrant</em> is still the most accurate word I have for people like us. But being a <em>founder</em> is the best way I know for us to deal with the present, and with what comes next. It sounds a little grand, I admit. But as I said earlier, there is no settled, widely accepted name for people like us yet, and names like this may only settle once the dust has. When that day comes, I&#x27;ll quietly add the name to my rules, and I hope I won&#x27;t be the one complaining that it sounds wrong. In the meantime, I&#x27;ll go write down my next rule.</p>
<p>Originally published at <a href="https://ink.ashtonshu.page/never-ai-natives">MountainSide</a>.</p>]]></content:encoded></item><item><title>Impressionists, the Hamburger Menu, and Vibe Coding</title><link>https://ink.ashtonshu.page/impressionists-hamburger-menu-vibe-coding</link><guid isPermaLink="true">https://ink.ashtonshu.page/impressionists-hamburger-menu-vibe-coding</guid><pubDate>Tue, 10 Nov 2026 00:00:00 GMT</pubDate><description>It starts with a nickname from a design class: Many names we use quite seriously today began as something someone said in passing.</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/hero-doodle-20261110.png" alt="A doodle of a smiling stick figure leaning on a table, with an exclamation mark and a lit bulb overhead. Four cards stand on the table: an icon of three lines becomes a hamburger, and an icon of nine dots becomes a waffle."><div><p>It starts with a nickname from a design class: Many names we use quite seriously today began as something someone said in passing.</p>
</div><hr><p><em>About 4,600 words, 8 images, 19 minutes to read.</em></p>
<p>The first time I heard <em>hamburger menu</em> was in a web design class. My teacher pointed to the three horizontal lines in the corner of the screen and simply called them a hamburger menu. There was no explanation, and we all accepted it straight away.</p>
<p>Only later did I realize what makes names like this so effective: We know they are a little silly and not quite accurate, yet everyone knows which thing we mean.</p>
<p>When showing someone an interface, I also didn&#x27;t want to keep saying “the three horizontal dots” or “the three vertical dots.” To me, they were all buttons you clicked to see more things. I wasn&#x27;t sure whether each had its own name, so I asked AI. It came back with a list that read like a restaurant menu: hamburger, meatballs, kebab, bento, and waffle. When I looked at the icons again with those names in mind, it felt a bit like learning where someone&#x27;s nickname came from. Once you see it, it&#x27;s hard to forget.</p>
<p>The official names are another matter, though. Design systems say things like <em>menu</em>, <em>more button</em>, and <em>app launcher</em>. The food names are mostly what designers and programmers call them in conversation, and even then, not everyone uses them. I only meant to find out what to call a few buttons. As I kept looking, I found that some nicknames had made it into the guidelines.</p>
<p>Outside design, names like this are everywhere. Some, like <em>code monkey</em>, have made it into dictionaries but still carry an “informal” label. Others, like <em>hamburger</em>, <em>cookie</em>, and, more recently, <em>vibe coding</em>, have found their way into design systems, dictionaries, or even the law. The odd part is that names chosen with great care often lose out to these casual nicknames.</p>
<h2 id="s1"><span>1</span><span>Design systems disagree, but we keep saying hamburger</span></h2>
<p>Different design systems give the same button different names. In conversation, though, designers and programmers keep ordering from the same menu. The food names work because they give us a picture straight away, while the official names take a moment to work out.</p>
<h3 id="structure-1">The names people actually use</h3>
<p>Take the three-dot “more” button. Google&#x27;s guidelines call it an <em>overflow menu</em>, while Apple&#x27;s call it a <em>More pull-down button</em>. For the three horizontal lines, Microsoft&#x27;s guidelines actually say “<a href="https://fluent2.microsoft.design/components/web/react/core/nav/usage">Hamburger icon</a>.” Judging by the names alone, you might think they were talking about different things.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig1-names.svg" width="358" height="1610" alt="A table of icons with their nicknames and what five design systems officially call them. The coloured cells show where a design system uses the nickname itself."><figcaption><span>Fig. 1.</span>One icon, its nickname, and what five design systems officially call it</figcaption></figure>
<p>Three horizontal dots are <em>meatballs</em>. Turn them upright, and they become a <em>kebab</em>. Some people call a three-by-three grid a <em>bento</em>; others call it a <em>waffle</em>. A message that pops up and disappears after a while is a <em>toast</em>. Some of these are already official terms; others are still nicknames, so this menu of names is only half official. The figure above shows what each design system calls them.</p>
<h3 id="structure-2">The icon has an author; the nickname doesn&#x27;t</h3>
<p>Of all these names, <em>hamburger</em> is the one that made me want to dig deeper. In 1981, Xerox, the company best known for its photocopiers, launched the Star workstation, one of the first commercial computers with a graphical interface: windows, icons, and a mouse. Designer Norm Cox drew those three horizontal lines for it, more than 20 years before the iPhone. With phones so familiar now, it&#x27;s easy to assume the icon was invented to save space on a phone screen. It was already there long before that.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-xerox-menu-button_w1260.jpg" width="1260" height="618" alt="Photo of an old black-and-white computer screen showing a window titled Alphabet Sampler. A small button with three horizontal bars at the right end of the window header is outlined and shown enlarged in an inset."><figcaption><span>Fig. 2.</span>A window in ViewPoint, a later version of the Xerox Star&#x27;s software. The button with three lines sits at the right end of the window header; it is enlarged at the bottom right.<span>Screen photo: DigiBarn Computer Museum, via <a href="https://commons.wikimedia.org/wiki/File:Xerox_Star_8010_ViewPoint.jpg">Wikimedia Commons</a>. Crop and enlargement added.</span></figcaption></figure>

<p>On its own, the icon is just three short lines stacked one above another. There is very little to it. It doesn&#x27;t spell out the word <em>menu</em>, and it doesn&#x27;t actually draw a hamburger. But the top and bottom lines look like bread, with a filling in between. Once someone calls it a hamburger, your eyes finish making the meal. Cox drew an icon. People later gave it an image they could easily put into words, and the two came together.</p>
<p>The trail went cold at exactly the point I cared about most. I could find out who drew the icon, but not who first called it a hamburger. Even Cox only heard the nickname later. We know the designer&#x27;s name; the person who named the hamburger left no name behind. Yet the nickname kept spreading. It feels less like someone declaring “This is what we&#x27;ll call it” and more like someone saying it in passing, with the people nearby deciding it fit. School nicknames work the same way: Most of us can&#x27;t say who came up with ours. I&#x27;ll come back to this in the last chapter.</p>
<p>I even suspect that <em>hamburger</em> came first and the other food names followed. If three lines can be a hamburger, why can&#x27;t three dots be meatballs, or a vertical row be a kebab? The early uses I found roughly fit that order, but that doesn&#x27;t prove a connection, so this is only my guess. What I can say is that once you&#x27;ve heard the nicknames, recognizing the icons takes much less explanation.</p>
<h3 id="structure-3">Some nicknames are already on the record</h3>
<p>Some nicknames already have an official record. The coloured cells in Fig. 1 show where design systems use the nicknames themselves. In 2022, Dictionary.com also <a href="https://www.dictionary.com/articles/new-dictionary-words-spring-2022">added <em>hamburger menu</em> and <em>kebab menu</em></a>.</p>
<p><em>Breadcrumbs</em> took a more direct route: That is the official name. It comes from the trail of crumbs the children leave in the Grimm fairy tale <em>Hansel and Gretel</em>. The empty little boxes that appear when a character is missing are called <em>tofu</em>. Google even named a font family Noto, from “no more tofu.” True to this chapter&#x27;s pattern, the two companies behind its Chinese, Japanese, and Korean (CJK) fonts couldn&#x27;t settle on one name either: Google calls them Noto, and Adobe releases the same designs as Source Han.</p>
<p>One name made it all the way into law. In 1994, Netscape engineer Lou Montulli borrowed the older programming term <em>magic cookie</em> to name a small piece of data. The word later entered <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32002L0058">European Union legislation</a> and became the “Accept cookies” we click every day.</p>
<p>Short names that bring a picture to mind save a lot of explaining. Food isn&#x27;t the only source. Design systems also have accordions, drawers, and carousels, all borrowed from everyday life.</p>
<h2 id="s2"><span>2</span><span>Many official terms began as something less serious</span></h2>
<p>Designers are hardly alone in this. Many terms used officially in serious fields had rather unserious beginnings. Some even started as insults.</p>
<h3 id="structure-4">Names people started using among themselves</h3>
<p>The best-known example is the computer mouse.</p>
<p>In the 1960s, Douglas Engelbart and Bill English made a small wooden box by hand at the Stanford Research Institute. Put today&#x27;s mouse aside for a moment. This one had two wheels underneath, set at right angles to each other, and a cord trailing behind it. The box was the body, and the cord was the tail. The team called it a <em>mouse</em>.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-engelbart-patent-p1_w960.jpg" width="960" height="1410" alt="First page of US patent 3,541,541. A drawing shows a display on a desk with a keyboard in front and a small box with a cord beside it, plus two cut-away views of the box."><figcaption><span>Fig. 3.</span>The first page of Engelbart&#x27;s patent, filed in 1967 under the formal name <em>X-Y position indicator for a display system</em>. Fig. 1 shows the display, the keyboard, and the mouse with its cord.<span>US patent 3,541,541, public domain, via <a href="https://patents.google.com/patent/US3541541A/en">Google Patents</a>.</span></figcaption></figure>
<p>“A small wooden box” could mean almost anything. Add the cord, and a mouse appears. You didn&#x27;t need to explain how the wheels underneath worked for someone nearby to know which object you meant.</p>
<p>But when you ask who first said it, we are back with the hamburger. Engelbart later recalled that no one remembered. It simply looked like a mouse with a tail. His answer is a little funny and very practical. People remembered why it looked like a mouse, but not who first noticed.</p>
<p>By the time they submitted a report to NASA in 1965, it was already called a mouse. A nickname used around the team had entered a document meant for people outside it. Today&#x27;s mice have mostly lost the cord, but the name stayed.</p>
<h3 id="heading-1">Code names, slang, and jokes that stayed</h3>
<p>Some names began as a way to hide things. During the First World War, Britain secretly developed a new vehicle under the cover of making water tanks. The code name was <em>tank</em>. According to one participant&#x27;s later account, an earlier suggestion was “Water Carrier”; shortened, that would have been W.C., meaning a toilet, so they settled on <em>tank</em>. The code name became the official term.</p>
<p><em>Bug</em> is the story most people already know. In 1947, workers on Harvard&#x27;s Mark II computer taped a moth into the logbook and noted that they had found an actual bug. The joke only worked because the word was already in use: Edison was writing about “bugs” as early as 1878.</p>
<p>Technical slang gives people in a field a shared shorthand. Once you can use it easily, you don&#x27;t have to explain everything from the beginning. Unwanted messages became <em>spam</em>, and a programming language became Python. Both names came from the British comedy group Monty Python. In 1986, <em>The Economist</em> introduced the Big Mac Index as a “lighthearted” guide. Forty years later, it still turns up in economics classes.</p>
<p><a href="https://www.pew.org/en/research-and-analysis/articles/2017/10/leading-through-the-storm">The Waffle House Index</a> is generally traced to Craig Fugate in 2004, when he was Florida&#x27;s head of emergency management: He used the breakfast chain&#x27;s status to judge conditions after a disaster, with green for a full menu, yellow for a limited menu, and red for closed. It is an informal indicator of conditions on the ground, rather than an official disaster rating.</p>
<h3 id="heading-2">In 2025, it was vibe coding&#x27;s turn</h3>
<p>The fastest recent promotion may be <em>vibe coding</em>. In February 2025, Andrej Karpathy, one of OpenAI&#x27;s founding members, wrote a half-joking post about “a new kind of coding I call ‘vibe coding’”: You tell AI what you want, let it write the code, and hardly look at the code at all. It was, he said, “not too bad for throwaway weekend projects.” By November, <a href="https://blog.collinsdictionary.com/language-lovers/collins-word-of-the-year-2025-ai-meets-authenticity-as-society-shifts/">Collins Dictionary had named it</a> its Word of the Year, and Microsoft&#x27;s official training site now offers a course called “Introduction to vibe coding.”</p>
<p>Of course, a name catching on doesn&#x27;t guarantee it a place in an official document. <em>Code monkey</em> is familiar enough to be in the dictionary, and programmers use it to make fun of themselves. Yet it is still labelled “informal”; nobody would put it in a job ad.</p>
<h3 id="structure-5">Insults people adopted for themselves</h3>
<p>Another route is a little harsher. Someone uses a name to mock you; you take it up and keep using it, sometimes quite happily. The most famous example is Impressionism.</p>
<p>In the spring of 1874, Monet, Renoir, Pissarro, and other painters who were not welcome at the official Salon put on their own exhibition in a borrowed photography studio in Paris. Manet, whose name differs from Monet&#x27;s by just one letter, was not among them. He never took part in any of the group&#x27;s eight exhibitions. Monet had painted a sunrise over the harbour at Le Havre. As he later recalled, someone preparing the catalogue asked him for a title. He replied, “Put down: Impression.” The painting became <em>Impression, Sunrise</em>.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/monet-impression-sunrise_1872_w1600.jpg" width="1600" height="1241" alt="Claude Monet&#x27;s painting Impression, Sunrise, a sunrise over the harbour at Le Havre."><figcaption><span>Fig. 4.</span>Claude Monet, <em>Impression, Sunrise</em>, 1872. Musée Marmottan Monet, Paris</figcaption></figure>
<p>Louis Leroy, a critic writing for a satirical newspaper, mocked the show in an article titled <em>The Exhibition of the Impressionists</em>. Through the voice of an old-fashioned painter, he suggested that even wallpaper in its earliest stages was more finished than this seascape. What bothered him was how unfinished it looked. He took the word <em>impression</em> from the painting&#x27;s title and turned it into a fault the whole group shared.</p>
<p>Three years later, at their third exhibition in 1877, the painters called themselves <em>Impressionists</em>. A word meant to ridicule them had become their name. In 2024, 150 years after the first exhibition, the Musée d&#x27;Orsay devoted a major show to that event in 1874. Today, hardly anyone remembers that <em>Impressionist</em> began as an insult.</p>
<p>The critic Louis Vauxcelles contributed to two similar names. At the 1905 Autumn Salon, he saw a classical-looking sculpture in a room full of paintings in strong reds and greens, and wrote that it was like Donatello, the Renaissance sculptor, among “wild beasts.” The French for wild beasts is <em>fauves</em>, and that gave us Fauvism. In 1908, he mocked the painter Georges Braque for reducing everything to cubes, helping give us Cubism.</p>
<h3 id="heading-3">The same thing happened outside art</h3>
<p>In 1906, Britain&#x27;s <em>Daily Mail</em> used <em>suffragette</em> to mock militant women campaigning for the vote. The ending <em>-ette</em> suggested something small. In 1912, the women made it the name of <a href="https://www.londonmuseum.org.uk/collections/v/object-984405/the-suffragette-1912-13/">their own newspaper, <em>The Suffragette</em></a>.</p>
<p>The most everyday example is Black Friday. By at least the early 1960s, Philadelphia police were using that name for the day after Thanksgiving: traffic jams, shoplifting, and overtime for everyone. Retailers disliked it and tried to rename the day Big Friday, without success. The now-familiar story about accounts moving from red to black came later, and the name stayed.</p>
<p>The meaning of a word changes with who is using it and whether they mean it as an insult or a name to accept. Linguists call a move from a negative meaning towards a more positive one <em>amelioration</em>. A term may be absent from official documents for a while and still be alive in conversation. Given enough time, it can find its way onto the page.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-collage-en_w1200.jpg" width="1200" height="1126" alt="Four names that began as nicknames or insults, and what each was called before. From left: Engelbart&#x27;s patent drawing (filed 1967), the Harvard Mark II logbook (1947), a British Mark I tank at the Somme (1916), and the front page of The Suffragette (1913)"><figcaption><span>Fig. 5.</span>Four names that began as nicknames or insults, and what each was called before. From left: Engelbart&#x27;s patent drawing (filed 1967), the Harvard Mark II logbook (1947), a British Mark I tank at the Somme (1916), and the front page of <em>The Suffragette</em> (1913)<span>Sources: mouse photograph by Michael Hicks (a replica of the prototype at the Computer History Museum, via Wikimedia Commons), CC BY 2.0; logbook (1947) from the US Navy and tank photograph from the Imperial War Museums (Q 2486), both in the public domain. The front page of <em>The Suffragette</em> is a scan by LSE Library, under <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>; this collage is shared under CC BY-SA 3.0 as well.</span></figcaption></figure>
<h2 id="s3"><span>3</span><span>But carefully chosen names often lose to casual ones</span></h2>
<p>Programmers have a joke that is usually credited to Phil Karlton, an engineer at Netscape: “There are only two hard things in Computer Science: cache invalidation and naming things.” Naming is hard enough, and even a name chosen with care may not catch on. That happened with Bluetooth.</p>
<h3 id="heading-4">Bluetooth began as a code name</h3>
<p>In the late 1990s, Intel, Ericsson, and Nokia were working on a short-range wireless technology. Intel engineer Jim Kardach needed a code name for it. He had recently read a book about Vikings, including a 10th-century Danish king, Harald, nicknamed Bluetooth, who had united Denmark and Norway.</p>
<p>The king in the book and the wireless technology in front of him seemed far apart. But Kardach saw a connection. The king had brought two lands together; this technology was meant to bring together the computer and mobile phone industries. It sounded like someone&#x27;s nickname because that was exactly what it was.</p>
<p>Bluetooth was only supposed to be temporary. There were plans for a proper name. The leading candidate was PAN, short for Personal Area Networking, a clear description. But a search turned up tens of thousands of results for the same name. The trademark search for another candidate, RadioWire, couldn&#x27;t be completed before the launch. Neither planned name made it, and by then Bluetooth was already familiar across the industry. It was too late to change. The king is still in the logo today, which combines the runic initials of Harald and Bluetooth.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-jelling-stones_w1600.jpg" width="1600" height="1028" alt="An old black-and-white postcard of the Jelling stones in a churchyard; the large carved stone stands on the left."><figcaption><span>Fig. 6.</span>An old postcard of the Jelling stones in Denmark. The larger one was raised by King Harald; the line printed along the bottom calls him Harald Blaatand, Danish for Bluetooth.<span>Image: National Museum of Denmark, via <a href="https://commons.wikimedia.org/wiki/File:Harold_Bluetooths_and_Gorm_the_Olds_rune_stones_(9157863685).jpg">Wikimedia Commons</a>, no known copyright restrictions.</span></figcaption></figure>

<p>The mouse also had a very orderly official name. Its patent called it an “<a href="https://patents.google.com/patent/US3541541A/en">X-Y position indicator for a display</a> system.” That explained its purpose perfectly well. But if you were looking for one on a desk, <em>mouse</em> was enough. The long name suited a patent. In everyday conversation, it took too much saying.</p>
<h3 id="heading-5">Why Esperanto never caught on</h3>
<p>Perhaps the most serious attempt was Esperanto. In 1887, someone deliberately designed a language with regular rules, hoping it would become a common language for the world. More than a century later, it still hasn&#x27;t become widely used.</p>
<p>Jun Wu once argued that the small number of learners was only the surface problem. The deeper issue, in his view, was that Esperanto had no culture. Language carries information and culture together, and getting the rules in order may not be enough to persuade people to change how they speak. (Wu joined Google in 2002, two years before its IPO, and was the main designer of its CJK search algorithms. He later served as a vice president at Tencent.) Hebrew makes the opposite case. After more than a thousand years without everyday speakers, it was revived as a spoken language in the late 1800s, and that was possible because the culture behind it was still there.</p>
<h3 id="heading-6">What makes a name catch on</h3>
<p>People choosing a name want it to be accurate and complete. People saying it want something else, a name they can:</p>
<ul>
<li>remember easily,</li>
<li>say easily, and</li>
<li>understand at once.</li>
</ul>
<p>The nicknames we&#x27;ve seen happen to offer all three advantages. Let&#x27;s take them one at a time.</p>
<h4 id="structure-6">Easy to remember</h4>
<p>Say <em>meatballs</em>, and the three dots are already lined up in your mind. Psychologists call this <a href="https://academic.oup.com/book/10932"><em>dual coding</em></a>: Concrete words tend to call up both the word and a picture in the mind, while abstract words rely mostly on the word alone, so concrete words are often easier to remember. Meatballs, hamburgers, and mice all give us a picture as soon as we hear them.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-menu-b4_w1600.png" width="1600" height="800" alt="A doodle of a curly-haired person with glasses and headphones, knife and fork in hand, puzzling over a standing board titled MENU. It lists icons with their nicknames: Hamburger (three lines), Kebab (three dots in a column), Meatballs (three dots in a row), Waffle (a grid of nine squares), Breadcrumbs (a trail of arrows) and Toast (a bar at the bottom of a screen)."><figcaption><span>Fig. 7.</span>Together, the nicknames read like a menu</figcaption></figure>
<p>In <em>Heartwarming</em>, a social psychologist discusses <em>embodied cognition</em>: We carry physical sensations into abstract judgments, which is why a person can be <em>warm</em> or <em>cold</em>. <a href="https://rips-irsp.com/articles/10.5334/irsp.410">A study of 94 languages</a> found that 46 used warmth to describe closeness. Two famous experiments once seemed to show how far this goes: People who had just held a cup of hot coffee rated a stranger as warmer, and people holding a heavy clipboard treated a question as more important. Later, larger replication studies failed to reproduce these effects. The language habit has stayed with us, though. We also borrow between senses in everyday English: A shirt can be <em>loud</em> and a cheese can be <em>sharp</em>.</p>
<p>Being funny helps too. A 1994 experiment found that humorous sentences were easier to remember than nonhumorous ones, especially when the two kinds appeared together. When your days are full of requirements, schedules, reviews, and alignment meetings, a meatball is hard to forget.</p>
<p>One caveat, though: Whether a phrase brings a picture to mind depends on when you hear it. Many old sayings were once as vivid as <em>meatballs</em> is today. Over time, the picture fades, and the words themselves become an obstacle. “The proof is in the pudding” is short for “The proof of the pudding is in the eating”; <em>proof</em> here means a test. In <em>just deserts</em>, <em>deserts</em> means what someone deserves, an old meaning that now often gets mistaken for <em>desserts</em>.</p>
<h4 id="structure-7">Easy to say</h4>
<p>A name has to stand up to daily use. People can manage an explanation once. Having to say the full term every time is more work. There is nothing wrong with “X-Y position indicator, blah, blah, blah.” But by the time you finish saying it, the person beside you has already said <em>mouse</em>.</p>
<p>People tend to save effort when they speak. The linguist George Zipf observed that more frequently used words tend to be shorter. He later brought tendencies like this together under the <em>principle of least effort</em>. <em>Mouse</em> has just one syllable. A short name saves you from explaining its function every time. When a name takes less effort to say and is easy for the listener to follow, people are more likely to use it again.</p>
<h4 id="structure-8">Easy to understand at once</h4>
<p>My boss, the founder of Superlinear Academy, who goes by Kedaibiao, once wrote in a post titled <em>Nouns, Verbs, and Craft</em> (title translated):</p>
<blockquote><p>Naming doesn&#x27;t make Craft simple. Naming makes Craft visible.</p></blockquote>
<p>Once something has a name, we can point to it, and other people can see it too. Before <em>hamburger</em>, you had to say “those three lines in the corner” and hope the other person was looking at the same spot. After it, one word does the pointing. A nickname gets there fastest because it describes what is in front of you: a wooden box with a tail, or three lines with a filling in the middle. If you&#x27;ve seen the shape, the name finds it straight away.</p>
<p>AI has words like this too. When a model confidently makes up papers or books that don&#x27;t exist, we say it is <em>hallucinating</em>. Geoffrey Hinton, often called the godfather of AI, has argued that this is the wrong word and that it should be called <em>confabulation</em>: Hallucination is about the senses, and the model isn&#x27;t perceiving anything. What it does is closer to what doctors call confabulation, filling gaps in memory with made-up details. That may well be more accurate, but <em>confabulation</em> needs explaining, while everyone understands “The AI is hallucinating again.” In 2023, Cambridge Dictionary named <a href="https://www.cambridgeenglish.org/news/view/hallucinate-is-cambridge-dictionarys-word-of-the-year-2023/"><em>hallucinate</em> its Word of the Year</a>.</p>
<p>Nicknames are also understood at once because they carry their stories with them. Say <em>Impressionism</em>, and that photography studio comes along; say <em>Bluetooth</em>, and so does the king. Looking back at Esperanto, I prefer to read “no culture” this way: What it lacked was the things a group of people had named together and remembered together.</p>
<h2 id="s4"><span>4</span><span>Names can be wrong, but nicknames can&#x27;t</span></h2>
<p>A line you often hear in Chinese says that names can be wrong, but nicknames can&#x27;t. Nicknames come from people who deal with something every day, which is why they fit. The same can happen with nicknames for people: Nobody needs to be told what a Karen is. Put simply, a name is made by the people who use it, not by the person who picks it. An official document can give a nickname a formal place, but long before that, it has already found a place in many conversations.</p>
<figure><img src="https://ink.ashtonshu.page/media/impressionists-hamburger-menu-vibe-coding/fig-called_w1600.png" width="1600" height="800" alt="A doodle of five people chatting, each with a speech bubble: a hamburger, a moth, a snake, a tooth and a mouse with a cord. Beside them lies an open dictionary with a speech bubble of its own, holding two entries."><figcaption><span>Fig. 8.</span>A name gets said over and over before it gets written down</figcaption></figure>
<h3 id="structure-9">Even the pronunciation isn&#x27;t up to the inventor</h3>
<p>Even the way a name is pronounced may be beyond its creator&#x27;s control. In 2013, GIF inventor Steve Wilhite received a Webby lifetime achievement award. Acceptance speeches were limited to five words, so he put his five on the screen: “It&#x27;s pronounced &#x27;Jif,&#x27; not &#x27;Gif.&#x27;” Yet many people kept using a hard <em>g</em>. In Stack Overflow&#x27;s <a href="https://survey.stackoverflow.co/2017/">2017 developer survey</a>, nearly 2 in 3 respondents chose the hard <em>g</em>, while just over 1 in 4 chose the soft one. The <em>Oxford Advanced Learner&#x27;s Dictionary</em> and Merriam-Webster include both pronunciations. Inventing something and deciding how everyone will say its name turn out to be separate jobs.</p>
<h3 id="heading-7">The pronunciation taught at school isn&#x27;t fixed either</h3>
<p>Language itself keeps changing, and pronunciation shows it. At school in China, each word was treated as having one correct pronunciation, much like the British idea of “proper English”: That was simply how you were supposed to say it. In middle school and high school, I lost count of how many times I was corrected. English class worked the same way. I first learned British English. Partway through, as people had more contact with North America, everyone switched to American English, and teachers began correcting us in the other direction. Either way, only one pronunciation counted.</p>
<p>Yet plenty of everyday words have two. Americans say <em>mobile</em> to rhyme with <em>noble</em>, while the British rhyme it with <em>smile</em>. <em>Tomato</em> has a long <em>a</em> on one side of the Atlantic and an <em>ah</em> on the other. Even the <em>t</em> in <em>often</em> can be said or left out. As Merriam-Webster puts it, “this dictionary reports both pronunciations as equally accepted.” The single proper way I was taught was more of a habit than a rule.</p>
<p>Nicknames benefit from the same kind of habit. A good one is so easy to remember and so plainly right that it stops sounding like a joke, and nobody thinks to look up the official name. Hardly anyone today hears <em>mouse</em> as a nickname. Sometimes the crowd&#x27;s version even replaces the real one in memory, the so-called Mandela effect: Plenty of people are sure the children&#x27;s books were <em>The Berenstein Bears</em>, though the series has always been <em>The Berenstain Bears</em>.</p>
<hr>
<p>Every so often, someone complains that people can no longer speak properly. In 1712, Swift called English “extremely imperfect” in <em>A Proposal for Correcting, Improving and Ascertaining the English Tongue</em> and wanted it fixed forever. More than 40 years later, in the preface to his 1755 <em>A Dictionary of the English Language</em>, Johnson admitted it could not be done: “To enchain syllables, and to lash the wind, are equally the undertakings of pride.” Language follows the people who speak it. Going further would take another post.</p>
<h3 id="structure-10">Back to design: Listen to what people call it</h3>
<p>Back in design, which was all I cared about at the start, I can draw one small conclusion for now: What users call something often matters more than the name we choose for it. Jakob Nielsen&#x27;s <em>10 Usability Heuristics for User Interface Design</em> puts it this way: “The design should <a href="https://www.nngroup.com/articles/ten-usability-heuristics/">speak the users&#x27; language</a>.” When a name makes sense to users at a glance and in conversation, it deserves a hearing when we write the guidelines.</p>
<h3 id="heading-8">Naming what you make</h3>
<p>This isn&#x27;t only about design. Naming is no different from any other kind of creative work. Whether you are raising a child, writing an essay, or painting a picture, you start out like a parent, with your own ideas and expectations, including how you hope readers or viewers will feel. But once the work is out in the world, it rarely lands the way you planned. When you finish, your part as the author is over. That is only the beginning, though: The work is half done, and the other half belongs to readers, viewers, and everyone else.</p>
<p>The novelist Joseph Conrad said as much in a letter to a friend in 1897: “One writes only half the book; the other half is with the reader.” In 1957, the artist Marcel Duchamp said of art that “the creative act is not performed by the artist alone.”</p>
<p>Names work the same way. Whether you&#x27;re naming a product, a feature, a newsletter, or a community, you can&#x27;t decide what everyone will end up calling it. What you can do is choose something easy to say, notice what people actually call it, and keep the nickname if it sticks. In 1914, Coca-Cola ran newspaper ads that read, “Demand the genuine by full name; <a href="https://texashistory.unt.edu/ark:/67531/metapth1438158/m1/7/">nicknames encourage substitution</a>.” By 1945, it had registered <em>Coke</em> as a trademark. Pushing people to switch rarely works: Twitter became X in 2023, yet years later, news reports still add that it was formerly known as Twitter.</p>
<h3 id="structure-11">An answer from over 2,000 years ago: usage decides</h3>
<p>People were already arguing about this in ancient Athens. In Plato&#x27;s dialogue <a href="https://plato.stanford.edu/entries/plato-cratylus/"><em>Cratylus</em></a>, Cratylus holds that every thing has a name that is correct by nature. Hermogenes disagrees: “I think no name belongs to any particular thing by nature, but only by the habit and custom of those who employ it and who established the usage.” Socrates questions them both, and the dialogue never quite settles it. Aristotle, Plato&#x27;s student, came down on the side of custom. In <a href="https://classics.mit.edu/Aristotle/interpretation.1.1.html"><em>On Interpretation</em></a>, he defined a noun as “a sound significant by convention” and added that “nothing is by nature a noun or name.”</p>
<p>Horace, writing in Rome around 10 BCE, went a step further in his <em>Art of Poetry</em>. Many words that have fallen out of use will be born again, he wrote, and many now in favour will fall, if usage wills it, because usage holds the judgement, the right, and the rule of speech. More than 1,700 years before Swift tried to fix English in place, Horace had already given the last word to the people who speak.</p>
<p>Nearly 2,000 years after Horace, the philosopher Ludwig Wittgenstein put it this way: “The meaning of a word is its use in the language.” If enough people keep using a name, it counts. In <em>Sapiens</em>, Yuval Noah Harari argues that humans can cooperate in large numbers because they share beliefs in things like companies and money. A name rests on the same kind of agreement, only much smaller: As long as everyone goes along with it, three lines are a hamburger.</p>
<p>So the next time someone gives something a silly nickname, don&#x27;t rush to correct them. A few years later, everyone may have forgotten the official name and remember only that nickname.</p>
<p>Has a nickname around you quietly made it into the official documents yet?</p>
<p>Originally published at <a href="https://ink.ashtonshu.page/impressionists-hamburger-menu-vibe-coding">MountainSide</a>.</p>]]></content:encoded></item><item><title>Be Dependable</title><link>https://ink.ashtonshu.page/be-dependable</link><guid isPermaLink="true">https://ink.ashtonshu.page/be-dependable</guid><pubDate>Sat, 07 Nov 2026 00:00:00 GMT</pubDate><description>On Monday, October 26, I accepted a placement at a local hospital.</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/be-dependable/hero-sketch-20261107.png" alt="A pencil sketch of a doorway: a packed tote bag with a folder and a laptop inside, and a folded umbrella leaning beside it."><div>
      

      <p>On Monday, October 26, I accepted a placement at a local hospital. For five weeks, from November 16 to December 18, I&#x27;ll help roll out their new visual identity across their five sites.</p>
      <p>This piece is mostly for future graduates of our program: anyone who hasn&#x27;t reached their final year yet and anyone who has but still feels lost about finding work.</p>

      </div><hr><p><em>About 3,000 words, 10 images, 13 minutes to read.</em></p>

      <p>I found this placement in a hurry. I didn&#x27;t start as early as our teachers told us to. I sent my first emails on October 15, spent about a week emailing and another week waiting and interviewing, and had an answer 11 days later.</p>
      <p>I could move that fast because I&#x27;ve worked full-time before and have sat on the other side of the table as an interviewer, so I&#x27;ve thought about this from the side of the person setting the test. We all found placements this time. But a placement is unpaid, real job hunting is another matter, and this round was bumpy for most of us anyway.</p>
      <p>So here is what I&#x27;ve learned. Maybe I&#x27;m just pulling rank. But I do hope it saves you a few wrong turns. If a teacher had told me all this when I finished university, I would have listened and still not really understood. It helped anyway: Every time I ran into the same problem later, I remembered that this was what they meant. That&#x27;s better than not knowing at all.</p>
      <p>By that Monday, four places had said yes. My work was part of it. But looking back, most of what helped me in October was something I did before October, or something I wish I had started sooner.</p>
      <p>For us, the placement is only the first step. The same things matter in our last term, when we look for work before graduation, and later when we try to be professional at work. The first part is six things I&#x27;d tell myself a year ago, each with a sketch. The last part lists what each place asked me in the interviews, if you&#x27;re curious.</p>
      <p>One thing before we start. This isn&#x27;t a big city, and our school helps us look for placements. If you already know people here, your family has a business in the field, or you know exactly who you want to work with, you may not need to send a single cold email. That&#x27;s fine.</p>
      <p>What I did is for starting cold: a new city, a field you haven&#x27;t worked in yet, or a place where you have the skills but nobody knows you. That was my situation when I came here, and it&#x27;s the same for many of our classmates who came from other countries or other provinces. If you grew up here, you may not need this for the placement, but you&#x27;ll be starting cold too if you move to Toronto, Vancouver, or the US one day, or start your own business. This might help you then.</p>

      <figure><div role="img" aria-label="May to December: The summer is free for the portfolio, the first emails go out in mid-October while classes are running, and the placement runs from mid-November."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 530">
  
  
  <g>
    <rect x="0" y="0" width="358" height="530" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="20.0" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="139.4136" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="258.8272" y="105" width="79.1728" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="258.8272" y="105" width="39.9136" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <line x1="258.8272" y1="117" x2="20" y2="171.5" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-dasharray="2 3"></line>
    <line x1="298.7407" y1="117" x2="338" y2="171.5" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-dasharray="2 3"></line>
    <rect x="20" y="265" width="107.1616" height="12" fill="none" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <rect x="127.1616" y="265" width="106.2904" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <rect x="233.4521" y="265" width="104.5479" height="12" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="3"></rect>
    <circle cx="127.1616" cy="271" r="3" fill="var(--fig-accent)"></circle>
    <line x1="127.1616" y1="277" x2="127.1616" y2="285" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <circle cx="330.1589" cy="271" r="3" fill="var(--fig-accent)"></circle>
    <line x1="330.1589" y1="277" x2="330.1589" y2="285" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <polyline points="127.1616,277 20,292 20,389.5" fill="none" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2 3"></polyline>
    <polyline points="233.4521,277 338,292 338,389.5" fill="none" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2 3"></polyline>
    <line x1="20" y1="436" x2="338" y2="436" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="20.0" y1="430" x2="20.0" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="127.1522" y1="430" x2="127.1522" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="230.8478" y1="430" x2="230.8478" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="338.0" y1="430" x2="338.0" y2="442" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <rect x="179.0" y="430" width="114.0652" height="12" fill="var(--fig-accent)" rx="3"></rect>
    <circle cx="68.3913" cy="436" r="3" fill="var(--fig-accent)"></circle>
    <line x1="68.3913" y1="442" x2="68.3913" y2="451" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <circle cx="106.413" cy="436" r="3" fill="var(--fig-accent)"></circle>
    
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">Where the search sits</tspan></text>
    <text x="20" y="85" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="85.0">Three years</tspan></text>
    <text x="338" y="85" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="85.0">Sep 2024 to Apr 2027</tspan></text>
    <text x="20" y="190" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="190.0">This school year</tspan></text>
    <text x="338" y="190" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="190.0">May 2026 to Apr 2027</tspan></text>
    <text x="134.16160000000002" y="256" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="134.16160000000002" y="256">Sep</tspan></text>
    <text x="20" y="220" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="220">Summer: portfolio,</tspan><tspan x="20" y="238">no classes</tspan></text>
    <text x="127.1616" y="220" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="127.1616" y="220">Fall term</tspan></text>
    <text x="233.4521" y="220" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="233.4521" y="220">Winter term,</tspan><tspan x="233.4521" y="238">our last</tspan></text>
    <text x="127.1616" y="315" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="127.1616" y="315">Grad Show work starts</tspan></text>
    <text x="306" y="345" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="end"><tspan x="306" y="345">Grad Show, Apr 22</tspan></text>
    <text x="20" y="408" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="20" y="408">This fall</tspan></text>
    <text x="338" y="408" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="end"><tspan x="338" y="408">Oct to Dec</tspan></text>
    <text x="20" y="463" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="463">Oct 15 first emails</tspan></text>
    <text x="20" y="495" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="495">Oct 26 accepted</tspan></text>
    <text x="338" y="463" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="463">Placement</tspan><tspan x="338" y="481">Nov 16 to Dec 18</tspan></text>
  </g>
</svg></div>
        <figcaption><span>Fig. 0</span>The search is a small slice of the program, and it starts while classes are still running.</figcaption></figure>

      <hr>

      <section>
        <h2 id="s1"><span>1</span><span>Why 10 emails is not enough</span></h2>
        <p>Here are my numbers. All told, I wrote to 32 people at 26 organizations. Sixteen never answered, and one sent only an auto-reply. Fifteen wrote back. Six of those said no, mostly because they had no room this year. Four said they&#x27;d think about it, and I never heard from them again. The other five turned into a call or an interview, and four of those said yes.</p>
        <p>I&#x27;m not sharing these to say you should write to 32 places. I&#x27;m sharing them because of what they hide.</p>
        <p>Say 30% of the places you write to would reply. That does not mean 10 emails get you 3 replies, because you don&#x27;t know which places are in that 30%. With 10 emails you could reach 1 of them, or 5 of them. <strong>Getting fewer than 3 replies happens almost 4 times out of 10.</strong> Once in a while you miss every one. </p><p>With 100 emails, about 9 times out of 10 you end up somewhere between 23 and 38 replies.</p>
        <figure><div role="img" aria-label="Three students send 10 emails each and get 1, 3, and 5 replies. Sending 100 keeps the reply rate close to 30%."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 700">
  
  
  <g>
    <rect x="0" y="0" width="358" height="700" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="16" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="28.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="64.4" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="91.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="46.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="55.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="55.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="46.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="187.4" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="82.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="91.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="64.4" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="28.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="100.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="109.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="28.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="55.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="73.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="82.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="28.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="37.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="55.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="64.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="73.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="100.8" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="109.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="28.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="37.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="46.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="55.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="64.4" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="73.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="82.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="91.7" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="100.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="109.9" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <rect x="126" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="138.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="156.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="151.0" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="174.4" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="183.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="201.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="156.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="165.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="169.2" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="201.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="192.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="156.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="201.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="174.4" cy="196.5" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="174.4" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="183.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="138.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="156.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="165.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="183.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="219.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="165.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="174.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="183.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="192.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="138.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="147.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="165.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="174.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="210.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="138.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="147.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="156.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="165.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="174.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="183.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="192.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="201.7" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="210.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="219.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <rect x="236" y="133" width="106" height="177" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
    <circle cx="248.0" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="151.0" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="311.7" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="151.0" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="320.8" cy="151.0" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="329.9" cy="151.0" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="266.2" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="275.3" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="160.1" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="293.5" cy="160.1" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="302.6" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="160.1" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="160.1" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="160.1" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="169.2" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="329.9" cy="169.2" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="178.3" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="178.3" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="275.3" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="178.3" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="266.2" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="187.4" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="311.7" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="187.4" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="284.4" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="196.5" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="196.5" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="196.5" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="257.1" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="205.6" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="284.4" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="205.6" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="329.9" cy="205.6" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="214.7" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="266.2" cy="214.7" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="275.3" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="293.5" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="302.6" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="214.7" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="320.8" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="214.7" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="248.0" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="257.1" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="223.8" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="275.3" cy="223.8" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="284.4" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="320.8" cy="223.8" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="223.8" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="248.0" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="257.1" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="266.2" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="275.3" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="284.4" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="293.5" cy="232.9" r="2.35" fill="var(--fig-dot)"></circle>
    <circle cx="302.6" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="311.7" cy="232.9" r="2.35" fill="var(--fig-accent)"></circle>
    <circle cx="311.7" cy="232.9" r="3.7" fill="none" stroke="currentColor" stroke-width="0.8"></circle>
    <circle cx="320.8" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="329.9" cy="232.9" r="2.35" fill="var(--fig-idle)"></circle>
    <circle cx="26" cy="321" r="3" fill="var(--fig-dot)"></circle>
    <circle cx="26" cy="339" r="3" fill="var(--fig-idle)"></circle>
    <circle cx="26" cy="339" r="4.7" fill="none" stroke="currentColor" stroke-width="1"></circle>
    <circle cx="26" cy="357" r="3" fill="var(--fig-accent)"></circle>
    <circle cx="26" cy="357" r="4.7" fill="none" stroke="currentColor" stroke-width="1"></circle>
    <line x1="20" y1="475.0" x2="338" y2="475.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="30" y1="505.0" x2="30" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="79" y1="505.0" x2="79" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="128" y1="505.0" x2="128" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="177" y1="505.0" x2="177" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="226" y1="505.0" x2="226" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="275" y1="505.0" x2="275" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="324" y1="505.0" x2="324" y2="580.0" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="177" y1="505.0" x2="177" y2="580.0" stroke="var(--fig-muted)" stroke-width="1.1" stroke-linecap="round" stroke-dasharray="3 3"></line>
    <rect x="79.0" y="505.0" width="196.0" height="14" rx="7" fill="var(--fig-dot)"></rect>
    <rect x="142.7" y="560.0" width="73.5" height="14" rx="7" fill="var(--fig-accent)"></rect>
    <circle cx="124" cy="400.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="160" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="178" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="196" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="214" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="400.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="124" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="160" cy="423.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="178" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="196" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="214" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="423.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="124" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="142" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="160" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="178" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="196" cy="446.0" r="4" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></circle>
    <circle cx="214" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="232" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="250" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="268" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
    <circle cx="286" cy="446.0" r="4" fill="none" stroke="var(--fig-muted)" stroke-width="1"></circle>
  </g>
  <g>
    <rect x="17.0" y="479.35" width="55.78999999999999" height="18.2" fill="var(--fig-paper)"></rect>
    <rect x="17.0" y="534.35" width="63.199999999999996" height="18.2" fill="var(--fig-paper)"></rect>
    <rect x="257.375" y="480.925" width="83.625" height="16.099999999999998" fill="var(--fig-paper)"></rect>
    <rect x="244.265" y="535.925" width="96.735" height="16.099999999999998" fill="var(--fig-paper)"></rect>
  </g>
  <g>
    <text x="20" y="40.0" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40.0">Same chance, different luck</tspan></text>
    <text x="20" y="76.0" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="76.0">Say 30 of every 100 places would write back to you. </tspan><tspan x="20" y="94.0">You just don&#x27;t know which 30.</tspan></text>
    <text x="25" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="25" y="263.0">Student A</tspan></text>
    <text x="25" y="284.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="25" y="284">10 emails</tspan><tspan x="25" y="300">1 reply</tspan></text>
    <text x="135" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="135" y="263.0">Student B</tspan></text>
    <text x="135" y="284.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="135" y="284">10 emails</tspan><tspan x="135" y="300">3 replies</tspan></text>
    <text x="245" y="263.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="245" y="263.0">Student C</tspan></text>
    <text x="245" y="284.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="245" y="284">10 emails</tspan><tspan x="245" y="300">5 replies</tspan></text>
    <text x="40" y="325.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="325.0">would write back</tspan></text>
    <text x="40" y="343.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="343.0">where you sent an email</tspan></text>
    <text x="40" y="361.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="40" y="361.0">a reply</tspan></text>
    <text x="20" y="493.0" font-size="13" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="493.0">Send 10</tspan></text>
    <text x="20" y="548.0" font-size="13" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="548.0">Send 100</tspan></text>
    <text x="30" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="30" y="602.0">0%</tspan></text>
    <text x="79" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="79" y="602.0">10%</tspan></text>
    <text x="128" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="128" y="602.0">20%</tspan></text>
    <text x="177" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="177" y="602.0">30%</tspan></text>
    <text x="226" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="226" y="602.0">40%</tspan></text>
    <text x="275" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="275" y="602.0">50%</tspan></text>
    <text x="324" y="602.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="324" y="602.0">60%</tspan></text>
    <text x="338" y="493.0" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="493.0">1 to 5 replies</tspan></text>
    <text x="338" y="548.0" font-size="11.5" font-weight="400" fill="var(--fig-accent)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="548.0">23 to 38 replies</tspan></text>
    <text x="20" y="630.0" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="630.0">Share of emails that get a reply, about nine times in </tspan><tspan x="20" y="647.0">ten. Same 30% chance in both rows.</tspan></text>
    <text x="20" y="404.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="404.0">Student A</tspan></text>
    <text x="338" y="404.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="404.0">1</tspan></text>
    <text x="20" y="427.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="427.0">Student B</tspan></text>
    <text x="338" y="427.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="427.0">3</tspan></text>
    <text x="20" y="450.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="450.0">Student C</tspan></text>
    <text x="338" y="450.0" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="end"><tspan x="338" y="450.0">5</tspan></text>
    <text x="20" y="673.0" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="673.0">Model: binomial distribution</tspan></text>
  </g>
</svg></div>
          <figcaption><span>Fig. 1</span>Same 30% chance in every grid. Ten emails can land anywhere from 1 to 5 replies; 100 keep you close to 30%. The math is the binomial distribution.</figcaption></figure>
        <p>So a strong portfolio raises your chance, but it can&#x27;t do much with 10 emails. <strong>Write to more places than feels comfortable</strong>, and decide early which ones matter most. I&#x27;ll come back to how I did that in <a href="https://ink.ashtonshu.page/be-dependable#s4">Part 4</a>.</p>
        <p>There&#x27;s a line I first heard in an online community I help run, from people working in Silicon Valley, graphic designers and programmers alike: <strong>Finding a job is a full-time job.</strong> That&#x27;s even more true if you&#x27;ve never worked on an in-house team.</p>
      </section>

      

      <section>
        <h2 id="s2"><span>2</span><span>A website first, with a PDF ready</span></h2>
        <p>Over the summer I put together a PDF portfolio. Then in early October, a few weeks into our web course, I bought a domain and built my own site. It went live on October 15, the same evening my first round of emails to hosts went out. Every email carried the link and no attachment.</p>
        <p>A link means people see your work at first glance, whether or not they want to download anything.</p><p>This matters even more for a placement. You&#x27;re free labour, so some companies and HR teams may not read your résumé at all. A link can still get a quick click from someone who isn&#x27;t that interested. A file to download adds just enough friction to lose them. Some might skip all of it and simply ask you to come try, since you cost them nothing. At this stage, that isn&#x27;t a bad thing. When they&#x27;re paying you, it&#x27;s another story.</p><p><strong>That&#x27;s one of the reasons I recommend having a personal website even before your PDF portfolio.</strong></p>
        <figure><div role="img" aria-label="With a PDF attached, the reader takes four steps to reach the work. With a link, it takes three."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 700">



<rect x="0" y="0" width="358" height="700" rx="0" fill="var(--fig-paper)"></rect>
<rect x="20" y="116" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="173" x2="94" y2="182" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,178 L94,182 L97,178" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="188" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="245" x2="94" y2="254" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,250 L94,254 L97,250" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="260" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="94" y1="317" x2="94" y2="326" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M91,322 L94,326 L97,322" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="20" y="332" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="190" y="116" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="264" y1="173" x2="264" y2="182" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M261,178 L264,182 L267,178" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="190" y="188" width="148" height="50" rx="7" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="264" y1="245" x2="264" y2="254" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M261,250 L264,254 L267,250" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="190" y="260" width="148" height="50" rx="7" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1"></rect>
<line x1="20" y1="408" x2="338" y2="408" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">Put your work one click away</tspan></text>
<text x="20" y="91" font-size="13" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="91.0">With a PDF attached</tspan></text>
<text x="94" y="145.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="145.0">Open the email</tspan></text>
<text x="94" y="217.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="217.0">Download the file</tspan></text>
<text x="94" y="289.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="289.0">Open the PDF</tspan></text>
<text x="94" y="361.0" font-size="12.5" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="94" y="361.0">Find the work</tspan></text>
<text x="190" y="91" font-size="13" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="190" y="91.0">With a link to your site</tspan></text>
<text x="264" y="145.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="145.0">Open the email</tspan></text>
<text x="264" y="217.0" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="217.0">Click the link</tspan></text>
<text x="264" y="289.0" font-size="12.5" font-weight="600" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="264" y="289.0">See the work</tspan></text>
<text x="20" y="509" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="509">Look through your site: designers, a design team, a </tspan><tspan x="20" y="527">director who looks after the brand.</tspan></text>
<text x="20" y="439" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="439">Still ask for the PDF: some managers, often older ones, </tspan><tspan x="20" y="457">and later some of your clients.</tspan></text>
<text x="20" y="579" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="579">Won&#x27;t open either: anyone on a tight budget</tspan><tspan x="20" y="599">or with no real need yet. However good your</tspan><tspan x="20" y="619">work, you may not hear back.</tspan></text>
<text x="20" y="672" font-size="15" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="672">Keep both ready.</tspan></text>
</svg></div>
          <figcaption><span>Fig. 2a</span>Every step before the work is a step where someone can stop.</figcaption></figure>
        <p>In UI/UX today we design <em>mobile first</em>, because desktop is no longer the main use case. I feel the same way about portfolios. Website first, PDF ready. I know school will probably still tell you to start with the PDF. That&#x27;s not a knock on school. Teaching always runs a step behind. If you&#x27;ve taken our web course, you&#x27;ve seen classes slowly move from Adobe XD to Figma, a change the industry finished a while ago, and it has already moved on to newer tools.</p>
        <h3 id="s2a">Who reads the site and who asks for the PDF</h3>
        <p>Who looks at what depends on who they are. People with a design eye, like a design team, a studio, or a director who looks after the brand, will go through your site properly. The director of operations at an industry association had looked at my portfolio online and told me that even before we met, it was clear I could handle the job. </p><p>Others still want the PDF, often older managers or people who simply don&#x27;t like browsing a site. HR at a group of companies called to ask for mine before the interview. Clients will be the same if you run your own studio one day. Keep both ready.</p>
        <h3 id="s2b">Four to six featured, the rest as a collection</h3>
        <p>For both, I used the same rule. <strong>Pick four to six of your strongest projects and show the brief, the process, and the result. Put everything else in a collection</strong>, one image and one line each.</p>
        <figure><div role="img" aria-label="A portfolio site with five large featured projects on top and a grid of small collection pieces below."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 652">



<rect x="0" y="0" width="358" height="652" rx="0" fill="var(--fig-paper)"></rect>
<rect x="16" y="106" width="326" height="303" rx="8" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="16" y1="152" x2="342" y2="152" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<rect x="32" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="42" y1="231" x2="80" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="134" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="144" y1="231" x2="182" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="236" y="190" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="246" y1="231" x2="284" y2="231" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="32" y="254" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="42" y1="295" x2="80" y2="295" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="134" y="254" width="90" height="53" rx="4" fill="var(--fig-accent)" fill-opacity="0.16"></rect>
<line x1="144" y1="295" x2="182" y2="295" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linecap="round"></line>
<rect x="32.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="74.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="116.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="158.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="200.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="242.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="284.0" y="347" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="32.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="74.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="116.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="158.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="200.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="242.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<rect x="284.0" y="375" width="36" height="20" rx="3" fill="var(--fig-line)"></rect>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">Four to six featured, the rest as a </tspan><tspan x="20" y="66">collection</tspan></text>
<text x="32" y="135" font-size="12" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="135.0">your name</tspan></text>
<text x="326" y="135" font-size="11.5" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="326" y="135.0">Work    About    Contact</tspan></text>
<text x="32" y="178" font-size="12.5" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="178.0">Featured</tspan></text>
<text x="32" y="332" font-size="12.5" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="332.0">Collection</tspan></text>
<text x="20" y="451" font-size="14" font-weight="600" fill="var(--fig-accent)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="451.0">Featured</tspan></text>
<text x="20" y="477" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="477.0">Your 4 to 6 strongest projects.</tspan></text>
<text x="20" y="499" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="499.0">Each one shows the brief,</tspan></text>
<text x="20" y="521" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="521.0">the process and the result.</tspan></text>
<text x="20" y="570" font-size="14" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="570.0">Collection</tspan></text>
<text x="20" y="596" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="596.0">Everything else,</tspan></text>
<text x="20" y="618" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="618.0">one image and one line each.</tspan></text>
</svg></div>
          <figcaption><span>Fig. 2b</span>Featured projects carry the story. The collection shows range.</figcaption></figure>
        <p>One small thing I missed. My first email had no phone number and no résumé, and the hospital asked for both in their reply. Put them in your signature.</p>
      </section>

      <hr>

      <section>
        <h2 id="s3"><span>3</span><span>Studios, the art route, and in-house teams</span></h2>
        <p>When we picture a design job, most of us picture a studio. It&#x27;s worth knowing what else is out there, because <strong>you are a designer, not an artist</strong>, and the work comes in three kinds.</p>
        <h3 id="s3a">Design studios</h3>
        <p>Studios judge your ideas and your craft. They are full of designers and usually want people with experience. Unless you&#x27;re changing careers with design work behind you and a very strong portfolio, I wouldn&#x27;t start there. One kind of studio needs its own note, the ones close to our school. I&#x27;ll come back to those in <a href="https://ink.ashtonshu.page/be-dependable#s6near">Part 6</a>.</p>
        <h3 id="s3b">Arts-leaning work</h3>
        <p>This path cares more about your own voice, your people skills, or pure creative range. It&#x27;s a different path, and not what this piece is about.</p>
        <h3 id="s3c">In-house teams</h3>
        <p>In-house teams sit inside places whose main job isn&#x27;t design: a hospital, a factory, a school, a science centre. Many of us will land here, and it&#x27;s where I aimed. The four that said yes were all places like this.</p>
        <figure><div role="img" aria-label="Design studios judge ideas and craft, arts-leaning work judges your own voice, in-house teams judge reliability."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 400">
  
  
  <g>
    <rect x="0" y="0" width="358" height="400" fill="var(--fig-paper)" rx="0"></rect>
    <line x1="31" y1="91" x2="31" y2="325" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="115" x2="37" y2="115" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="187" x2="37" y2="187" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="259" x2="37" y2="259" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M39,255 L46,259 L39,263 Z" fill="var(--fig-accent)"></path>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">Three kinds of design work</tspan></text>
    <text x="20" y="76" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="76.0">More creative</tspan></text>
    <text x="56" y="116" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="56" y="116.0">Design studio</tspan></text>
    <text x="56" y="140" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="140">Values your ideas and craft.</tspan></text>
    <text x="56" y="188" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="56" y="188.0">Arts-leaning work</tspan></text>
    <text x="56" y="212" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="212">Values your own voice and people skills.</tspan></text>
    <text x="56" y="260" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="56" y="260.0">In-house team</tspan></text>
    <text x="56" y="284" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="56" y="284">Values whether they can rely on you.</tspan></text>
    <text x="56" y="310" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="56" y="310.0">Where I aimed</tspan></text>
    <text x="20" y="345" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="345.0">More stable</tspan></text>
    <text x="20" y="375" font-size="15" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="375">Where you aim decides where you land.</tspan></text>
  </g>
</svg></div>
          <figcaption><span>Fig. 3</span>Three kinds of design work. Where you aim decides where you land.</figcaption></figure> <p>That&#x27;s my result, not a rule. What you get depends on what you start out wanting. I wanted stable work, and right now that matters more to me than how creative the job is. So I wrote mostly to places like these, and that&#x27;s where the yeses came from. Start from somewhere else and your list, your numbers, and your result will look different.</p>
        <p>In these places, the first question isn&#x27;t how creative you are. It&#x27;s whether they can hand you the work and stop worrying about it.</p>
      </section>

      

      <section>
        <h2 id="s4"><span>4</span><span>How I ranked places and scored offers</span></h2>
        <h3 id="s4a">Before you write to anyone</h3>
        <p>Before I wrote to anyone, I sorted every place on my list by two questions. Could I see myself working there after graduation? How easy are they to reach? That gave me four tiers. Then one more check. Do they have their own marketing or design team? If they do, there is real design work waiting.</p>
        <figure><div role="img" aria-label="A two by two grid. Across: how easy they are to reach, from hard to easy. Up: Could I work there after graduation, from no to yes. Places that are a yes and easy to reach come first."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 705">



<rect x="0" y="0" width="358" height="705" rx="0" fill="var(--fig-paper)"></rect>
<rect x="210" y="140" width="124" height="124" rx="8" fill="var(--fig-accent)"></rect>
<rect x="78" y="140" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="210" y="272" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<rect x="78" y="272" width="124" height="124" rx="8" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1"></rect>
<line x1="58" y1="388" x2="58" y2="143" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M55,139 L58,143 L61,139" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<line x1="78" y1="416" x2="334" y2="416" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linecap="round"></line>
<path d="M330,413 L334,416 L330,419" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
<rect x="16" y="513" width="326" height="168" rx="8" fill="var(--fig-soft)"></rect>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">Rank before you send</tspan></text>
<text x="272" y="194" font-size="30" font-weight="600" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="194.0">1st</tspan></text>
<text x="272" y="221" font-size="12" font-weight="400" fill="var(--fig-paper)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="221.0">start here</tspan></text>
<text x="140" y="194" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="194.0">2nd</tspan></text>
<text x="140" y="221" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="221.0">worth the</tspan></text>
<text x="140" y="239" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="239.0">extra effort</tspan></text>
<text x="272" y="326" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="272" y="326.0">3rd</tspan></text>
<text x="140" y="326" font-size="30" font-weight="600" fill="currentColor" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="326.0">4th</tspan></text>
<text x="140" y="353" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="140" y="353.0">last</tspan></text>
<text x="78" y="438" font-size="12" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="78" y="438.0">Hard</tspan></text>
<text x="334" y="438" font-size="12" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="334" y="438.0">Easy</tspan></text>
<text x="206" y="469" font-size="12.5" font-weight="600" fill="var(--fig-muted)" text-anchor="middle" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="206" y="469">How easy are they to reach?</tspan></text>
<text x="47" y="151" font-size="11.5" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="47" y="151.0">Yes</tspan></text>
<text x="47" y="391" font-size="11.5" font-weight="600" fill="currentColor" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="47" y="391.0">No</tspan></text>
<text x="20" y="82" font-size="13" font-weight="600" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="82">Could I work there after graduation?</tspan></text>
<text x="32" y="542" font-size="14" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="542.0">Then one more check</tspan></text>
<text x="32" y="570" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="570.0">Do they have their own</tspan></text>
<text x="32" y="591" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="591.0">marketing or design team?</tspan></text>
<text x="32" y="632" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="632.0">If they do, there is real</tspan></text>
<text x="32" y="653" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="32" y="653.0">design work waiting.</tspan></text>
</svg></div>
          <figcaption><span>Fig. 4a</span>Two questions, four tiers, one extra check.</figcaption></figure>
        <h3 id="s4b">Once you have options</h3>
        <p>Once I had real options on the table, I scored each one from 1 to 5 on five things and weighted them. Stability and funding counted most. Then whether the role was real. Then career value, the chance to stay on, and the commute and hours.</p>
        <figure><div role="img" aria-label="Score each offer from 1 to 5, then weight stability and funding at 25, whether the role is real at 20, career value and the chance to stay on at 15 each, and commute and time at 10. The descending bars make stability the largest factor; personal preference is noted separately without a score."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 568">



<rect x="0" y="0" width="358" height="568" rx="0" fill="var(--fig-paper)"></rect>
<rect x="20" y="144" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="144" width="318.0" height="14" rx="4" fill="var(--fig-accent)"></rect>
<rect x="20" y="214" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="214" width="254.4" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="284" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="284" width="190.8" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="354" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="354" width="190.8" height="14" rx="4" fill="var(--fig-dot)"></rect>
<rect x="20" y="424" width="318" height="14" rx="4" fill="var(--fig-soft)"></rect>
<rect x="20" y="424" width="127.2" height="14" rx="4" fill="var(--fig-dot)"></rect>
<line x1="20" y1="469" x2="338" y2="469" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
<text x="20" y="40" font-size="20.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="40">Score before you choose</tspan></text>
<text x="20" y="77" font-size="12.5" font-weight="400" fill="var(--fig-muted)" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="77.0">Each one scored 1 to 5, then weighted.</tspan></text>
<text x="20" y="130" font-size="13.5" font-weight="600" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="130.0">Stability and funding</tspan></text>
<text x="338" y="130" font-size="12" font-weight="400" fill="var(--fig-accent)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="130.0">weight 25</tspan></text>
<text x="20" y="200" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="200.0">Is the role real?</tspan></text>
<text x="338" y="200" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="200.0">weight 20</tspan></text>
<text x="20" y="270" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="270.0">Career value</tspan></text>
<text x="338" y="270" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="270.0">weight 15</tspan></text>
<text x="20" y="340" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="340.0">Chance to stay on</tspan></text>
<text x="338" y="340" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="340.0">weight 15</tspan></text>
<text x="20" y="410" font-size="13.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="410.0">Commute and time</tspan></text>
<text x="338" y="410" font-size="12" font-weight="400" fill="var(--fig-muted)" text-anchor="end" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="338" y="410.0">weight 10</tspan></text>
<text x="20" y="498" font-size="12.5" font-weight="400" fill="currentColor" text-anchor="start" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif"><tspan x="20" y="498">One thing I wrote down but did not score: which place </tspan><tspan x="20" y="516">I simply liked more.</tspan></text>
</svg></div>
          <figcaption><span>Fig. 4b</span>The weights I used. Yours may differ; write them down before the offers arrive.</figcaption></figure>
        <p>The hospital came out on top. There was one thing I wrote down but didn&#x27;t score. I liked the science museum&#x27;s pace and atmosphere more, away from a medical setting. It was a feeling, so I kept it beside the numbers instead of inside them. <strong>A score doesn&#x27;t make the choice for you. It shows you what you&#x27;re trading.</strong></p>
      </section>

      <hr>

      <section>
        <h2 id="s5"><span>5</span><span>Being someone people can count on</span></h2>
        <p>This one starts at school, long before any placement.</p>
        <h3 id="s5a">Say it before, not after</h3>
        <p>Teachers tell us all the time: If anything comes up, email me. I&#x27;d add one thing. Don&#x27;t panic, and don&#x27;t be afraid to send that email. If you can&#x27;t make it to class, or your work is going to be late, say so before, not after it&#x27;s over. Real emergencies happen. Then write as soon as you can afterwards and explain what happened. It won&#x27;t fix that one time. <strong>But if you do it every time, people learn they can count on you.</strong></p>
        <figure><div role="img" aria-label="Telling a teacher the same day leads to a plan. Waiting means the deadline passes and they find out."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 505">
  
  
  <g>
    <rect x="0" y="0" width="358" height="505" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="75.0" y="64" width="208" height="36" fill="var(--fig-soft)" stroke="var(--fig-line)" stroke-width="1" rx="7"></rect>
    <line x1="179.0" y1="144" x2="94" y2="158" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="94" y1="158" x2="94" y2="167" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,163 L94,167 L97,163" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <line x1="179.0" y1="144" x2="264" y2="158" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="264" y1="158" x2="264" y2="167" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,163 L264,167 L267,163" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="175" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-accent)" stroke-width="1" rx="7"></rect>
    <line x1="94" y1="216" x2="94" y2="231" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,227 L94,231 L97,227" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="234" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-accent)" stroke-width="1" rx="7"></rect>
    <line x1="94" y1="275" x2="94" y2="354" stroke="var(--fig-accent)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M91,350 L94,354 L97,350" fill="none" stroke="var(--fig-accent)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="20.0" y="360" width="148" height="85" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1.5" rx="7"></rect>
    <rect x="190.0" y="175" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="216" x2="264" y2="231" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,227 L264,231 L267,227" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="234" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="275" x2="264" y2="290" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,286 L264,290 L267,286" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="293" width="148" height="38" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1" rx="7"></rect>
    <line x1="264" y1="334" x2="264" y2="354" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <path d="M261,350 L264,354 L267,350" fill="none" stroke="var(--fig-muted)" stroke-width="1.2" stroke-linejoin="round"></path>
    <rect x="190.0" y="360" width="148" height="85" fill="var(--fig-soft)" stroke="var(--fig-muted)" stroke-width="1.5" rx="7"></rect>
    <line x1="20" y1="462" x2="338" y2="462" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">Say it before, not after</tspan></text>
    <text x="179.0" y="87" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="middle"><tspan x="179.0" y="87.0">Something comes up</tspan></text>
    <text x="179.0" y="123" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="middle"><tspan x="179.0" y="123">The only difference: when you speak</tspan></text>
    <text x="94" y="198.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="middle"><tspan x="94" y="198.0">Tell them that day</tspan></text>
    <text x="94" y="257.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="middle"><tspan x="94" y="257.0">Agree on a plan</tspan></text>
    <text x="32.0" y="382" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-paper)" text-anchor="start"><tspan x="32.0" y="382">You still have </tspan><tspan x="32.0" y="401">choices. They can </tspan><tspan x="32.0" y="420">count on you.</tspan></text>
    <text x="264" y="198.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="198.0">Wait and hope</tspan></text>
    <text x="264" y="257.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="257.0">The deadline passes</tspan></text>
    <text x="264" y="316.0" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="middle"><tspan x="264" y="316.0">They find out</tspan></text>
    <text x="202.0" y="382" font-size="12.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="202.0" y="382">The choices are </tspan><tspan x="202.0" y="401">gone. They start </tspan><tspan x="202.0" y="420">checking on you.</tspan></text>
    <text x="20" y="482" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="482">A real emergency? Write as soon as you can </tspan><tspan x="20" y="499">afterwards, and say what happened.</tspan></text>
  </g>
</svg></div>
          <figcaption><span>Fig. 5a</span>The same problem. The only difference is when you speak.</figcaption></figure>
        <p>The same habit carried straight into my placement. Before it had even started, I knew I might need to leave early one Friday. I told the hospital and our placement coordinator in the same email, said I would make up the hours over the following weeks, and asked both of them to agree. The Placement Guide is clear about why both:</p>
        <blockquote><p>Any lapse by the student in reporting an absence to both the employer and the Work Integrated Learning Coordinator will cause the student to fail the course.</p></blockquote>
        <p><strong>This is also what interviewers listen for.</strong> When something goes wrong, your first thought should be: Who do I tell first, who owns this, who do I need to talk to? If that is already your habit, it shows in how you answer their questions.</p> <p><strong>Pay and terms work the same way.</strong> This week a classmate told our group chat about a design job for a real client. Pay and a contract never came up at the start, so the client assumed it was free, since it was a student assignment. Then came a request for the source files, and an NDA that would have kept the work out of their portfolio and the grad show. They turned the NDA down, and they know what they&#x27;ll do next time. So talk about pay, scope, source files, and whether you can show the work before you start. Once you&#x27;ve said yes, raising it later usually doesn&#x27;t go over well. It isn&#x27;t always wrong, but if the scope hasn&#x27;t really changed, it&#x27;s a bit like reopening a signed contract. If the scope does grow, that&#x27;s the moment to speak up.</p>
        <h3 id="s5b">The five-minute test</h3>
        <p>The second habit is smaller. Pick a project from last year. <strong>Could you find a certain version of it, the reference behind it, or a screenshot, in five minutes?</strong> It sounds fussy. But at a hospital, a factory, or a school, your manager or client will pick an old version as the final, or as the template for the next one. A lead designer or your boss can also ask to see any earlier round, so keep the versions nobody picked. One folder per project and dated file names are enough.</p>
        <figure><div role="img" aria-label="Before: loose files named final and final_FINAL on the desktop. After: one folder per project with dated versions."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 825">
  
  
  <g>
    <rect x="0" y="0" width="358" height="825" fill="var(--fig-paper)" rx="0"></rect>
    <rect x="16" y="95" width="326" height="269" fill="var(--fig-paper)" stroke="var(--fig-line)" stroke-width="1" rx="8"></rect>
    <rect x="16" y="386" width="326" height="344" fill="var(--fig-paper)" stroke="var(--fig-accent)" stroke-width="1.5" rx="8"></rect>
    <path d="M33,142 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,169 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,196 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,223 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,250 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,277 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,304 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <path d="M33,331 h7 l3,3 v9 h-10 z" fill="none" stroke="var(--fig-muted)" stroke-width="0.9"></path>
    <line x1="41" y1="458" x2="41" y2="708" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="474" x2="51" y2="474" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="500" x2="51" y2="500" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="526" x2="51" y2="526" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="41" y1="552" x2="51" y2="552" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
    <rect x="70" y="565" width="256" height="38" fill="none" stroke="var(--fig-accent)" stroke-width="1" rx="4" stroke-dasharray="3 3"></rect>
    <rect x="70" y="611" width="256" height="38" fill="none" stroke="var(--fig-accent)" stroke-width="1" rx="4" stroke-dasharray="3 3"></rect>
    <rect x="70" y="657" width="256" height="46" fill="var(--fig-accent)" stroke="var(--fig-accent)" stroke-width="1" rx="4"></rect>
    <line x1="41" y1="712" x2="51" y2="712" stroke="var(--fig-line)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="40" font-size="20.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="40">Could you find it in five </tspan><tspan x="20" y="66">minutes?</tspan></text>
    <text x="32" y="124" font-size="14" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="32" y="124.0">Before: Desktop</tspan></text>
    <text x="54" y="152" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="152.0">final.ai</tspan></text>
    <text x="54" y="179" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="179.0">final_FINAL.ai</tspan></text>
    <text x="54" y="206" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="206.0">final_FINAL_v2_real.ai</tspan></text>
    <text x="54" y="233" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="233.0">logo new (1).png</tspan></text>
    <text x="54" y="260" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="260.0">Screenshot (14).png</tspan></text>
    <text x="54" y="287" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="287.0">Screenshot (15).png</tspan></text>
    <text x="54" y="314" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="314.0">ref.jpg</tspan></text>
    <text x="54" y="341" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="54" y="341.0">ref2.jpg</tspan></text>
    <text x="32" y="416" font-size="14" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-accent)" text-anchor="start"><tspan x="32" y="416.0">After: one folder per project</tspan></text>
    <text x="32" y="448" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="32" y="448.0">2026-03 client-rebrand/</tspan></text>
    <text x="56" y="478" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="478.0">01 brief/</tspan></text>
    <text x="56" y="504" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="504.0">02 references/</tspan></text>
    <text x="56" y="530" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="530.0">03 sketches/</tspan></text>
    <text x="56" y="556" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="556.0">04 versions/</tspan></text>
    <text x="78" y="582" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="78" y="582.0">logo_v01_2026-03-02.ai</tspan></text>
    <text x="78" y="598" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="78" y="598.0">kept, in case they ask</tspan></text>
    <text x="78" y="628" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="78" y="628.0">logo_v02_2026-03-09.ai</tspan></text>
    <text x="78" y="644" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="78" y="644.0">kept, in case they ask</tspan></text>
    <text x="78" y="674" font-size="12.5" font-weight="600" font-family="ui-monospace, Menlo, Consolas, monospace" fill="var(--fig-paper)" text-anchor="start"><tspan x="78" y="674.0">logo_v03_2026-03-14.ai</tspan></text>
    <text x="78" y="696" font-size="12" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-paper)" text-anchor="start"><tspan x="78" y="696.0">the one they picked</tspan></text>
    <text x="56" y="716" font-size="12.5" font-weight="400" font-family="ui-monospace, Menlo, Consolas, monospace" fill="currentColor" text-anchor="start"><tspan x="56" y="716.0">05 final/</tspan></text>
    <text x="20" y="770" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="770">A lead, a manager or a client can ask for any of </tspan><tspan x="20" y="789">these at any time.</tspan></text>
  </g>
</svg></div>
          <figcaption><span>Fig. 5b</span>One folder per project, dated versions. The picked one is easy to spot, and the rest stay within reach.</figcaption></figure>
        <p>None of this needs a job. You can start with your next email to a teacher.</p>
      </section>

      

      <section>
        <h2 id="s6"><span>6</span><span>From a phone call to a formal interview</span></h2>
        <p>I had five conversations, and no two looked the same. It helps to know the range before you walk in.</p>
        <h3 id="s6a">Some already knew me or my work</h3>
        <p>The hospital&#x27;s placement coordinator phoned me, and we talked about the actual work and the start date. The association&#x27;s director of operations had seen my site before our Teams call. Both said yes on the call.</p>
        <h3 id="s6b">Some checked the basics</h3>
        <p>The group of companies did a short phone screen, then a Teams panel with HR and the marketing team lead: tools, past rebrands, how I handle more than one task. I brought a one-page proposal with a plan for my five weeks, and the team lead said:</p>
        <blockquote><p>I really like your proposal, that you came with a plan of your five weeks.</p></blockquote>
        <h3 id="s6d">One was fully formal</h3>
        <p>The science museum interviewed me in person, with a senior marketing manager and a graphic designer, and asked the kind of questions I knew from my earlier career: how I work with people, how I solve problems, where I keep learning outside of class, and what I do when the ideas get stuck on a brand project. I went in with a 30-second introduction and four questions of my own. HR emailed the offer on Monday morning.</p><h3 id="s6c">One was with a design studio</h3>
        <p>A small studio set up a 30-minute Zoom with one of their creative designers. I brought a one-page proposal for them too, but the designer barely asked me anything. Maybe they had already looked at my portfolio, or they really needed the help, since they were looking for an intern anyway. We talked about my working hours, and they said it could basically work. </p><p>Nothing was confirmed in writing before I made my decision.</p>
        <figure><div role="img" aria-label="Five conversations from least to most formal: a phone call, an online meeting on Zoom, an online meeting on Teams, a phone call and then an online panel on Teams, and an interview in person."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 470">
  
  
  <g>
    <rect x="0" y="0" width="358" height="470" fill="var(--fig-paper)" rx="0"></rect>
    <line x1="31" y1="113" x2="31" y2="387" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="128" x2="37" y2="128" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="186" x2="37" y2="186" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="244" x2="37" y2="244" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="302" x2="37" y2="302" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
    <line x1="25" y1="360" x2="37" y2="360" stroke="var(--fig-muted)" stroke-width="1" stroke-linecap="round"></line>
  </g>
  <g></g>
  <g>
    <text x="20" y="37" font-size="15.5" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="20" y="37">Five conversations, </tspan><tspan x="20" y="63">from a phone call to a formal interview</tspan></text>
    <text x="20" y="96" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="96.0">less formal</tspan></text>
    <text x="58" y="128" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="128.0">A hospital</tspan></text>
    <text x="58" y="151" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="151.0">Phone</tspan></text>
    <text x="58" y="186" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="186.0">A small studio</tspan></text>
    <text x="58" y="209" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="209.0">Online meeting (Zoom)</tspan></text>
    <text x="58" y="244" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="244.0">An industry group</tspan></text>
    <text x="58" y="267" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="267.0">Online meeting (Teams)</tspan></text>
    <text x="58" y="302" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="302.0">A group of companies</tspan></text>
    <text x="58" y="325" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="325.0">Phone, then an online panel (Teams)</tspan></text>
    <text x="58" y="360" font-size="16" font-weight="600" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="currentColor" text-anchor="start"><tspan x="58" y="360.0">A science centre</tspan></text>
    <text x="58" y="383" font-size="14" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="58" y="383.0">In person (two people)</tspan></text>
    <text x="20" y="410" font-size="12.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="410.0">more formal</tspan></text>
    <text x="20" y="440" font-size="11.5" font-weight="400" font-family="Inter, system-ui, -apple-system, Segoe UI, PingFang SC, Microsoft YaHei, sans-serif" fill="var(--fig-muted)" text-anchor="start"><tspan x="20" y="440">Formal or not, each one was checking the same thing: </tspan><tspan x="20" y="460">Would I be easy to work with?</tspan></text>
  </g>
</svg></div>
          <figcaption><span>Fig. 6</span>Five conversations, ordered by how formal they were, not by date.</figcaption></figure><h3 id="s6near">When the host is close to our school</h3>
        <p>The designer I talked to is a graduate of our program, and one of the designers on our panels. That reminded me of two of our part-time teachers who run studios and take placement students. They will be good to students, I&#x27;m sure of that. </p><p>But in a placement, a teacher or a grad you know becomes your boss. They are thinking about clients, deadlines, and money, and they may not be as easy-going as they are in class.</p>
        <p>So my advice is the same for every host. <strong>This placement is a rare chance that the school works hard to set up for us. Take it seriously, for the sake of what comes after graduation.</strong> Whether or not you end up in an office, or in graphic design at all, the basic manners and mindset of working life are the same underneath. I&#x27;m still working on this too.</p>
        
        
        <p>Formal or not, every one of them was checking the same thing. Would I be easy to work with for five weeks?</p>
      </section>

      

      <section>
        <h2 id="close">Where to start, whichever year you&#x27;re in</h2>
        <p>Our placement search starts in October, while third-year classes are still running. The summer before is the only stretch with no classes in it.</p>
        <p>If you&#x27;re in that summer now, here&#x27;s where I&#x27;d start. Pick your four to six projects. Put them on a site, and keep a PDF ready. Clean up one project folder until you could find anything in it in five minutes. Then, when October comes, write to more places than feels comfortable.</p>
        <p>If you&#x27;re in third year with me, the same list still works. Our last term and the job search before graduation are coming fast. Update the four to six projects, keep the site and the PDF in step, and answer the next email the same day. We&#x27;ll be doing all of this again soon, for real jobs.</p>
      </section>

      <hr>

      <section>
        <h2 id="asked">If you&#x27;re curious: What each place asked</h2>
        <p>From my notes. The wording is close, not exact.</p>
        <h3 id="q-sj">A hospital</h3>
        <p>Communications and digital strategy · Phone call with the academic placement coordinator · About 20 minutes</p>
        <ul><li>Do you live locally?</li><li>Have you done any video editing?</li><li>Is this kind of work interesting to you?</li></ul>
        <h3 id="q-mc">An industry association</h3>
        <p>Teams call with the director of operations · About 20 minutes</p>
        <ul><li>Are you a third-year student?</li><li>Why the mining industry, and what made you reach out to us?</li><li>Do you have much experience building websites?</li><li>Do you have your own computer?</li></ul>
      <h3 id="q-pg">A group of companies</h3>
        <p>Marketing and branding · Phone screen of about 13 minutes, then a 30-minute Teams panel with HR and the marketing team lead</p>
        <ul><li>On the phone: What have you done, for how long, how long is the placement, and what do you need from us?</li><li>Have you noticed any chances to improve our brand visually?</li><li>Do you have experience with WordPress and Elementor?</li><li>Have you done a rebrand?</li><li>Are you a multitasker, or do you prefer to finish one task before starting the next?</li></ul>
        <h3 id="q-sn">A science museum</h3>
        <p>Marketing · In person, with a senior marketing manager and a graphic designer</p>
        <ul><li>How did you hear about us?</li><li>What do you want to get out of this work?</li><li>How do you handle people and work?</li><li>Outside of class, where do you keep up with new design tools and techniques?</li><li>If you&#x27;re working on a brand and the ideas get stuck, what do you do?</li></ul>
        <h3 id="q-ss">A small studio</h3>
        <p>Small design studio · Zoom call with a creative designer · About 30 minutes</p>
        <ul><li>Not much. We talked about my working hours, and they said it could basically work.</li></ul>
        </section>
    <p>Originally published at <a href="https://ink.ashtonshu.page/be-dependable">MountainSide</a>.</p>]]></content:encoded></item><item><title>The AI Look Is an Uncanny Valley of Taste</title><link>https://ink.ashtonshu.page/the-ai-look-uncanny-valley-of-taste</link><guid isPermaLink="true">https://ink.ashtonshu.page/the-ai-look-uncanny-valley-of-taste</guid><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><description>This piece grew out of building my personal website over the past two weeks.</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/hero-doodle-20261106.png" alt="Two hand-drawn curves side by side. On the left, the uncanny valley curve Masahiro Mori proposed in 1970, with a robot arm, a snail, a cat, an ape and a prosthetic hand along it, a red mummy at the bottom of the valley and a person at the top. On the right, the AI look curve from this article, with a chat bubble holding a robot face, a red robot at the bottom of the valley and a robot holding a pen at the top. After the big valley come two smaller ones, and the AI line closes in around the human line."><blockquote><p>This version was translated with AI assistance and is still being reviewed by the author, so some wording may change.</p></blockquote><div>

<p>This piece grew out of building my personal website over the past two weeks. A lot of questions I&#x27;d never quite figured out finally took shape once I was doing the actual work. </p><p>The article went through a few rewrites, too. At first I wanted a rigorous argument, or at least a tidy summary, but my own opinions and stories kept sneaking in, and at some point I stopped fighting it. So think of this as a long, wandering chat rather than an essay.</p>


<p><em>First published in Superlinear Academy.<br>Translated from the <a href="https://ink.ashtonshu.page/zh/the-ai-look-uncanny-valley-of-taste">Chinese original</a> with AI assistance. Links to Chinese posts are in that version.</em></p></div><hr><p><em>About 4,200 words, 9 images, 17 minutes to read.</em></p>
<p>Since AI showed up, designs, websites, and videos have multiplied. I&#x27;m guessing most of you have tried building a website with AI by now, and the results are usually decent. But do it a few times and you start to feel it: The thing has an AI look, and you can&#x27;t quite put your finger on why.</p>
<p>In my earlier post, <a href="https://ink.ashtonshu.page/ashton-is-build">A Community Gardener&#x27;s Side Project: Building a Personal Website as a Graphic Designer</a>, I wrote one line like this: <em>I don&#x27;t buy that people genuinely can&#x27;t tell when something screams AI.</em> So let&#x27;s continue from there. Where does the AI look come from, and can we explain it?</p>
<p>This has been on my mind for the past couple of weeks. Last weekend I fell down a rabbit hole of AI videos, and when people in the comments brought up the uncanny valley, it clicked: AI and that idea are closely linked.</p>
<h2 id="s1"><span>1</span><span>A &quot;specialized&quot; uncanny valley</span></h2>
<p>My short answer: <strong>The AI look is essentially a specialized version of the uncanny valley.</strong></p>
<p>Comparing AI to the uncanny valley isn&#x27;t new. I got here on my own, but when it comes to AI-drawn faces or AI-built interfaces, I&#x27;m definitely not the first. What I want to do is take the comparison apart properly and explain why I call it a <em>specialized</em> uncanny valley.</p>
<p>Most of you have probably heard of it, but here&#x27;s the quick version just in case. The Japanese roboticist Masahiro Mori proposed it in 1970: The more a robot looks like a human, the more we like it. But once it gets very close and still misses by a little, that liking falls off a cliff and it starts to creep us out. Only when it&#x27;s nearly indistinguishable from a real person does the warmth come back.</p>
<p>One detail worth noting: In Mori&#x27;s original essay, the example near the bottom of the valley is a &quot;prosthetic hand.&quot; It looks just like a real hand, until you shake it and it&#x27;s limp, cold, and boneless. At the very bottom sits a &quot;corpse,&quot; directly opposite the &quot;healthy person&quot; at the peak. The dead-eyed faces we picture today weren&#x27;t in the original at all. They came later, from people&#x27;s own experience.</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/figA-uncanny-vs-ai.png" width="2000" height="1000" alt="Side-by-side comparison: The left panel shows the uncanny valley curve; the right panel shows the AI look curve with almost the same shape. Both rise, dip into a deep valley, then recover, with a small vermilion dot at each valley bottom."><figcaption><span>Fig. 1</span>The uncanny valley on the left, the AI look on the right. The shapes are almost the same.</figcaption></figure>
<p>AI-made visuals work the same way: <strong>They look very close to the best work, but never quite close enough. Your eyes might miss it, but your gut already knows.</strong></p>
<h3 id="heading-1">Something Feels Off, but You Can&#x27;t Say Why</h3>
<p>I&#x27;ve never been anti-AI. If anything, I&#x27;m team tools: Any technology that helps people work faster and make more, even in creative fields, doesn&#x27;t steal the creator&#x27;s voice in my book.
But the problem is real. When most people look at something AI made, they quietly sense that something is off, and they can&#x27;t say what.</p>
<p>I think the core reason has nothing to do with AI. It is a deeper question, the kind you see in literary criticism or art appreciation: You need to know why a good piece of work is good.
Kedaibiao, the founder of Superlinear Academy, has made a similar point: <strong>Being able to &quot;tell at a glance whether something is good&quot; is the ability that is hardest to replace.</strong> If all you can do is copy the surface, you end up with cargo-cult design: Every part is in place, and none of it quite works. That&#x27;s how unsettling work gets made, and that&#x27;s where the uncanny valley comes in.</p>
<p>So why do machines trigger the uncanny valley at all? Dig deep enough into psychology and biology and you&#x27;ll find things like a built-in fear of danger. I&#x27;ll leave that to the scientists. The most direct reason is the one above: It isn&#x27;t close <em>enough</em>.
</p><p>Early robots only copied the surface. People built and understood them by imitating whatever they could see. It was an &quot;inorganic&quot; kind of imitation, and I don&#x27;t mean that in the chemistry sense. I mean it wasn&#x27;t a living whole: Nothing connected the parts on the inside.</p>
<h2 id="s2"><span>2</span><span>Beauty is more than skin-deep</span></h2>
<p>Since we&#x27;re talking about the uncanny valley, beauty, and faces, let me say a few words about looks first.</p>
<p>In Chinese, when we say someone is beautiful, we often separate two kinds of beauty. One is <em>beauty of the skin</em>: the surface you can see, like the skin and the facial features. The other is <em>beauty of the bones</em>: the skeleton, proportions, and structure underneath.</p>
<p>English likes to say beauty is only skin-deep. An old Chinese saying goes the other way: Real beauty is in the bones, not the skin. It isn&#x27;t always true, but people with good bone structure do have an edge today. To be more specific, they look better with makeup and in photos, and they age better too. Traditional Chinese, and even most East Asian, makeup focuses more on the skin. So does traditional East Asian painting: fine brushwork <span>(工笔)</span> and line drawing <span>(白描)</span>, full of atmosphere, but no realistic highlights or shadows.</p>
<h3 id="structure-1">Skin and Bone</h3><p>Drawing is another good example. When we start learning to draw, all we can do is copy what we see and learn the surface. I would call this stage &quot;see the skin, draw the skin.&quot; After a while, the teacher asks you to learn basic human anatomy. When you draw a body, you first learn the main parts of the torso and how the arms and legs connect to them. Go further, for example to drawing a bust, and you need to know how the most visible muscles relate to the bones. You could call this stage &quot;see the bones, draw the bones.&quot;
</p><p>At this point, some people go the wrong way and start practicing medical illustration. You don&#x27;t need to. As an artist, your goal is to show a finished image, not to treat a patient, so you don&#x27;t need to &quot;see the skin and draw the bones.&quot; Once you know roughly how to show things, you go back to &quot;see the skin, draw the skin.&quot;</p>
<p>Still, once you know the bones, one kind of mistake stops happening: the kind that is actually obvious, but that people without training can&#x27;t point to. For example, if you know where the neck muscles and the shoulder blades run, you will never put the neck, shoulders, or collarbones in the wrong place. That is the kind of mistake that makes viewers feel a face is beautiful, but something is missing.</p>
<p>Sound familiar? That feeling that something is wrong is usually where the creepiness starts. In the same way, it is usually where people feel the AI look.</p>
<h3 id="structure-2">The Reasons Can Be Named</h3><p>A while ago I helped a company improve its website. One look at the homepage, the fonts alone, and I could tell AI had made it. And I could say why:</p>
<ul>
<li>In the sections, the big numbers were extra bold, but the text under them was very thin. Next to each other, the contrast was too strong. This is usually a sign of AI.</li>
<li>The logo font and the very small text on the page were hard to read, especially from a distance. They also didn&#x27;t match the fonts on the rest of the site.</li>
<li>The link icon clearly came from a different set than the other icons.</li>
</ul>
<p>Overall the site was fine. Only these details needed fixing. And these are general rules. Once you can name them, you can give them straight to AI and let it fix them.</p>
<p>Of course, you don&#x27;t need a human for this anymore; AI can do it. The catch is that without training, most people can&#x27;t name the cause, so they can&#x27;t tell the AI what to fix.
So I&#x27;d like to recommend a popular skill on GitHub called <a href="https://impeccable.style">impeccable</a>.</p>
<p>I looked through its website carefully. It really has written all of these basic rules in, and I highly recommend it. The basic structures of graphic design, like hierarchy and spacing, are all there, and you can just use them.</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig-impeccable.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/fig-impeccable.png" width="1176" height="1040" aria-label="The before-and-after demo on the Impeccable site: A vertical line slides across a page, with the AI-looking version on the left, yellow labels naming the problems, and the fixed version on the right."></video><figcaption><span>Fig. 2</span>The before-and-after demo on the Impeccable site. Yellow labels mark what it detected. Source: <a href="https://impeccable.style">impeccable.style</a></figcaption></figure>
<h3 id="structure-3">AI Doesn&#x27;t Learn This Way</h3><p>Back to the main topic:</p>
<p>There is one more way the AI look is like the uncanny valley. People learn along a fixed path: from beginner to junior to senior. Everyone makes some of the same mistakes and falls into some of the same traps along the way. AI doesn&#x27;t learn like that. It gets the skin right almost at once, which is why we say it gets things 80 or 90 percent right. But some of the bones, it never learns.</p>
<p>Most AI work doesn&#x27;t have this layer. Websites and pages made by AI have another problem: They throw in everything but the kitchen sink. AI doesn&#x27;t edit. But filtering and choosing what to keep is one of the most important parts of graphic design and of any visual work people make.
</p><p>A key visual (KV) is the main image of a brand or campaign. In games, it&#x27;s closest to loading-screen art, like the champion splash art in League of Legends or the hero art in Overwatch. When I studied this kind of illustration, the basic idea was the same as a film storyboard and camera language: One frame can only have one centre, or at most one main centre and one second centre. With more than that, the eye can&#x27;t focus. Graphic design and mass media follow the same core idea. It is the base of communicating with an audience. The only exception is art that people are meant to look at for a long time, slowly finding details.</p>
<h3 id="heading-2">Where I Think the AI Look Comes From</h3>
<p>So you can see the two cases are alike. The core of the AI look is this: From the start, AI copies better than most people without training, so it looks more professional. But it copies without life. It copies the skin and not the bones, and the bones are a mess. So it looks right and not right at the same time, and in the end it doesn&#x27;t look good. That is where I think the AI look comes from.</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/figC-ai-feel.png" width="1600" height="1000" alt="The author’s schematic analogy plots visual appeal against skill level: A dashed human line rises steadily, while the AI curve jumps as AI goes mainstream, plateaus, dips into a valley marked “Feels off,” then rises above the human line. A magnified jagged segment shows small fluctuations within the plateau."><figcaption><span>Fig. 3</span>The AI look, an uncanny valley of taste.</figcaption></figure>
<p>Here is how to read the AI line in the chart. It doesn&#x27;t climb up from the beginner level like a person does. For the first part of the chart, it isn&#x27;t there at all. At about 40 percent, it enters the public eye. When it first appears, it is actually worse overall than a person at the same level. But then it shoots up, and that is what everyone sees now: 80 or 90 percent right from the start, and more professional-looking than most people who haven&#x27;t practiced. </p><p>After that comes a long, flat stretch that looks stable. But if you zoom in, it isn&#x27;t flat. It goes up and down like the stock market, good one moment and bad the next. </p><p>Later it falls into the valley, which is the AI look. At the end, in the expert range, it shoots up again and looks like it passes people. The human line, the dashed one, keeps going up the whole time, with no valley.</p>
<p>A surprising amount of taste can be explained like this. <strong>But ask people who only make things, and they&#x27;ll tell you it&#x27;s all gut feeling.</strong></p>
<h2 id="s3"><span>3</span><span>Can taste be explained?</span></h2>
<p>So can taste be explained? Or, in graphic design, can &quot;good-looking&quot; really be measured?</p>
<p>People in fashion design or traditional fine art may say no. But people who build UIs and software today will find, if they really look at the research, that a lot of it can be calculated.</p>
<h3 id="structure-4">Continuous Corners</h3><p>Take rounded rectangles. A normal rounded corner is a straight line joined to a quarter circle. At the joint, the bend (its curvature) jumps from zero all at once. The continuous corners Apple uses let the bend grow slowly, so they look smoother. You can write this as a formula with parameters:</p>
<blockquote><p><strong>Formula</strong>: In math there is a curve called the superellipse,</p><p><math displaystyle="true" xmlns="http://www.w3.org/1998/Math/MathML" aria-label="|x/a|ⁿ + |y/b|ⁿ = 1"><mrow><msup><mrow><mo>|</mo><mfrac><mi>x</mi><mi>a</mi></mfrac><mo>|</mo></mrow><mi>n</mi></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mi>y</mi><mi>b</mi></mfrac><mo>|</mo></mrow><mi>n</mi></msup><mo>=</mo><mn>1</mn></mrow></math>. The larger n is, the more square it gets.</p><p><strong>Parameters</strong>: Early on, people tried to fit Apple&#x27;s icons with n = 5. It was very close, but not exact. Later, Figma made its own version: Each corner uses two Bézier curves with a circle arc between them. With smoothing set to 60%, you get almost exactly the iOS shape.</p></blockquote>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/figE-corners.png" width="1600" height="700" alt="Three blue squares compare sharp, rounded, and continuous corners; beneath them, curvature is shown as a spike, a step, and a smooth rise and fall. Continuous corners change curvature gradually, illustrating how a small geometric adjustment affects visual quality."><figcaption><span>Fig. 4</span>Sources: <a href="https://developer.apple.com/documentation/swiftui/roundedcornerstyle">Apple&#x27;s developer documentation</a>, which calls normal corners &quot;quarter-circle&quot; and continuous corners &quot;continuous curvature&quot;; <a href="https://www.figma.com/blog/desperately-seeking-squircles/">Figma&#x27;s article on how they worked it out</a></figcaption></figure>
<h3 id="structure-5">Optical Compensation</h3><p>Fonts work the same way. In English fonts, a round letter like O has to go a little above and below a square letter like H to look the same height. This is called overshoot. How much? People have measured it:</p>
<blockquote><p><strong>Study</strong>: Peter Karow, a pioneer of digital fonts, tested 130 people. A circle had to be about 3% bigger across than a square&#x27;s side before people felt the two were the same size. That is about 1.5% at the top and 1.5% at the bottom.</p><p><strong>My measurement</strong>: I carefully measured six common English fonts on my own computer. O goes 1% to 2.4% past H at the top and bottom. In Arial it is 1.7%.</p></blockquote>
<p>Karow himself said these numbers are only averages. Every font is a little different, and in the end an experienced type designer has to decide.</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/figD-overshoot.png" width="1600" height="800" alt="Capital H and O sit between cap-height and baseline guides, with red marks showing that O overshoots by about 1.7% at both top and bottom. This optical correction makes the round letter appear as tall as the flat-topped letter."><figcaption><span>Fig. 5</span>Sources: Karow&#x27;s test as quoted in <a href="https://typeculture.com/wp-content/uploads/2016/02/tc_article_6.pdf">Mark Jamra&#x27;s article</a>; <a href="https://handbook.glyphsapp.com/single-page/">the handbook of the font app Glyphs</a> also says the difference is usually 10 to 15 units</figcaption></figure>
<p>Graphic designers used to say you just adjust it by eye. But with math, if you count the white space on both sides of each letter, you can build a model that sets the spacing for you. The designer only needs to check it at the end.</p>
<h3 id="structure-6">An Engineer&#x27;s View</h3><p>But do we need to calculate all this? To answer that, let&#x27;s look at it the way engineers do.
I studied electrical engineering. In school, every theory class had us work through the full Maxwell&#x27;s equations. We had to work out every term and leave nothing out. But in real industry work, the math was completely different. First you find which term matters most. Then you drop everything that is 10 times smaller, and you&#x27;re done in a few steps.
</p><p>As a student I didn&#x27;t understand this. Wouldn&#x27;t the answer be wrong? Only after a few years of engineering work did I get it: In engineering, you only need the error to be small enough not to change the result.</p>
<p>Graphic design works the same way. Design is made for human eyes. If the eye can&#x27;t see a difference, it doesn&#x27;t matter how carefully you calculate it.</p>
<p>So can taste be explained? Yes. But in the past, the math took too long, so in practice nobody needed to go past the decimal point. Now things are a bit different. Let me use myself as an example.</p>
<hr><h2 id="s4"><span>4</span><span>How an unusual engineer does design</span></h2>
<p>I trained as an engineer for a long time. I did a bachelor&#x27;s and then a master&#x27;s in electrical engineering, and after graduating I spent five years managing the electrical systems of a hospital. But I have always hated being called &quot;an engineering type.&quot; I have always had a creative heart. I have loved design, and even art, since middle school.</p>
<p>I just didn&#x27;t start learning as a kid, and to be honest I don&#x27;t have much creative talent. I can&#x27;t even out-meme anyone on the internet. Later, when I studied graphic design and drawing, I found that many people in film, creative work, and drawing have all kinds of gifts. For some of them, even something like a physical disability becomes a strength that nobody else can match.</p>
<p>I don&#x27;t have that.</p>
<p>But I have also noticed that in our community, and for most people really, most of us are more like me. If that is true, then some things can be compared, learned, and discussed. They are not out of reach.</p>
<p>I always wanted to learn drawing and design. I kept learning and stayed interested. But when it was time to make something myself, I could never start.</p>
<p>It wasn&#x27;t only that my skills weren&#x27;t good enough. I also really didn&#x27;t like spending time on small details. I talked about this in episode 5 of my podcast, <em>Bu Xia Bu Shang</em> (<em>In-Between</em>), which never really took off.</p>
<p>In short, back then none of this technology existed, and my parents didn&#x27;t work in this field, so even when I wanted to learn, there was no way to.</p>
<h2 id="s5"><span>5</span><span>No place to learn, until AI came along</span></h2>
<p>For example, learning to draw back then cost a lot of money. I bought drawing tablets and all kinds of drawing tools. Those weren&#x27;t too expensive, and my family supported me. But after I bought them, nobody taught me. A teacher was very expensive, and I was too embarrassed to ask my parents for the money.</p>
<p>So I could only practice on my own. And practicing alone, to put it in today&#x27;s words, I didn&#x27;t know the basic principles. I didn&#x27;t know you should start big and then go small, start with the overall shape and then the details, and build the frame and structure first. Instead I really worked pixel by pixel, like a Perler bead project, starting from the first square of the first row, one square at a time, one pixel at a time. Of course I couldn&#x27;t keep going for long.</p>
<p>Only later, when the internet grew and online classes appeared, did I finally get the chance to learn on my own. The first teacher who taught me gave me this method:</p>
<blockquote><p>First, finish a whole drawing. Then find your weakest skill and bring it up to about the same level as the others. Then start the next round.</p></blockquote>
<h3 id="structure-7">The Same Logic</h3><p>Later, after AI took off, I noticed something. Everything I had learned about beauty and design over the past 10 or 20 years, especially design principles, followed one complete and similar logic. Interior and landscape design at first, then drawing, photography, video editing, and motion design later: The more I learned, the more true this was. So after AI arrived, I started to see a lot in common.</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig2-circles.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig2-circles-trend.png" width="1500" height="400" aria-label="Design fields expand and increasingly overlap"></video><figcaption><span>Fig. 6</span>The idea for this chart comes from the overlapping circles I drew in an earlier post, <em>A Career Is Not a Point but a Spectrum</em> (title translated). That post used designers as an example of how a career changes over time.</figcaption></figure>
<p>The three small markers in the chart, the dot, the triangle, and the square, are the centres of the circles. They never move. Only the edges change. These fields never had completely different logic. The small light red area in the middle is what they share. It was always there, just small. Later, as I learned each field more widely, each edge grew outward, the shared part grew too, and now the three circles almost cover each other. </p><p>At first it looks like they are moving closer. Really, each one is just getting bigger. </p><p>At the end of the animation, I scale &quot;Early on&quot; up to about the same overall size as &quot;Now&quot; and compare them again. The three earlier circles are still far apart, while now they almost sit on top of each other. These fields once felt far apart because each of them was still small. The distance between the centres never changed.</p>
<p>I used visual design as my example, but this works in many other areas.
In engineering, for example, between electrical, electronic, and mechanical work, or between different building trades. Or between programmers and UI designers. </p><p>And especially in big tech companies right now, people say different roles are taking each other&#x27;s work: designers, developers, project managers, even business development. To me, it is the same model as the chart above. Nobody is moving toward anybody. Everyone&#x27;s edges are growing outward until they almost overlap. The lines between jobs are actually blurry. The methods are different, but the logic is the same.</p>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig4-eng.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig4-eng-trend.png" width="1500" height="400" aria-label="Electrical, electronic, and mechanical engineering increasingly overlap"></video><figcaption><span>Fig. 7</span>The same in engineering: Electrical, electronic, and mechanical work overlap more and more.</figcaption></figure>
<figure><video controls src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig3-roles.mp4" preload="metadata" poster="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/fig3-roles-trend.png" width="1500" height="400" aria-label="Design, development, and project management roles increasingly overlap"></video><figcaption><span>Fig. 8</span>The same in roles: Design, development, and project management overlap more and more.</figcaption></figure>
<hr><h2 id="s6"><span>6</span><span>So close, but not quite</span></h2>
<p>Back to the AI look. Earlier I talked about the bones. When the bones are wrong, you can name the problem, and AI can fix it once you tell it how. But even when the bones are fixed, it still looks close, but not quite. </p>
<p>That chart is the broad picture. Look closer and the line doesn&#x27;t just shoot up and stop. It&#x27;s more like the same thing happening again and again. AI catches one kind of beauty, that kind becomes common, people&#x27;s eyes move on, and the line dips a little. So the two lines stay tangled and keep getting closer. This is only my sketch, and it may not be accurate.</p>
<figure><img src="https://ink.ashtonshu.page/media/the-ai-look-uncanny-valley-of-taste/en/figF-ai-feel-echo.png" width="1600" height="775" alt="A closer schematic of the AI look: A grey dashed human line rises steadily, while the solid AI line plateaus, falls into a deep valley, then crosses the human line repeatedly as the two converge. Two progressively smaller valleys follow the main valley; all three bottoms have small vermilion dots."><figcaption><span>Fig. 9</span>A closer look: the same thing again and again, drawing closer. This is only my sketch.</figcaption></figure><p>Why? Because AI is a system that never makes mistakes, always follows the rules, and copies you. That is also why robots in the uncanny valley are creepy. They try to copy you, and they are like you in every way, but they never break a single rule. So they feel like they&#x27;re missing a spark, that certain je ne sais quoi.</p>
<h3 id="heading-3">AI Writing Has the Same Problem</h3>
<p>When I got to this point, I remembered that our community had talked about similar ideas before, so let me compare them here. What follows is what I took from those posts, not necessarily what the writers meant.</p>
<p>The first one was put together by AI: <em>Where Does the &quot;AI Flavour&quot; in Writing Come From?</em> (title translated). It says that in Chinese written by AI, every word is Chinese, but the structure of each sentence is English, so the whole text feels a little off. &quot;The skeleton of the sentence stays English; only the skin is changed to Chinese words.&quot; That is almost what I mean by &quot;the skin is right, but the bones are a mess.&quot; AI&#x27;s Chinese reads like it was translated back from English: Chinese skin on English bones, so the whole thing feels wrong. </p><p>The post also says that once you see this, the problem stops being a vague feeling about language and becomes a clear technical task. That is the same as what I said: Once you can name the cause, you can give it to AI to fix.</p>
<p>The second one is by Jay How: <em>From Mr. Meeseeks to AI Creation: Why &quot;Removing the AI Flavour&quot; Is a False Problem</em> (title translated). Jay compares AI to Mr. Meeseeks from <em>Rick and Morty</em>: no self, no taste, no point of view, just something that carries out orders. So with the same skill and the same model, how good the result is depends on the person pressing the button. This matches what I said about AI never breaking a rule and missing that spark. It&#x27;s the letter versus the spirit: AI follows the letter perfectly, but the spirit never makes it across.</p>
<h3 id="heading-4">What AI Can Still Learn</h3>
<p>Where I&#x27;m different: I&#x27;m not as pessimistic as Jay. Like I said about drawing, people who study the body don&#x27;t need to start from the skeleton and rebuild the blood vessels, fat, and skin layer by layer. It is enough to roughly know the reasons and roughly get them right. AI can learn the bones the same way.
</p><p>As for the spark, right now it seems AI can&#x27;t fix it, and only people can bring it. But that may not be true forever. Generative models already have some randomness built in. For example, language models have a setting called temperature. Turn it up and the output loosens up. The problem is that this randomness is spread everywhere. The model doesn&#x27;t yet know where it should break the rules. Maybe one day, once it learns to make a few happy little accidents, as Bob Ross would say, with some judgment about where they go, the spark will be there. I&#x27;m honestly not sure about this one.</p>
<p>Outside the community, people have said similar things. The design website <a href="https://www.vandelaydesign.com/ai-ux-feels-off/">Vandelay</a> wrote that interfaces made by AI have their own uncanny valley: They look polished at first but feel awkward as soon as you use them. </p><p>And the portrait painter <a href="https://www.pearsonsimpasto.co.nz/blog/do-we-use-ai-lets-talk-about-the-differences-between-ai-and-digital-art">Laura King</a> noticed that AI paints hair, skin, and background all with the same detail, so the eye doesn&#x27;t know where to look. What Laura King describes is really the same as what I said earlier: One frame can only have one centre.</p>
<h2 id="s7">Final thoughts</h2>
<p>One more old Chinese saying before I go: You can paint a tiger&#x27;s skin, but not its bones; you can know a person&#x27;s face, but not their heart. Skin, bones, and heart: AI has the skin down, can learn the bones once someone explains them, and the heart, for now, still has to come from us.</p>
<p>If any of these ideas or stories meant something to you, or if you think I got something wrong or want to add something, I&#x27;d love to hear from you on the <a href="https://ashton.is/contact">Contact page</a>. We can look for the reasons together, or see if there is a better way to sum this up, a pattern, or a deeper cause.</p>
<p>Originally published at <a href="https://ink.ashtonshu.page/the-ai-look-uncanny-valley-of-taste">MountainSide</a>.</p>]]></content:encoded></item><item><title>A Community Gardener&#x27;s Side Project</title><link>https://ink.ashtonshu.page/ashton-is-build</link><guid isPermaLink="true">https://ink.ashtonshu.page/ashton-is-build</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>My personal website just went live, so I came to share it right away.</description><dc:creator>Ashton Z. Shu</dc:creator><content:encoded><![CDATA[<img src="https://ink.ashtonshu.page/media/ashton-is-build/hero-sketch-en-20261107.png" alt="A hand-drawn sketch of the home page. The words Ashton is a community gardener sit on the left, a box for the portrait with four corner marks sits on the right, and pencil notes point to each part. A row of coloured swatches runs along the bottom."><div><p>My personal website just went live, so I came to share it right away.</p>
<p><em>First published in <a href="https://www.superlinear.academy/c/share-your-projects-en/a-community-gardener-s-side-project-building-a-personal-website-as-a-graphic-designer">Superlinear Academy</a>.<br>Translated from the <a href="https://ink.ashtonshu.page/zh/ashton-is-build">Chinese original</a> with AI assistance and reviewed by the author. Links to Chinese posts are in that version.</em></p></div><hr><p><em>About 2,900 words, 13 images, 12 minutes to read.</em></p><p>I officially started building it on the evening of October 15, and had the whole site done in two days: four pages, plus a dozen or so portfolio pages. I used Claude Code, which costs C$316 a month with tax at the official price, or about C$79 a week. Going back through the session logs afterward, those two days used a little over 40% of a week&#x27;s allowance. <strong>So I &quot;hired&quot; a front-end developer agent for roughly C$33.</strong> Here&#x27;s the site:  <a href="https://ashton.is/">Ashton.is</a></p><p>Before publishing it, I first sent the website to quite a few relatives and friends around me, and went through a round of debugging. Most of them don&#x27;t build personal websites or do self-media, and the first thing they all asked was the same question: What did you build this website for?</p><p>Here&#x27;s a unified reply: After seeing so many of your works, I&#x27;ve been itching to try my hand; plus, I&#x27;m about to start looking for an internship and need a portfolio, so I hurried to build a personal website this week while my tokens were plentiful.</p><p>And it also happens to be my answer to the call from our class rep Yuzheng Sun, founder of Superlinear Academy, in <em>I Suggest Everyone Build a Personal Homepage with Opus 5.5</em> (title translated), so I&#x27;m turning in my homework.</p><p>The &quot;community gardener&quot; in the title is what the class rep called me when introducing me in June:</p><blockquote><p>@Mts Shu, the community operations officer. His role is the gardener of our community.</p></blockquote><p>This time I put it on the website homepage:</p><blockquote><p><strong>Ashton is</strong> a community gardener.</p></blockquote><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/01-opening_16x9.gif" alt="On a white background, the name cover expands and folds away, with Ashton joining the large “Ashton is” homepage heading. The sequence connects the name animation to the homepage entrance." width="720" height="430"><figcaption><span>Fig. 1</span>Opening of the homepage (the animated GIFs in this post are played at 1.5x speed)</figcaption></figure><hr><p></p><h2 id="section-2"><span>1</span><span>Steering clear of the pervasive AI look</span></h2><p>Since AI came along, there really are a lot more designs, websites, videos, and so on out there. I&#x27;ll admit that people&#x27;s personal websites these days are impressively polished and show plenty of good taste. Take, for example, how after this Opus update the whole internet was flooded with &quot;Apple-style ad videos,&quot; and there&#x27;s no denying they&#x27;re better than what most video creators with five years in the industry used to produce.</p><p>But when everyone mindlessly comments &quot;so well designed,&quot; I do feel a bit conflicted. I don&#x27;t believe people genuinely can&#x27;t tell how strong the AI flavour is — it&#x27;s just that in some cases you can clearly see the creator was trying to polish things up.</p><p>There&#x27;s a rather tricky point here, which I&#x27;ll explore through some background involving our community first. If that doesn&#x27;t interest you, feel free to skip straight to the next section, &quot;Why build a personal website and what to make it like.&quot;</p><h3 id="section-3">The community&#x27;s second-generation website and logo</h3><p>The website production and the choice of the new logo for Superlinear are, of course, now entirely handled by the class rep themselves. Setting the website aside for now, let me mainly talk about what things were like when I was brought in to do the logo redesign.</p><p>First of all, thanks to Karry Huang. The community&#x27;s first logo was made by Karry. Long-time friends have all seen it, but friends new to the community may not know about it. The story is in the post <em>The Logo Design Process, Part 1: Drafts from Five Designers</em> (title translated), and I&#x27;ve put the images below.</p><p>I built my version on top of that design. Back then I produced a full set of guidelines, and the deliverable itself was fine. </p><p>The problem was that I was still thinking like a student: I wanted the whole package to look polished, and I approached it purely from the perspective of &quot;this will eventually be handed off to a print shop or another designer,&quot; completely failing to consider that small teams generally don&#x27;t have these issues, which effectively meant I never put the class rep&#x27;s needs first. So the handoff process back then wasn&#x27;t great. What I delivered at the time, setting quality aside, was at least pretty terrible in terms of efficiency.</p><p>That said, speaking as a graphic designer, as the person who actually did the work, I&#x27;d still like to say a few words in my own defence (an abrupt attempt to prove my own value).</p><p>The version I designed back then had two variants: The small icon/favicon was simplified further, and it&#x27;s already basically the shape of our current logo. To be specific, in my original design the main logo had eight triangles and the favicon had six; the default colours were initially light yellow and sea blue, carried over from the previous design. </p><p>Honestly, what I had in mind at the time was exactly this simplest six-triangle version. I just worried that simplifying so much in one go wouldn&#x27;t bring out the effect. This August, our community officially switched to the current green six-stripe version.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/15-logo-versions.png" alt="Three Superlinear Academy logo versions are stacked vertically: dense black lines with light lettering, white folded stripes and lettering on black, then green stripes and lettering on white. The comparison shows the community logo’s evolution." width="900" height="720"><figcaption><span>Fig. 2</span>Top image: the original, Karry&#x27;s first version; middle image: my version, with the main logo of eight triangles on the left and the six-triangle small icon on the right; bottom image: the green six-stripe version the community uses now</figcaption></figure><p>I won&#x27;t go into the details of this version&#x27;s design here. I&#x27;ve also shamelessly put it on my personal homepage, as <a href="https://ashton.is/work/superlinear-academy">a project showcase</a>. Of course, this was also agreed upon with the class rep in advance. Thanks for his permission.</p><hr><h2 id="section-4"><span>2</span><span>Why build a personal website and what to make it like</span></h2><h3 id="section-5">A designer-based portfolio website</h3><p>Why emphasize designer-based? There are actually all kinds of personal website styles out there now, but most of them are mainly programmer-style program demos, blogs, or photo journals. Websites with a distinctly designer feel at a glance — the kind you see on IKEA&#x27;s or Apple&#x27;s official site — used to be the sort of front-door dressing done only by fairly well-known design studios or deep-pocketed merchants.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/en/16-site-types-stacked.png" alt="Two text panels contrast a typical programmer’s site, led by demos, blog posts, and project lists, with the author’s desired portfolio, led by large work visuals and a separate page for each project’s process and details. The comparison explains the site’s emphasis on presenting design work." width="1200" height="1229"><figcaption><span>Fig. 3</span>The kind of site my programmer friends build, and the portfolio site I wanted.</figcaption></figure><p>And in the past, most people who did design didn&#x27;t understand programming either.<br>Let me jump straight to a blunt conclusion:<strong> Designers who want a good-looking portfolio site, personal site, or studio site usually lack front-end coding skills. Their ability or time just doesn&#x27;t allow it. Programmers, on the other hand, typically feel it&#x27;s not worth the extra effort.</strong></p><p>I belong to the former group. But now, I can build a version I&#x27;d give my own approval to, all by myself, in just two days.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/02-first-screen_light-dark.png" alt="Light and dark versions of the same first screen are stacked, both led by “Ashton is a graphic designer.” with Work, About, Contact, and the theme control at upper right and carousel dots below. The layout stays consistent across both themes." width="1566" height="1989"><figcaption><span>Fig. 4</span>Above: the first screen of the homepage in light mode; below: the first screen of the homepage in dark mode</figcaption></figure><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/03b-home-selected-work.png" alt="Four selected works appear in a two-column grid: the Superlinear Academy identity, a calendar, three typographic pieces, and the Farms360 website, followed by “All work.” Large previews lead visitors toward the full portfolio." width="1566" height="1150"><figcaption><span>Fig. 5</span>As you scroll down the homepage, there are four featured works</figcaption></figure><p>I have to make a self-deprecating remark here: After all, I&#x27;m not formally trained in design.<br>Starting today, the most presentable piece in my portfolio — the pinnacle of my design work so far — may well be this website itself 😂. Of the works it showcases, I doubt any is more polished than the site itself.</p><p>It&#x27;s kind of a &quot;keeping the casket and returning the pearl&quot; situation, though I&#x27;m not even sure I&#x27;m using that idiom correctly.</p><h3 id="structure-build-1">Who the website is for and the corresponding language</h3><p>The main site is entirely in English, since the target audience consists of local North American designers, recruiters, and clients.</p><p>If reading English isn&#x27;t convenient for you, there&#x27;s also a Simplified Chinese version here: <a href="https://world.ashton.is/zh-hans/">world.ashton.is/zh-hans</a>.<br>Currently <a href="https://world.ashton.is/">world.ashton.is</a> only the Simplified Chinese and English versions are public under this domain; the other language versions are a lower priority, and they may all end up hosted here in the future.</p><h3 id="section-6">Skeleton and asset library</h3><p>I&#x27;d also like to share who I drew on for this design.</p><p>First, the simple conclusion: The current core skeleton is modelled on a Japanese design studio, <a href="https://daikoku.ndc.co.jp/">Daikoku Design Institute</a>.</p><p>I have a habit of constantly building up asset libraries on Pinterest and design websites, full of templates and references I personally like. This past July I even did a dedicated round of curation: I first shortlisted 50 websites — personal portfolios, studios, museums, and typography sites — then went through them one by one, scoring and ranking them, and finally broke down three of them. Daikoku was the primary template I settled on at that time.</p><p>On top of the Daikoku skeleton, I also blended in elements from other parts of my asset library, including the animations later on, which also come from that library.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/05-template-vs-now.png" alt="The template-based homepage above centres a small “Ashton is a graphic designer.” while the current version below enlarges the same words and aligns them left. Similar white space makes the change in scale and visual focus clear." width="1566" height="1989"><figcaption><span>Fig. 6</span>Top image: the homepage finished by following Daikoku&#x27;s skeleton exactly; bottom image: the current homepage</figcaption></figure><h2 id="section-7"><span>3</span><span>Hierarchy and Motion</span></h2><h3 id="section-8">Hierarchy: Levels</h3><p>Since this is a designer-oriented site, I already had an expected result in mind for how the whole hierarchy would be laid out and how the motion would flow, so I told the AI which effects absolutely had to be achieved.</p><p>The core of the homepage is that half sentence, &quot;Ashton is...&quot;. I chose the very bold Poppins 800 as the typeface, and the very light Inter 300 for the identity that follows, first pulling the font weights apart.</p><p>For the subsequent animations I started from the identity. It&#x27;s split into two levels, distinguished by different motion: The primary identity is <strong>a drop-in fade</strong> (drop-in: drifting down a little from above while fading in); the secondary identity under the same identity is <strong>a horizontal wipe</strong> (wipe: a mask revealing from left to right, then collapsing back from right to left). This way you can tell at a glance which ones are my main career and which grew out of it.</p><div>
<p>Ashton is</p>
<p>a graphic designer.</p>
<p>↑ primary identity: drop-in fade</p>
<p>an illustrator.</p>
<p>↑ secondary identity: horizontal wipe</p>
<p>a photographer.</p>
<p>a UI/UX designer.</p>
<p>a concept artist.</p>
<p>a digital painter.</p>
<p>a character designer.</p>
<p>a community gardener.</p>
<p>an AI architect.</p>
<p>a human storyteller in the loop.</p>
<p>an AI evangelist.</p>
<p>Ashton was</p>
<p>an electrical engineer.</p>
<p>↑ “is” becomes “was” and turns grey</p>
</div><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/06-hero-two-level_16x9.gif" alt="The large “Ashton is” stays in place while the line below cycles through graphic designer, UI/UX designer, character designer, and AI evangelist, with carousel dots at the lower right. The fixed name and changing roles form two layers of the hero animation." width="720" height="430"><figcaption><span>Fig. 7</span>The line under the big name on the homepage changes one phrase at a time.</figcaption></figure><p>And I also hid a little Easter egg: On the last line of identities, I put a past identity, an electrical engineer.<br>As always, a quick self-intro for folks new to the community: My old, outdated self-introduction was titled <em>Mts | Greater Toronto | Back in North America after years of work | Now a graphic designer | Former electrical engineer | Sommelier | Exploring side work and a nomad life | Always trying new fields | Life hacker | INFP or ENFJ, undecided</em> (title translated).</p><p>*A quick disclaimer about my location, to head off any nitpicking:<br>I&#x27;m really not latching onto Toronto with no actual connection. The place I live is just so small that unless you&#x27;re a local, even if I told you the city name, you still wouldn&#x27;t know where I am 🫠</p><p>OK, moving on. The portfolio is organized into categories too. Work is split into three groups: Projects, Collections, and Personal.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/07-work-card-hover.gif" alt="The Work page groups portfolio cards under Projects and Collections, revealing project names such as Superlinear Academy on hover. The animation demonstrates browsing the visuals first and revealing their names through interaction." width="720" height="720"><figcaption><span>Fig. 8</span>The Work page: Hovering with the mouse reveals the project names</figcaption></figure><h3 id="section-9">Hero Section animations</h3><p>In this first major version, what I put the most thought into was the Hero Section animation. Simply put, that&#x27;s the first thing you see when you land on the homepage, the part where the hero image is displayed.</p><p>The part where the name expands and then folds back follows the same approach as one of the title sequences in my asset library. I&#x27;m using it that way for now and may still change it later.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/08-name-motion.gif" alt="Inside a four-corner frame, “Ashton” expands into three lines reading “Ashton Zhengshen Shu” and folds back, above “Also known as Mts Shu.” The shared name and frame connect the motion to the site’s identity." width="720" height="389"><figcaption><span>Fig. 9</span>Name animation: Ashton expands into Ashton Zhengshen Shu, then collapses back</figcaption></figure><p>Why was I so keen on the four-corner frame? Because when I record my screen or take screenshots on my phone, the icons that appear in the notification bar have exactly that kind of four-corner frame <svg role="img" aria-label="a four-corner frame" width="0.9em" height="0.9em" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M1 5V1h4M11 1h4v4M15 11v4h-4M5 15H1v-4"></path></svg>. I carried this element through the rest of the site too, so there&#x27;s inheritance and linkage between them (a motif, as it&#x27;s usually called in design).</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/09-header-hover.gif" alt="Hovering over Work, About, and Contact opens a four-corner frame around each navigation label; the central Ashton name uses the same framing motif. The interaction carries the name animation’s visual language into navigation." width="720" height="720"><figcaption><span>Fig. 10</span>Page header: When the mouse hovers over Work, About, or Contact, the four corners spread open</figcaption></figure><p>After the entrance sequence, I iterated through several more versions to tie these elements together more organically, guide the viewer&#x27;s eye, and make the whole thing feel more like fluid cinematography. From the original opening until now there have been three major versions: In the Alpha version, 12 identities appeared one after another.</p><p>For the V1.0 iteration, this is how I described it at the time (it was voice input back then; I&#x27;ve tidied it up a bit here):</p><blockquote><p>So after the whole entrance animation finishes, the Ashton text as a whole just... smoothly moves to the top-left corner — the top-left corner should be the module set in exactly the same typeface. That way the whole animation has a clear origin and lineage... and the visuals stay coherent. Plus, the same word won&#x27;t keep reappearing in one spot.</p></blockquote><p>In other words, once the cover animation finishes playing, the way &quot;Ashton&quot; comes to rest is exactly the site&#x27;s wordmark. </p><p>V1.1 took it one step further: The &quot;Ashton&quot; from the cover first lands in the &quot;Ashton is&quot; line on the homepage; when you scroll down, or the carousel switches to a portfolio image, it shrinks into the top-left corner and becomes the wordmark.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/10-dock-on-scroll.gif" alt="As the homepage scrolls down, the large “Ashton” shrinks into the upper-left wordmark while introductory text and selected works appear; scrolling back restores the large name. The animation demonstrates continuity between the cover and header identity." width="720" height="720"><figcaption><span>Fig. 11</span>As the page scrolls down, the big &quot;Ashton&quot; shrinks into the wordmark in the top-left corner; scroll back up and it becomes the big text again</figcaption></figure><hr><h2 id="section-10"><span>4</span><span>Version iteration notes</span></h2><p>Based on the records on my computer, here&#x27;s an itemized log of the process:</p><ul><li><p><strong>Evening of the 15th</strong>: I got started a little after 6, put together the skeleton, and built the homepage.</p></li><li><p><strong>The 16th</strong>: I added the works page, created a name animation, and finalized V1.0 at 4:30 PM; in the evening I spent two hours saving screenshots and screen recordings of the entire site.</p></li><li><p><strong>The 17th</strong>: I iterated to V1.1 and put it online a little after 4 PM. I started writing this post at noon and kept revising it until just before publishing.</p></li><li><p><strong>In total</strong>: Up through V1.1, judging by the commit history, I actually worked over 18 hours, with 134 commits in total; </p><p>writing this post took more than 12 hours end to end, with most of the time going into revisions in the latter half: In the evening I dictated a voice recording for over 40 minutes, then spent more than two hours myself proofreading and revising it sentence by sentence, and the accompanying images went through six rounds.</p></li><li><p><strong>Plans</strong>: The next version is already in the works. For example, a dropdown menu has been added to the Work button.</p></li></ul><h3 id="structure-build-2">Admin Dashboard</h3><p>Because pages, drafts, and unmerged changes kept piling up during the build, after V1.0 I had the AI set up an admin dashboard as well, where everything that changed in each version gets recorded. </p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/en/12b-releases_site.png" alt="The admin dashboard lists Unreleased above v1.1 dated 2026-10-17 and marked Live, then v1.0 dated 2026-10-16, with change notes and merged branches. The cards distinguish the live release from upcoming work." width="1566" height="1028"><figcaption><span>Fig. 12</span>The site&#x27;s version history in the admin dashboard: v1.0, v1.1, with the next, not-yet-launched version at the top</figcaption></figure><p>Going forward, I also hope to organize and integrate things like my newsletter, shop, and articles into the site and this dashboard, which is also why I plan to keep improving it.</p><hr><h2 id="section-11"><span>5</span><span>The Conception and Preparation from Half a Year Ago</span></h2><p>Quite a few writers have said that when asked exactly when they started creating a newly finished work, it&#x27;s hard to give a precise answer, because so much of the relevant experience and scattered ideas has been quietly building up long before it shows.</p><p>Take my website design this time: It was two days from when I officially got started, but counting from the conception and ideas, it&#x27;s certainly far more than that. The 10-plus or 20-odd hours I mentioned earlier naturally represent even more than that too. Never mind the website ideas and design-effect notions I&#x27;ve had since I first learned Flash and Fireworks in middle school — even just the asset library experiments I mentioned earlier for this build began half a year ago.</p><p>Back then, in order to help the class rep and Ya-ge (Yan Wang, co-founder of Superlinear Academy) sell the course and answer classmates&#x27; questions, I took the course myself too (though I never did the homework afterwards, mea culpa). But chatting with them day to day, I got plenty of direct guidance; and it was also under the class rep&#x27;s urging that I took the first step to using AI well early on: I stopped using the chat window.</p><p>At the time, I also had AI help me build a personal website, running in parallel with the research and the selection of the material library. But two things got in the way: First, AI wasn&#x27;t capable enough back then, and second, I was slow at doing things with my own hands. The result looked AI-made at a glance, and no matter how I tweaked it, it never got better — plus it burned through that week&#x27;s tokens in one go. </p><p>That version took from late June to mid-July, a little over two weeks in total: three versions of the homepage, roughly one per week, while researching the reference sites took just one afternoon. I wasn&#x27;t satisfied with the final result myself, so it never went live.</p><p>The main template used back then was also Daikoku. Let me put together a comparison image for you to look at. You can actually see that even with the same main template, the same template, and identical HTML, as soon as the CSS is different and the choice of other materials is different, the final result is worlds apart.</p><figure><img src="https://ink.ashtonshu.page/media/ashton-is-build/13-summer-0702-vs-now.png" alt="The July prototype above uses a black background and large serif “Ashton Shu.”; the current homepage below uses a white background and sans-serif “Ashton is a graphic designer.” The comparison shows how typography, colour, and asset choices transform the same main template." width="1566" height="1939"><figcaption><span>Fig. 13</span>Top image: the prototype version from this July; bottom image: the current homepage</figcaption></figure><h2 id="section-12">I&#x27;d like to ask you all for your help</h2><p>Finally, there are a few things I&#x27;d like you all to help me take a look at:</p><ol start="1"><li><p>Are there any typos anywhere, or any wording that isn&#x27;t particularly good?</p></li><li><p>When you refresh the page or re-enter the site, is there anywhere where the display looks disjointed, doesn&#x27;t render smoothly, or shows something incorrectly? The homepage cover is shown only once within the same tab (opening a new tab will show it again), so you can try both cases.</p></li><li><p>Are there any other places where the AI feel makes them clearly inconsistent with the overall style, or noticeably less polished? I&#x27;m asking this not to deny that I used AI, but to find the spots where the polish didn&#x27;t keep up.</p></li></ol><h3 id="section-13">And finally, a little self-promotion</h3><p>Besides reaching out to me privately for community questions,<strong> if anyone has web or graphic design commissions and thinks my current work is pretty good, and would be willing to offer me some side-project opportunities, you&#x27;re also welcome to reach out to me through the Contact page on my website.</strong> And by the way, you could also help me test the domain email I just set up.</p><p>Posting the website link one more time: <a href="https://ashton.is/">Ashton.is</a></p><p>Originally published at <a href="https://ink.ashtonshu.page/ashton-is-build">MountainSide</a>.</p>]]></content:encoded></item></channel></rss>
