PageSourceSearch

https://kevinformatics.com/

html kevinformatics.com collected 2026-09-25 21:10:04 UTC 52,889 bytes, 73 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/images/projects/vector-logos.png"/><link rel="preload" as="image" href="/images/projects/graphtv.png"/><link rel="preload" as="image" href="/images/projects/gitphy.png"/><link rel="preload" as="image" href="/images/projects/bready.png"/><link rel="preload" as="image" href="/images/projects/randomcolor-py.png"/><link rel="preload" as="image" href="/images/projects/the-days-sidebar.png"/><link rel="preload" as="image" href="/images/projects/firefly.png"/><link rel="preload" as="image" href="/images/projects/wwpgd.png"/><link rel="preload" as="image" href="/images/projects/releaselog.png"/><link rel="preload" as="image" href="/images/projects/plasmyd.png"/><link rel="stylesheet" href="/_next/static/css/2178bbc286ad2b33.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/bd41ebb1e545cea0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-eaf059fdabd6f0bc.js"/>
1<script src="/_next/static/chunks/4bd1b696-5227e82d104c577b.js" async=""></script>
1<script src="/_next/static/chunks/587-c2a1c41776a405c1.js" async=""></script>
1<script src="/_next/static/chunks/main-app-d2feb8bdf3c6de64.js" async=""></script>
1<script src="/_next/static/chunks/517-a90d8d3f64780fc6.js" async=""></script>
1<script src="/_next/static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js" async=""></script>
1<link rel="apple-touch-icon" sizes="180x180" href="/favicon/favicon-180x180.png"/><link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="rgb(250,250,250)"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="rgb(17,17,17)"/><title>About Kevin Wu | Kevin Wu</title><meta name="description" content="Engineering leader who loves science"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><style>:root {
2  --nextra-primary-hue: 212deg;
3  --nextra-primary-saturation: 100%;
4  --nextra-primary-lightness: 45%;
5  --nextra-bg: 250,250,250;
6  --nextra-content-width: 90rem;
7}
8.dark {
9  --nextra-primary-hue: 204deg;
10  --nextra-primary-saturation: 100%;
11  --nextra-primary-lightness: 55%;
12  --nextra-bg: 17,17,17;
13}
14::selection {
15  background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);
16}
17html {
18  background: rgb(var(--nextra-bg));
19}</style>
19<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
19</head><body>
19<script>((e,t,r,n,o,i,a,s)=>{let l=document.documentElement,u=["light","dark"];function c(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&i?o.map(e=>i[e]||e):o;r?(l.classList.remove(...n),l.classList.add(i&&i[t]?i[t]:t)):l.setAttribute(e,t)}),r=t,s&&u.includes(r)&&(l.style.colorScheme=r)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
19<article class="x:container x:px-4 x:prose x:max-md:prose-sm x:dark:prose-invert" dir="ltr" data-pagefind-body="true"><header class="x:mb-8 x:flex x:items-center x:gap-3 x:justify-end" data-pagefind-ignore="all"><a class="x:aria-[current]:no-underline x:aria-[current]:opacity-60" aria-current="true" href="/">About</a><a class="x:aria-[current]:no-underline x:aria-[current]:opacity-60" href="/blog">Blog</a><button class="x:transition x:cursor-pointer x:p-2" aria-label="Toggle Dark Mode" type="button" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="14"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg></button></header><h1>About Kevin Wu</h1><div class="x:mb-8 x:flex x:gap-3 x:items-center"><div class="x:grow x:dark:text-gray-400 x:text-gray-600"><div class="x:flex x:flex-wrap x:items-center x:gap-1"></div></div></div><p>Hi, I’m Kevin. I’m an engineering leader who loves science. I love creating
20software to make scientific discoveries. I enjoy taking products from zero to
21one.</p>
22<h2 id="projects" class="">Projects<a href="#projects" class="not-prose subheading-anchor" aria-label="Permalink for this section"></a></h2>
23<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/vector-logos.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Vector Logos</strong> —
24<a href="https://www.figma.com/community/plugin/854152902511629627/Vector-Logos" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Figma<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
25<a href="https://github.com/kevinwuhoo/vector-logos-figma-plugin" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Github<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>A Figma plugin that enables searching for and inserting vector versions of
26logos. 108th most popular plugin with 100k installs (as of July 2023).</p></div></div></div>
27<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/graphtv.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>GraphTV</strong> (Complete)</p></div><div style="margin-top:-1rem"><p>
27Visualize per-episode ratings of any TV series. <a href="https://www.avclub.com/website-turns-any-tv-show-into-a-chart-revolutionizes-1798267065" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">AV
28Club<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>
29touted that it “revolutionizes arguing about TV”. Also covered in
30<a href="http://www.wired.com/2014/03/graph-quality-every-tv-show-ever-amazing-site/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Wired<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
31<a href="https://gizmodo.com/check-the-tv-ratings-of-any-show-on-imdb-using-this-coo-1550258159" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Gizmodo<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
32<a href="https://flowingdata.com/2014/03/24/graph-tv-shows-ratings-by-episode/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Flowing
33Data<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
34<a href="https://www.fastcompany.com/3028097/test-it-did-your-favorite-tv-show-get-better-or-worse" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Fast
35Company<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
36<a href="https://time.com/28906/this-website-graphs-the-popularity-of-tv-shows/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Time<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
37and others.</p></div></div></div>
38<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/gitphy.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Gitphy</strong> —
39<a href="https://chrome.google.com/webstore/detail/gitphy/kbnbfpmphfpcndlokabhemafnjhkcffc" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Chrome<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
40<a href="https://addons.mozilla.org/en-US/firefox/addon/gitphy/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Firefox<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
41<a href="https://github.com/kevinwuhoo/gitphy" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Github<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewB
41ox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>Search for and insert GIFs into Github without leaving the textarea. As
42colleagues have testified, useful for inserting a bit of fun into pull
43request reviews and issues.</p></div></div></div>
44<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/bready.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Bready</strong> — <a href="https://bready.io/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Site<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>Convert volumetric recipes into mass for maximal baking reproducibility.</p></div></div></div>
45<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/randomcolor-py.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>randomcolor-py</strong> — <a href="https://pypi.org/project/randomcolor/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">PyPI<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
46<a href="https://github.com/kevinwuhoo/randomcolor-py" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Github<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>A python package that generates attractive random colors. It sees about
47~5.9k monthly downloads and has 256k total downloads (as of Aug 2022).</p></div></div></div>
48<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/the-days-sidebar.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>The Days Sidebar</strong> (Complete) —
49<a href="https://chrome.google.com/webstore/detail/the-days-sidebar/njkkgfngelkphhfadnpealmkjmdjcioc?hl=en" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Chrome<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
50<a href="https://github.com/kevinwuhoo/thedayssidebar" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Github<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewB
50ox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>A minimal browser new tab page that embeds the day’s
51<a href="https://sidebar.io/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Sidebar.io<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a> links into color inspiration from <a href="http://www.thedayscolor.com/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">The
52Day’s Color<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>. Helps me keep up with designs
53trends and news.</p></div></div></div>
54<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/firefly.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Firefly</strong> — <a href="https://firefly.kevinformatics.com/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Site<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem">Find Haikus in the Bluesky firehose.</div></div></div>
55<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/wwpgd.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>What Would PG Do?</strong> (Complete)</p></div><div style="margin-top:-1rem"><p>A site where you could search Paul Graham’s essays. <a href="https://news.ycombinator.com/item?id=4656378" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Got made fun of by
56the internet<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>, but what’s
57life without a bit of levity? The first product I built that had traction.
58Covered by
59<a href="https://techcrunch.com/2012/10/15/what-would-paul-graham-do/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">TechCrunch<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
60<a href="https://www.inc.com/kathleen-kim/got-questions-about-start-ups-just-ask-paul-graham.html" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Inc<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>,
61and others.</p></div></div></div>
62<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/releaselog.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Releaselog</strong> —
63<a href="https://www.releaselog.xyz/facebook/react/releases" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Site<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewB
63ox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a></p></div><div style="margin-top:-1rem"><p>Releaselog pulls in all of a project’s releases onto a single page so you
64can use ctrl+f to your heart’s content without dealing with pagnation.</p></div></div></div>
65<div style="display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem"><div style="width:112px;padding:4px;flex-shrink:0;align-self:flex-start;border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border:1px solid rgb(0 0 0 / 0.05)"><img alt="Project Image" width="144" height="96" decoding="async" data-nimg="1" style="color:transparent;border-radius:8px;margin:0" src="/images/projects/plasmyd.png"/></div><div><div style="font-weight:600;margin-top:-1.25rem"><p><strong>Plasmyd</strong> (Acquired)</p></div><div style="margin-top:-1rem"><p>Collaborate over scientific papers. Think RapGenius for published papers.
66Read about our <a href="https://techcrunch.com/2012/09/27/meet-plasmyd-a-search-enginediscussion-platform-just-for-scientists/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">our launch on
67Techcrunch<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>.
68We were <a href="https://techcrunch.com/2013/10/23/academia-plasmyd/" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">acquired by
69Academia.edu<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>.</p></div></div></div>
70<h2 id="contact" class="">Contact<a href="#contact" class="not-prose subheading-anchor" aria-label="Permalink for this section"></a></h2>
71<p>Have an awesome idea you want to hack on with me? Is there an amazing new ramen
72shop that I need to know about? You can reach me at <a class="x:focus-visible:nextra-focus" href="/cdn-cgi/l/email-protection#026f67426967746b6c646d706f63766b61712c616d6f"><span class="__cf_email__" data-cfemail="a6cbc3e6cdc3d0cfc8c0c9d4cbc7d2cfc5d588c5c9cb">[email&#160;protected]</span></a> or on
73<a href="https://twitter.com/kevinwuhoo" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus">Twitter<!-- --> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7" viewBox="0 0 24 24" height="1em" class="x:inline x:align-baseline x:shrink-0"><path d="M7 17L17 7"></path><path d="M7 7h10v10"></path></svg></a>.</p><small class="x:mt-32 x:block" data-pagefind-ignore="all"><hr/>with ❤️ from kevin</small></article>
vendor: 108 bytes, line 73
73<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
73<script src="/_next/static/chunks/webpack-eaf059fdabd6f0bc.js" async=""></script>
73<script>(self.__next_f=self.__next_f||[]).push([0])</script>
73<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[5244,[],\"\"]\n4:I[3866,[],\"\"]\n6:I[6213,[],\"OutletBoundary\"]\n9:I[6213,[],\"ViewportBoundary\"]\nb:I[6213,[],\"MetadataBoundary\"]\nd:I[4835,[],\"\"]\n:HL[\"/_next/static/css/2178bbc286ad2b33.css\",\"style\"]\n:HL[\"/_next/static/css/bd41ebb1e545cea0.css\",\"style\"]\n0:{\"P\":null,\"b\":\"3OmcZsjoMqINJzjUzJg4J\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[[\"mdxPath\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2178bbc286ad2b33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/bd41ebb1e545cea0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"mdxPath\",\"\",\"oc\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",\"$undefined\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",\"$L8\",null]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"Sq5YOPAla4R60HTCTy46e\",{\"children\":[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null]}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script>
73<script>self.__next_f.push([1,"e:I[7113,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ThemeProvider\"]\nf:I[3126,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ViewTransitions\"]\n10:I[2859,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"NavbarLink\"]\n11:I[7758,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ThemeSwitch\"]\n"])</script>
73<script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/favicon/favicon-180x180.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/svg+xml\",\"href\":\"/favicon/favicon.svg\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/favicon/favicon-32x32.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/favicon/favicon-16x16.png\"}],[\"$\",\"link\",null,{\"rel\":\"shortcut icon\",\"href\":\"/favicon/favicon.ico\"}]],[\"$\",\"style\",null,{\"children\":\":root {\\n  --nextra-primary-hue: 212deg;\\n  --nextra-primary-saturation: 100%;\\n  --nextra-primary-lightness: 45%;\\n  --nextra-bg: 250,250,250;\\n  --nextra-content-width: 90rem;\\n}\\n.dark {\\n  --nextra-primary-hue: 204deg;\\n  --nextra-primary-saturation: 100%;\\n  --nextra-primary-lightness: 55%;\\n  --nextra-bg: 17,17,17;\\n}\\n::selection {\\n  background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\\n}\\nhtml {\\n  background: rgb(var(--nextra-bg));\\n}\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"rgb(250,250,250)\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"rgb(17,17,17)\"}],\"$undefined\"]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$Le\",null,{\"attribute\":\"class\",\"children\":[\"$undefined\",[\"$\",\"article\",null,{\"className\":\"x:container x:px-4 x:prose x:max-md:prose-sm x:dark:prose-invert\",\"dir\":\"ltr\",\"data-pagefind-body\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[[\"$\",\"header\",null,{\"className\":\"x:mb-8 x:flex x:items-center x:gap-3 x:justify-end\",\"data-pagefind-ignore\":\"all\",\"children\":[[[\"$\",\"$L10\",\"/\",{\"href\":\"/\",\"children\":\"About\"}],[\"$\",\"$L10\",\"/blog\",{\"href\":\"/blog\",\"children\":\"Blog\"}]],[\"$\",\"$L11\",null,{}]]}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"$undefined\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"small\",null,{\"className\":\"x:mt-32 x:block\",\"data-pagefind-ignore\":\"all\",\"children\":[[\"$\",\"hr\",null,{}],\"with ❤️ from kevin\"]}]]}]}]]}]}]]}]\n"])</script>
73<script>self.__next_f.push([1,"12:I[5414,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"GoBack\"]\n13:I[7023,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"Project\"]\n14:I[7023,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ProjectImage\"]\n15:I[7023,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ProjectHeading\"]\n16:I[7023,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"ProjectBody\"]\n17:I[8173,[\"517\",\"static/chunks/517-a90d8d3f64780fc6.js\",\"217\",\"static/chunks/app/%5B%5B...mdxPath%5D%5D/page-0239498d75f80c98.js\"],\"\"]\n"])</script>
73<script>self.__next_f.push([1,"5:[[\"$\",\"h1\",null,{\"children\":\"About Kevin Wu\"}],[\"$\",\"div\",null,{\"className\":\"x:mb-8 x:flex x:gap-3 x:items-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"x:grow x:dark:text-gray-400 x:text-gray-600\",\"children\":[[\"$\",\"div\",null,{\"className\":\"x:flex x:flex-wrap x:items-center x:gap-1\",\"children\":[\"$undefined\",\"$undefined\",\"$undefined\",\"$undefined\",\"$undefined\"]}],\"$undefined\"]}],[\"$\",\"$L12\",null,{}]]}],[[\"$\",\"p\",null,{\"children\":\"Hi, I’m Kevin. I’m an engineering leader who loves science. I love creating\\nsoftware to make scientific discoveries. I enjoy taking products from zero to\\none.\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"projects\",\"className\":\"\",\"children\":[\"Projects\",[\"$\",\"a\",null,{\"href\":\"#projects\",\"className\":\"not-prose subheading-anchor\",\"aria-label\":\"Permalink for this section\"}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"vector-logos\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Vector Logos\"}],\" —\\n\",[\"$\",\"a\",null,{\"href\":\"https://www.figma.com/community/plugin/854152902511629627/Vector-Logos\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Figma\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://github.com/kevinwuhoo/vector-logos-figma-plugin\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Github\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"A Figma plugin that enables searching for and inserting vector versions of\\nlogos. 108th most popular plugin with 100k installs (as of July 2023).\"}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"graphtv\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"GraphTV\"}],\" (Complete)\"]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[\"Visualize per-episode ratings of any TV series. \",[\"$\",\"a\",null,{\"href\":\"https://www.avclub.com/website-turns-any-tv-show-into-a-chart-revolutionizes-1798267065\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"AV\\nClub\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\"\\ntouted that it “revolutionizes arguing about TV”. Also covered in\\n\",[\"$\",\"a\",null,{\"href\":\"http://www.wired.com/2014/03/graph-quality-every-tv-show-ever-amazing-site/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Wired\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://gizmodo.com/check-the-tv-ratings-of-any-show-on-imdb-using-this-coo-1550258159\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Gizmodo\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\"
73:\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://flowingdata.com/2014/03/24/graph-tv-shows-ratings-by-episode/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Flowing\\nData\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://www.fastcompany.com/3028097/test-it-did-your-favorite-tv-show-get-better-or-worse\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Fast\\nCompany\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://time.com/28906/this-website-graphs-the-popularity-of-tv-shows/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Time\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\nand others.\"]}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"gitphy\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Gitphy\"}],\" —\\n\",[\"$\",\"a\",null,{\"href\":\"https://chrome.google.com/webstore/detail/gitphy/kbnbfpmphfpcndlokabhemafnjhkcffc\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Chrome\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://addons.mozilla.org/en-US/firefox/addon/gitphy/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Firefox\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://github.com/kevinwuhoo/gitphy\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Github\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"Search for and insert GIFs into Github without leaving the textarea. As\\ncolleagues have testified, useful for inserting a bit of fun into pull\\nrequest reviews and issues.\"}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"bready\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Bready\"}],\" — \",[\"$\",\"a\",null,{\"href\":\"https://bready.io/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Site\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\"
73:\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"Convert volumetric recipes into mass for maximal baking reproducibility.\"}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"randomcolor-py\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"randomcolor-py\"}],\" — \",[\"$\",\"a\",null,{\"href\":\"https://pypi.org/project/randomcolor/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"PyPI\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://github.com/kevinwuhoo/randomcolor-py\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Github\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"A python package that generates attractive random colors. It sees about\\n~5.9k monthly downloads and has 256k total downloads (as of Aug 2022).\"}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"the-days-sidebar\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"The Days Sidebar\"}],\" (Complete) —\\n\",[\"$\",\"a\",null,{\"href\":\"https://chrome.google.com/webstore/detail/the-days-sidebar/njkkgfngelkphhfadnpealmkjmdjcioc?hl=en\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Chrome\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://github.com/kevinwuhoo/thedayssidebar\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Github\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[\"A minimal browser new tab page that embeds the day’s\\n\",[\"$\",\"a\",null,{\"href\":\"https://sidebar.io/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Sidebar.io\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\" links into color inspiration from \",[\"$\",\"a\",null,{\"href\":\"http://www.thedayscolor.com/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"The\\nDay’s Color\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\"
73:\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\". Helps me keep up with designs\\ntrends and news.\"]}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"firefly\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Firefly\"}],\" — \",[\"$\",\"a\",null,{\"href\":\"https://firefly.kevinformatics.com/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Site\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":\"Find Haikus in the Bluesky firehose.\"}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"wwpgd\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"What Would PG Do?\"}],\" (Complete)\"]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[\"A site where you could search Paul Graham’s essays. \",[\"$\",\"a\",null,{\"href\":\"https://news.ycombinator.com/item?id=4656378\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Got made fun of by\\nthe internet\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\", but what’s\\nlife without a bit of levity? The first product I built that had traction.\\nCovered by\\n\",[\"$\",\"a\",null,{\"href\":\"https://techcrunch.com/2012/10/15/what-would-paul-graham-do/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"TechCrunch\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\n\",[\"$\",\"a\",null,{\"href\":\"https://www.inc.com/kathleen-kim/got-questions-about-start-ups-just-ask-paul-graham.html\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Inc\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\",\\nand others.\"]}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"releaselog\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Releaselog\"}],\" —\\n\",[\"$\",\"a\",null,{\"href\":\"https://www.releaselog.xyz/facebook/react/releases\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Site\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}]]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"Releaselog pulls in all of a project’s releases onto a single page so you\\ncan use ctrl+f to your heart’s content without dealing with pagnation.\"}]}]]}]]}],\"\\n\",[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{\"project\":\"plasmyd\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Plasmyd\"}],\" (Acquired)\"]}]}],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[\"Collaborate over scientific papers. Think RapGenius for published papers.\\nRead about our \",[\"$\",\"a\",null,{\"href\":\"https://techcrunch.com/2012/09/27/meet-plasmyd-a-search-enginediscussion-platform-just-for-scientists/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"our launch on\\nTechcrunch\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\"
73:\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\".\\nWe were \",[\"$\",\"a\",null,{\"href\":\"https://techcrunch.com/2013/10/23/academia-plasmyd/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"acquired by\\nAcademia.edu\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\".\"]}]}]]}]]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"contact\",\"className\":\"\",\"children\":[\"Contact\",[\"$\",\"a\",null,{\"href\":\"#contact\",\"className\":\"not-prose subheading-anchor\",\"aria-label\":\"Permalink for this section\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Have an awesome idea you want to hack on with me? Is there an amazing new ramen\\nshop that I need to know about? You can reach me at \",[\"$\",\"$L17\",null,{\"href\":\"mailto:[email protected]\",\"prefetch\":\"$undefined\",\"children\":\"[email protected]\",\"className\":\"x:focus-visible:nextra-focus\"}],\" or on\\n\",[\"$\",\"a\",null,{\"href\":\"https://twitter.com/kevinwuhoo\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[\"Twitter\",[\" \",[\"$\",\"svg\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":1.7,\"viewBox\":\"0 0 24 24\",\"height\":\"1em\",\"className\":\"x:inline x:align-baseline x:shrink-0\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M7 17L17 7\"}],[\"$\",\"path\",null,{\"d\":\"M7 7h10v10\"}]]}]]],\"className\":\"x:focus-visible:nextra-focus\"}],\".\"]}]]]\n"])</script>
73<script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script>
73<script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"About Kevin Wu | Kevin Wu\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Engineering leader who loves science\"}],[\"$\",\"link\",\"2\",{\"rel\":\"alternate\",\"type\":\"application/rss+xml\",\"href\":\"/feed.xml\"}]]\n"])</script>
73<!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 73
73<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
73536af112a0094e028f9c5c5ed09f4384
vendor: 13 bytes, line 73
73"}'></script>
73<!-- Cloudflare Pages Analytics --></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.