Changelog

This site is a working product, so it keeps release notes: every meaningful push, what changed, and why. I build it in the open with an AI pair; the taste and the final calls are mine.

FixContent

Two numbers, credited where they belong

Removed a 92% setup-completion figure from the Aplos and Keela integration case study. The 92% in my work is the fee opt-in result, not setup completion. The résumé PDF is also corrected: the 70% drop in support tickets now sits with the split-transaction work where it happened, the fee opt-in test is listed under my Aplos role, mentoring is included, and the contact address is allensmkang@gmail.com.

WhyEvery number on this site should be one I can defend line by line in an interview. Two of them were credited to the wrong work.

Fix

The link preview card catches up too

The image that shows up when this site's link is pasted into iMessage, LinkedIn, or Slack still said mooque.xyz at the bottom, a static image made before the move to allenkang.com that the domain migration missed because it's pixels, not text. Rebuilt it at the same size and design, with the right address.

WhyThe link preview is often the first thing a recruiter sees, before they've clicked anything. It should say where the site actually lives.

Design

2024 Wrapped gets a better cover

Swapped the 2024 Wrapped cover for the pet social app screens, cropped to their actual content and composed through the same cover system every other project uses, matted whole on the sage green ground instead of a generic placeholder.

WhyA year-in-review deserves a cover that actually shows something from the year.

ContentEngineering

A page for the drawings

New page at /illustration, a retrospective pulling the drawn work out of four projects: the three characters that became ARND's onboarding paths, a personal zine's hand lettering, a hundred days of small interface drawings, and De Mello's tiger carrying a brand across packaging, social, and gift cards. It is not in the main nav. It exists to be shared directly, for conversations where illustration itself is what's being evaluated.

WhyMost of this site argues that I can design a workflow. This page argues something narrower and, for the right room, more useful: that I can draw, and that drawing has changed real decisions, not just decorated them.

ContentEngineering

The recipe app goes by its real name

The case study lived at /work/ai-recipe-book while the resume called the project Forkestrate, two names for one thing. It is Forkestrate now, on the URL and in the title, with the old link permanently redirected so nothing that pointed to it breaks. The page also picked up a section it was missing: pasting in a link, from a recipe site or a cooking video, and having it come back as something you can actually follow, ingredients and instructions and a time breakdown, instead of a video you keep rewinding.

WhyA resume and a portfolio should tell you the same name for the same project. And a lot of cooking inspiration starts as a video; the app's real job was turning that into something you could stand at a stove and follow.

Content

The recipe app names its mission and links its receipts

AI Recipe Book now says the goal directly: make everyday cooking accessible enough that someone who barely cooks could still get dinner on the table, not another tool for people who already love cooking. The Instacart section grew a companion point: the ingredient gap it closes hits newer cooks hardest, since an experienced cook can eyeball a recipe and know what's missing and a newer one usually can't. The Reddit post that brought the first real users is now a real link instead of a claim.

WhyA mission is worth stating once, plainly, instead of leaving it implied. And a number is worth more when you can click through and check it yourself.

Content

Two more titles stop sounding like templates

ArtsGaze and Mooze both had titles built from a generic pattern, 'Helping X Build Y' and a plain noun label, rather than a concrete decision. Renamed to Design Systems Artists Can Run Themselves and Built for the Return, Not the Save, both taken from the actual thesis each case study already argues.

WhyStarted as one title that read as generated. Once I looked, two more had the same tell.

Content

One title stopped sounding like a template

AI Recipe Book was titled 'A Side Project About Trust,' the abstract-noun-about-X pattern that reads as generated rather than written. Every other title on the site names a concrete thing that happened; this one now does too: Recipes That Show Their Work, after the actual mechanic, the AI explains its substitutions instead of making them silently.

WhyA title that names a theme could belong to any project. A title that names what the thing actually does could only belong to this one.

ContentFix

The recipe app tells the truth about who cooks

AI Recipe Book opened with 'I cook almost every day,' which was not true and read that way. The real story is better anyway: I'm not the cook, I'm surrounded by them, my mother has cooked professionally for years, and close friends make cooking content for a living. The Instacart integration also got the space it earned: a small piece of interaction design that closed the real gap in the product, the moment between wanting to cook something and actually having what it takes.

WhyA side project should show real judgment, not a persona. And the parts I actually built, however small, are more convincing than the parts I didn't.

FixContent

A number that was never measured comes out

The Transaction Workflows study claimed the redesign moved satisfaction from 5.5 to 8.8 out of 10, and pointed at a chart as proof. The image was never a chart; it is a screenshot of a design review. The real 5.5 and 8.8 are company revenue figures in millions that got mislabeled somewhere between the source notes and the page. The claim is gone. What stays is what was actually measured: the three prototype rounds the accountants scored themselves, 6, 7.5, and 9.5 out of ten, and the review image now says what it is.

WhyA portfolio's numbers are only worth what you can defend in a room. One unearned metric taints the earned ones next to it, so it goes, even when it flattered me.

FixContent

The downloadable resume catches up

The PDF behind the Download button was still carrying the old domain and email. Rebuilt clean: one page, plain parseable text for applicant tracking systems, allenkang.com and the current contact on top. Same story, current coordinates.

WhyThe resume PDF is the copy recruiters actually keep. It should never be the stalest thing on the site.

Engineering

The email matches the address

Every contact point on the site now says allen@allenkang.com, matching the new domain. Mail to the old allen@mooque.xyz still arrives, nothing sent to it is ever lost, but the address you see is the address that belongs here.

WhyA domain move is finished when the email agrees with it.

Engineering

The site moves to allenkang.com

This site now lives at allenkang.com. Nothing else changed: mooque.xyz stays alive forever as an alias, and every old link redirects here permanently, along with www and the original deployment URL. The canonical address, the sitemap, and the metadata all point at the new home.

WhyCorporate email filters and web proxies sometimes block cheap domain endings outright, and a portfolio you can't open is a portfolio that doesn't exist. A name-dot-com opens everywhere, including the places that decide whether to interview you.

Design

Twenty covers, one system, nothing cropped

Every project cover is now a composed 3:2 canvas: the artifact shown whole on its own ground color, consistent padding, soft shadow. Before this, the card's crop was quietly eating the work, some covers lost a third of their width, including two flagships. A small cover-factory script builds them, so the next case study gets the same treatment by running one command. Live experiments were re-captured at the new ratio; ARND's two-phone canvas was recomposed; the confidential flagship keeps its blur, now over a properly built substrate.

WhyA cover should present the work, not sample it. Authoring every cover to the frame, instead of letting the frame crop the cover, is the difference between a gallery and a contact sheet.

Content

The shelf grows to nine, and two quiet studies grow up

The home page now features nine: the five professional studies, two experiments, and two personal projects. Toronto Yuwol earned its spot with the full story it always had: not just a schedule tracker but a suite, with a bilingual script reader used daily and a ticketing platform that sold real seats for a ten-month run. The blockchain year gained the section it was missing, what designing for wallets, gas, and smart contracts taught me about hiding complexity without breaking trust. ARND's study now mentions the unglamorous App Store readiness work, and the Automation numbers were tightened to the ones I can defend in a room: 30% adoption across 355 organizations, part of a 13% ARR increase.

WhyA portfolio should show range without diluting the lead. Nine is the shelf where the professional case holds and the breadth finally shows.

DesignContent

The last two experiment covers go live too

Schematic's card now shows its actual site: the wine-dark hero with the wireframe form. Personal Color Analysis shows its landing (Find your perfect color season) and finally carries its live link, so all six experiments now open to the real thing. Every card on the experiments shelf is a screenshot of running software.

WhyThe shelf's whole argument is 'these exist.' The last two illustrations were the only cards still saying 'trust me' instead of 'look.'

Design

The experiments move up a shelf

On Work and on the home page, the Experiments section now sits directly under Professional Work, with the archive closing the page instead of splitting the middle. ARND, live and current, is the second thing you meet; the oldest material is the last. The filter pills follow the same order.

WhyReading order is an argument. The professional work makes the case, the live experiments show the range, and the archive is the epilogue, not the second chapter.

Content

The ARND story goes end to end

The ARND case study now shows the whole arc, not just the app. Three more screens cover the loop (the show page, proof-by-check-in, the performer's side), the arnd.app front door and per-event cover art show the brand carrying through, and a new Run in the open section shows the public changelog (a hundred-plus updates, each with its why) and the governed design system page. Screens sit in a compact row now instead of stacking full-width.

WhyDesigning an app is the visible half. Running one, with a brand, a changelog culture, and rules that outlive the author, is the half a portfolio rarely gets to show.

DesignFix

Phone screens stopped hogging the page

Portrait app screenshots in case studies used to stretch to the full reading column, which made a single phone screen taller than the whole viewport, two and a half screens of scrolling for one image. Tall captures now render at phone size: centered, rounded like a device, with a soft shadow and a centered caption. Applied to ARND's three screens and the tall captures on the automation and Orchid studies.

WhyA phone screen shown at phone size reads as a product. The same screen blown up to fill the column reads as an obstacle.

DesignContent

The experiments shelf shows the real things

The Experiments section on Work is a denser three-up shelf now: cover, category, and the app's name, nothing else. And the covers stopped being abstract stand-ins. ARND's card is two real screens from the app (the feed and the live Toronto map) on its own bellflower blue; Mooze, Vesta Press, and Toronto Yuwol show their actual landing pages, captured from the live deployments. Schematic keeps its schema-tile grid and Color Analysis its four-season palette, since those are the product.

WhyFour of these six are live software. A shelf of real screenshots says 'these exist and you can open them' in a way no illustration can. It also fixed a quiet embarrassment: ARND's old cover was orange, and ARND has never been orange.

Design

Quieter everywhere: the minimal pass

Three subtractions. The dual clock (Toronto and Seoul) left the header, where it was decoration on every page, and moved to About, where it's biography. The guide now lives on the home page only: a smaller, calmer card with a plain link instead of a button, and if you close it, it stays closed for the rest of your visit. And the site's small uppercase labels, which had drifted into nineteen slightly different sizes and letterspacings, now share one spec.

WhyMinimal isn't a look, it's a discipline: every element either earns its place on every page it appears on, or it moves to the one page where it means something.

Content

ARND joins the front door, as itself

ARND's case study stopped calling it a thought experiment, because it stopped being one. The rewrite tells the current story: a working app running on live curated Toronto listings, in beta at arnd.app, with real screens from the app itself (the map on live data, the feed, a hosted listening night). It now leads a self-built Experiments section on the home page, under the professional flagships, and its live link points at the real domain.

WhyThe judges who shaped the flagship shelf read the old write-up and fairly called it a concept piece. It isn't one anymore, and the portfolio should say what's true now.

Engineering

The home page stopped shipping the animation engine

The motion library was loading on every page, roughly 128KB of JavaScript, even though the home page used it only for a hover lift and an icon swap. Those are plain CSS now, the magnetic card effect is a few lines of hand-rolled motion, and the floating guide loads lazily after the page is interactive. The home page no longer downloads the animation engine at all; it now loads only where it earns its place, on the Work grid and the gateway. The animations look the same.

WhyThe fastest code is the code you don't send. A portfolio should open instantly, especially for someone skimming on a phone between meetings.

Content

The work has flagships again

The home page used to feature nearly every project, which meant it featured nothing. It now leads with four: the transaction-workflow redesign, the Orchid design system, the Aplos and Keela integration, and the fee opt-in experiment, the pieces that best show senior product work. Two more sit behind them for range. Every other case study is still here, one click away under Work; they just no longer crowd the front door.

WhyA portfolio that features everything is a list, not a point of view. Choosing what leads is one of the more honest things the home page can do.

Design

Tightened the layout and framed the work

The Work and Writing pages got an editorial masthead: the title on the left, the one-line description on the right, so the header fills the width instead of hugging one corner. Every project cover now carries a consistent hairline frame, so a bright product screenshot, a color field, and the blurred confidential card all read as the same kind of object. The guide card is fully opaque now, so a decorative sticker can no longer show through it on the About page. And the Résumé page finally spells its own name with the accents the nav already used.

WhyThese were small distances between things that were supposed to match. A portfolio that pays attention to its own edges is most of the argument.

Engineering

Quieter foundations: recovery screens, lighter images, first tests

Three things under the hood. If a page ever throws, you now land on a branded recovery screen instead of a raw error, on any route, and even if the whole layout fails. The three heaviest case-study images were re-encoded from PNG to JPEG, cutting about 2.8MB off those pages with no visible change. And the content pipeline, the rate limiter, and the two write endpoints now have a test suite, so the parts that quietly matter can't break unnoticed.

WhyNone of this shows on a good day. It is what keeps a bad day from turning into a broken one.

Content

Added Schematic, retired Wayfind, linked ARND live

New case study: Schematic, a 2016 design-research project on the 18 maladaptive schemas from schema therapy, rebuilt in 2026 as a navigable archive with a private browser-only self-check. ARND now links to its live alpha, and Wayfind came off the shelf. Mooze, Vesta Press, and Toronto Yuwol keep their live links.

WhySchematic is real design research, not a weekend build, so it earns a place. And the work should show what's live and current, not what's stale.

DesignEngineering

An accessibility and legibility pass

Audited contrast, motion, and reading comfort. The paper grain moved behind all content so it textures the page without ever sitting on top of the words. Reduced motion is now honored everywhere: framer-motion animations disable for anyone who asks (one setting at the root), plus a CSS reset for transitions and smooth scroll. The ambient dual-clock in the header is hidden from screen readers, since it is decoration, not information.

WhyThe audit found the fundamentals already sound (every text color passes AA, the reading measure is a comfortable 68 characters), so this was about the edges: texture that respects the text, and motion that respects the person.

Content

Varied the closing line on three case studies

Orchid, Aplos x Keela, and Forkable all ended on the same construction: 'the thing I'm proudest of isn't X, it's Y.' Once a reader notices a template, it stops reading as reflection. Rewrote each closer to land the same real point in its own words.

WhyRepetition across strong case studies reads as formula, and it undercuts writing that's otherwise specific and earned.

Content

Rewrote the experiments as design stories

Mooze, Vesta Press, Wayfind, and Color Analysis read like feature lists with a tech stack attached, which for a design portfolio quietly says 'I prompted an AI to build this.' Rewrote each to lead with one real decision: Mooze designs for the return not the save, Vesta refuses to summarize, Wayfind is built for one hand on one trip, Color Analysis is tactile instead of a verdict. Cut the feature bullets and the stack sections; the tools already sit in each case study's meta.

WhyA side project should still show taste and judgment. The point of these was never the stack, it was the call I made and why.

ContentEngineering

The side projects go live, for real

The Claude-built experiments that are actually deployed now carry a 'Visit the live app' link on their case study, so you can open the real thing instead of only reading about it: Mooze, Vesta Press, Toronto Yuwol, and Wayfind. Only verified-and-public deployments got linked.

WhyA case study says I built it; a live link lets you use it. For self-shipped software, the proof is that it runs.

Design

The vault steps out of the nav

Same-day edit: Vault left the header nav and now lives in the home page's right rail, under Now, where the wandering begins anyway. Also cut the repetition that had crept in: the vault feed no longer mirrors now-snapshots, and the hero links dropped About and Resume, which the fixed header already offers a glance away.

WhyThe header is for the hiring path; the vault is for wanderers. And saying something twice on one screen is not emphasis, it is noise.

DesignContentEngineering

The vault opens

New direction made structural: /vault is a living record that weaves notes, moments, frames, and artifacts with the essays and now-snapshots the site already had. /now keeps every dated snapshot instead of overwriting, so it shows the path, not just the position. An importer stands ready to bring curated posts over from a decade of Instagram, original dates intact. Vault joins the nav.

WhyA portfolio shows what Allen made; the vault records who he was while making it. Provenance over polish: timestamps, reversals, and things in progress are the point, not a liability.

Design

Paper grain, and a warm dark canvas to match

Added a faint paper grain: fine grayscale noise, overlay-blended so it adds tooth without dulling the page, tuned to a whisper. One texture covers both themes. Warmed the dark background from a cool near-black to a warm ink so both modes feel like the same paper.

WhyOrganic grain reads as material, not the geometric pattern that made the dot grid feel like a glitch. This is the tactile half of paper; the ivory tint was the color half.

Design

Warmed the canvas to paper ivory

Shifted the light background from a cool near-white to a warm ivory. Pure color, no pattern, so it reads as paper stock instead of a screen. A nice side effect: the stickers' white die-cut borders pop a little more against it.

WhyThe honest way to add paper warmth is the material itself, not a texture laid on top. This is what the dot grid was reaching for and failing to be.

Design

Cleaned the canvas: no cursor, no grid

Removed two decorations in one pass: the trailing ring-and-dot cursor and the background dot grid. The grid got three tries (too faint, then distracting, then crisp but still competing), and the cursor's ring read as a glitch over it. Native pointer, bare cream canvas.

WhyWhen a decoration keeps fighting you, it isn't earning its place. The work, the writing, and the stickers carry the personality; the background should recede so they can breathe.

Design

Redrew the stickers that didn't read

Audited the About stickers at their real size. The paintbrush read as a lipstick, the clarinet as a chess pawn, and the guitar as a gourd. Swapped the brush for a paint palette with color dabs, angled the clarinet so the keys and mouthpiece show, gave the guitar a proper figure-eight waist and round sound hole, and tightened the trumpet bell and capybara.

WhyA sticker that needs a caption has failed. If it can't be read in a glance at margin size, it is noise, not personality.

DesignEngineering

One accent color, and a lighter codebase

Gave the site a single signature color, drawn from the 묵 seal: highlight any text and it glows seal red, and focus rings switched from a generic blue to the same. Stickers now peel up on hover so they read as grabbable. Under the hood, deleted an entire orphaned layout-switching system (six components) that nothing rendered anymore.

WhyThe palette had one off-brand color left, the blue focus ring, in an otherwise ink-and-cream site. One accent used sparingly is identity; used everywhere it is wallpaper. And dead code is a tax every future change pays.

Design

Sticker round two: the ones with stories

Four more for the About scrapbook: a film camera, a loaded paintbrush, a red seal carved with 묵, and a capybara with an orange on its head. Each is placed beside the paragraph that explains it; the seal sits next to On the name, since Mook is a homophone for ink.

WhyThe best sticker is one that makes you ask why it is there, and the page answers. The capybara is the retired site mascot, enjoying its afterlife where it can no longer interrupt anyone.

Design

Pixel stickers land on the About page

Nine hand-pixeled, die-cut stickers scattered scrapbook-style down the About margins: a running shoe, the Korean and Canadian flags, Jacob Collier, Hiromi, and a clarinet, trumpet, guitar, and piano. They drag, and your arrangement is saved locally. Drawn pixel by pixel with a render-and-review loop; the runner figure took three attempts and lost to the shoe.

WhyThe About page told the story in words only. Stickers are the margin-doodle layer: the things I love, drawn the way I loved drawing as a kid.

FixEngineering

A second audit, and the work grid gets its proof back

Re-audited the whole site from recruiter, designer, and engineer seats. The flagship card on the work grid now leads with its 75% to 92% result instead of an unlabeled blur, the guide stays closed on browsing pages, ESLint went from seven problems to zero, and dependencies got patched.

WhyAn audit only counts if you run it again after the fixes. The second pass caught a label that had been invisible all along: white text on a cream blur.

DesignEngineering

Instant first paint, visible results, honest thumbnails

Replaced hydration-gated reveal animations with pure CSS so pages paint immediately. Un-blurred the Fee Opt-In results infographic, drew five cover marks to replace near-black screenshot thumbnails, and gave the wide-screen home a small Now rail.

WhyFirst visits started with two seconds of blank screen, and the best case study was hiding its own outcome. Aggregate results are not confidential; product screens are. The blur now knows the difference.

Content

The availability pill comes off

Removed the green Open to roles indicator from the home hero.

WhyThe work should make the case before the status does. The About page still says it in full sentences.

EngineeringFix

Sharing layer: sitemap, robots, one clean share card

Added a sitemap and robots file, then caught my own duplicate: a second generated share image was fighting the hand-made one, so the generators went and the branded card stayed.

WhyLinks to this site get pasted into Slack and LinkedIn by people deciding whether to talk to me. The preview is the first impression before the first impression.

Content

Earned Black, and every em-dash leaves the site

Published Earned Black, an essay on rank, ink, and what depth you cannot shortcut. Retitled two essays and two case studies away from formula. Removed all eighty em-dashes from the site, each replaced by the punctuation the sentence actually wanted.

WhyTitles that read like content marketing undercut writing that is personal. And the dashes were a tell: machine cadence in what should be a human voice.

Design

The guide wins; the chatbot goes

Shipped a streaming AI chat grounded on the portfolio, lived with it for an evening, and removed it the same day. The curated guide took its place and became a real navigator: per-page notes, next-step links, quick nav.

WhyThe chat felt off. An open prompt invites anyone to test the edges; a curated voice says exactly what I want said. Killing your own feature quickly is a feature.

DesignContent

The flagship becomes a feature card

The home page now leads with the Fee Opt-In study as a feature card: the 75% to 92% result over the redacted cover, with a confidential chip. Contact moved to allen@mooque.xyz, and the gateway forms got rate limiting, honest error states, and proper tap targets.

WhyThe strongest evidence was buried in a list. If the work is confidential, lead with the outcome and say why the pixels are blurred.

Design

From capybara to quiet

Retired the animated mascot era: a pixel avatar, Clippy, the Windows XP dog, and a custom capybara all had their day. What remains is a small text guide that knows which page you are on.

WhyFour mascots taught me the personality belongs in the words, not the sprite. Charm that interrupts reading is not charm.

Engineering

Images: 198 MB to 33 MB

Resized and re-encoded every case-study image, fixed uppercase filenames that broke on case-sensitive servers, and pruned dead mascot code and assets.

WhyCase studies were shipping raw design-file exports. And macOS forgives filename casing; Linux does not.

Content

Experiments join the portfolio

Added the Experiments section: Wayfind, ARND, Vesta Press, Mooze, Toronto Yuwol, and Personal Color Analysis, alongside the full personal-project arc from illustration to design systems.

WhyThe range is the point. Side projects show judgment with no one else in the room.

Design

First branding pass: favicon, share card, adaptive theme

Hand-set the ak favicon and share card in the wordmark style, added a theme color that follows light and dark mode, and gave the 404 page the site's typography.

WhyThe details nobody asks for are the ones designers check first.

Older than this, the history lives in git. The format takes after teams that publish their work as it happens; if a change was worth shipping, it is worth explaining.