Résumé
A one-page résumé: colours and sizes named once as tokens, two columns, wrapping tags.
What it shows
Section titled “What it shows”A one-page résumé. What this adds to the letter:
tokens name a colour or a size once, use the name everywhere. Change a <color> below and the whole page follows. Sizes work the same way: gap="m" and font-size="s" each read their own scale, so m is a different number for a gap and for a font assets declare the fonts you use, then pick one with font="..." layout split puts two columns side by side, flank puts a label beside a value, cluster wraps tags onto new lines, grid makes equal columnsThe document
Section titled “The document”<lpdf version="1"> <!-- A one-page résumé. What this adds to the letter:
tokens name a colour or a size once, use the name everywhere. Change a <color> below and the whole page follows. Sizes work the same way: gap="m" and font-size="s" each read their own scale, so m is a different number for a gap and for a font assets declare the fonts you use, then pick one with font="..." layout split puts two columns side by side, flank puts a label beside a value, cluster wraps tags onto new lines, grid makes equal columns --> <assets> <!-- a serif for headings against a sans-serif for text; these two are built into every PDF. To use your own font, declare it here: <font name="brand" src="fonts/Brand.ttf" /> --> <font name="body" core="Helvetica" /> <font name="heading" core="Times-Bold" /> </assets>
<tokens> <colors> <color name="primary" value="#0f766e" /> <color name="surface" value="#ffffff" /> <color name="surface-alt" value="#f0f5f4" /> <color name="text-muted" value="#5f6b6a" /> <color name="rule" value="#cfdcda" /> </colors> <space xs="2pt" s="5pt" m="9pt" l="16pt" xl="24pt" xxl="36pt" /> <text-size xs="7.5pt" s="9pt" m="10.5pt" l="14pt" xl="24pt" xxl="30pt" /> </tokens>
<document size="letter" margin="0pt" font="body"> <meta title="Résumé: Jordan Ellis" author="Jordan Ellis" /> <section background="surface"> <layout> <split gap="0pt" height="full">
<!-- sidebar: its own background, as tall as the page --> <stack width="190pt" height="full" padding="l" gap="l" background="surface-alt">
<stack gap="xs"> <text font="heading" font-size="xl" color="primary">Jordan Ellis</text> <text font-size="s" color="text-muted">Senior Software Engineer</text> </stack>
<divider color="rule" thickness="xs" />
<stack gap="s"> <text font="heading" font-size="m">Contact</text> <text font-size="s" color="text-muted">jordan.ellis@example.com</text> <text font-size="s" color="text-muted">+1 555 0142</text> <text font-size="s" color="text-muted">Portland, OR</text> <text font-size="s" color="text-muted">github.com/jordan-ellis</text> </stack>
<divider color="rule" thickness="xs" />
<!-- a cluster wraps its children onto new lines, like words in a paragraph --> <stack gap="s"> <text font="heading" font-size="m">Skills</text> <cluster gap="s"> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">Rust</text></frame> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">TypeScript</text></frame> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">WebAssembly</text></frame> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">PostgreSQL</text></frame> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">Kubernetes</text></frame> <frame padding="s" border="xs primary" radius="s"><text font-size="xs" color="primary">Go</text></frame> </cluster> </stack>
<divider color="rule" thickness="xs" />
<stack gap="s"> <text font="heading" font-size="m">Education</text> <stack gap="xs"> <text font-size="s" bold="true">B.S. Computer Science</text> <text font-size="s" color="text-muted">Oregon State University, 2014</text> </stack> </stack>
<divider color="rule" thickness="xs" />
<stack gap="s"> <text font="heading" font-size="m">Languages</text> <text font-size="s" color="text-muted">English (native)</text> <text font-size="s" color="text-muted">Spanish (professional)</text> </stack>
</stack>
<!-- main column --> <stack padding="xl" gap="l" height="fill">
<stack gap="s"> <text font="heading" font-size="l" color="primary">Profile</text> <divider color="primary" thickness="xs" /> <text font-size="m"> Software engineer with ten years of experience building fast, reliable systems. I like small teams, clear interfaces and code that is easy to delete. </text> </stack>
<!-- a grid makes equal columns: three figures, one per cell --> <grid cols="3" gap="m"> <stack gap="xs"> <text font="heading" font-size="xl" color="primary">10 yrs</text> <text font-size="s" color="text-muted">in production systems</text> </stack> <stack gap="xs"> <text font="heading" font-size="xl" color="primary">50M</text> <text font-size="s" color="text-muted">events a day, one pipeline</text> </stack> <stack gap="xs"> <text font="heading" font-size="xl" color="primary">-40%</text> <text font-size="s" color="text-muted">p99 latency after the rewrite</text> </stack> </grid>
<stack gap="m"> <text font="heading" font-size="l" color="primary">Experience</text> <divider color="primary" thickness="xs" /> <stack gap="l">
<!-- end="true": the first child takes the space, the others sit at the right edge. A bullet is a flank too: a narrow marker, then text that fills the rest --> <stack gap="s"> <flank end="true" gap="m" align="center"> <text bold="true">Staff Engineer, Northwind Data</text> <text font-size="s" color="text-muted">2021 to present</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Led the design of a streaming pipeline that handles fifty million events a day.</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Cut p99 latency by forty percent with a custom allocator and lock-free queues.</text> </flank> </stack>
<stack gap="s"> <flank end="true" gap="m" align="center"> <text bold="true">Senior Engineer, Brightside Labs</text> <text font-size="s" color="text-muted">2017 to 2021</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Built a multi-tenant platform that serves eight thousand customers.</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Moved a monolith to services and cut deploys from forty-five minutes to three.</text> </flank> </stack>
<stack gap="s"> <flank end="true" gap="m" align="center"> <text bold="true">Software Engineer, Orion Systems</text> <text font-size="s" color="text-muted">2014 to 2017</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Wrote firmware for IoT sensors in C and Rust.</text> </flank> <flank gap="s"> <text width="8pt" color="primary">•</text> <text>Shipped the cloud SDKs that three enterprise customers adopted in the first year.</text> </flank> </stack> </stack> </stack>
<!-- cards: a grid of boxes, each a stack with its own background and border --> <stack gap="m"> <text font="heading" font-size="l" color="primary">Selected projects</text> <divider color="primary" thickness="xs" /> <grid cols="2" gap="m"> <stack gap="xs" padding="m" background="surface-alt" radius="s"> <text bold="true">tinyqueue</text> <text font-size="s" color="text-muted">A lock-free queue for Rust, used by four open-source projects.</text> </stack> <stack gap="xs" padding="m" background="surface-alt" radius="s"> <text bold="true">pgwatch</text> <text font-size="s" color="text-muted">A small tool that explains slow PostgreSQL queries in plain words.</text> </stack> <stack gap="xs" padding="m" background="surface-alt" radius="s"> <text bold="true">Edge cache talk</text> <text font-size="s" color="text-muted">Gave a conference talk on tail latency and what causes it.</text> </stack> <stack gap="xs" padding="m" background="surface-alt" radius="s"> <text bold="true">Mentoring</text> <text font-size="s" color="text-muted">Mentor in a program that places career changers in engineering roles.</text> </stack> </grid> </stack>
</stack>
</split> </layout> </section> </document></lpdf>L.document({ size: 'letter', margin: '0pt', font: 'body', assets: { fonts: [{ name: 'body', core: 'Helvetica' }, { name: 'heading', core: 'Times-Bold' }] }, tokens: { colors: { primary: '#0f766e', surface: '#ffffff', 'surface-alt': '#f0f5f4', 'text-muted': '#5f6b6a', rule: '#cfdcda' }, space: { xs: '2pt', s: '5pt', m: '9pt', l: '16pt', xl: '24pt', xxl: '36pt' }, textSize: { xs: '7.5pt', s: '9pt', m: '10.5pt', l: '14pt', xl: '24pt', xxl: '30pt' } }, meta: { title: 'Résumé: Jordan Ellis', author: 'Jordan Ellis' } }, [ L.section({ background: 'surface' }, [ L.layout(NoAttr, [ L.split({ gap: '0pt', height: 'full' }, [ L.stack({ width: '190pt', height: 'full', padding: 'l', gap: 'l', background: 'surface-alt' }, [ L.stack({ gap: 'xs' }, [ L.text({ font: 'heading', fontSize: 'xl', color: 'primary' }, ['Jordan Ellis']), L.text({ fontSize: 's', color: 'text-muted' }, ['Senior Software Engineer']), ]), L.divider({ color: 'rule', thickness: 'xs' }), L.stack({ gap: 's' }, [ L.text({ font: 'heading', fontSize: 'm' }, ['Contact']), L.text({ fontSize: 's', color: 'text-muted' }, ['jordan.ellis@example.com']), L.text({ fontSize: 's', color: 'text-muted' }, ['+1 555 0142']), L.text({ fontSize: 's', color: 'text-muted' }, ['Portland, OR']), L.text({ fontSize: 's', color: 'text-muted' }, ['github.com/jordan-ellis']), ]), L.divider({ color: 'rule', thickness: 'xs' }), L.stack({ gap: 's' }, [ L.text({ font: 'heading', fontSize: 'm' }, ['Skills']), L.cluster({ gap: 's' }, [ L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['Rust']), ]), L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['TypeScript']), ]), L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['WebAssembly']), ]), L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['PostgreSQL']), ]), L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['Kubernetes']), ]), L.frame({ padding: 's', border: 'xs primary', radius: 's' }, [ L.text({ fontSize: 'xs', color: 'primary' }, ['Go']), ]), ]), ]), L.divider({ color: 'rule', thickness: 'xs' }), L.stack({ gap: 's' }, [ L.text({ font: 'heading', fontSize: 'm' }, ['Education']), L.stack({ gap: 'xs' }, [ L.text({ fontSize: 's', bold: 'true' }, ['B.S. Computer Science']), L.text({ fontSize: 's', color: 'text-muted' }, ['Oregon State University, 2014']), ]), ]), L.divider({ color: 'rule', thickness: 'xs' }), L.stack({ gap: 's' }, [ L.text({ font: 'heading', fontSize: 'm' }, ['Languages']), L.text({ fontSize: 's', color: 'text-muted' }, ['English (native)']), L.text({ fontSize: 's', color: 'text-muted' }, ['Spanish (professional)']), ]), ]), L.stack({ padding: 'xl', gap: 'l', height: 'fill' }, [ L.stack({ gap: 's' }, [ L.text({ font: 'heading', fontSize: 'l', color: 'primary' }, ['Profile']), L.divider({ color: 'primary', thickness: 'xs' }), L.text({ fontSize: 'm' }, ['Software engineer with ten years of experience building fast, reliable systems. I like small teams, clear interfaces and code that is easy to delete.']), ]), L.grid({ cols: '3', gap: 'm' }, [ L.stack({ gap: 'xs' }, [ L.text({ font: 'heading', fontSize: 'xl', color: 'primary' }, ['10 yrs']), L.text({ fontSize: 's', color: 'text-muted' }, ['in production systems']), ]), L.stack({ gap: 'xs' }, [ L.text({ font: 'heading', fontSize: 'xl', color: 'primary' }, ['50M']), L.text({ fontSize: 's', color: 'text-muted' }, ['events a day, one pipeline']), ]), L.stack({ gap: 'xs' }, [ L.text({ font: 'heading', fontSize: 'xl', color: 'primary' }, ['-40%']), L.text({ fontSize: 's', color: 'text-muted' }, ['p99 latency after the rewrite']), ]), ]), L.stack({ gap: 'm' }, [ L.text({ font: 'heading', fontSize: 'l', color: 'primary' }, ['Experience']), L.divider({ color: 'primary', thickness: 'xs' }), L.stack({ gap: 'l' }, [ L.stack({ gap: 's' }, [ L.flank({ end: 'true', gap: 'm', align: 'center' }, [ L.text({ bold: 'true' }, ['Staff Engineer, Northwind Data']), L.text({ fontSize: 's', color: 'text-muted' }, ['2021 to present']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Led the design of a streaming pipeline that handles fifty million events a day.']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Cut p99 latency by forty percent with a custom allocator and lock-free queues.']), ]), ]), L.stack({ gap: 's' }, [ L.flank({ end: 'true', gap: 'm', align: 'center' }, [ L.text({ bold: 'true' }, ['Senior Engineer, Brightside Labs']), L.text({ fontSize: 's', color: 'text-muted' }, ['2017 to 2021']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Built a multi-tenant platform that serves eight thousand customers.']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Moved a monolith to services and cut deploys from forty-five minutes to three.']), ]), ]), L.stack({ gap: 's' }, [ L.flank({ end: 'true', gap: 'm', align: 'center' }, [ L.text({ bold: 'true' }, ['Software Engineer, Orion Systems']), L.text({ fontSize: 's', color: 'text-muted' }, ['2014 to 2017']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Wrote firmware for IoT sensors in C and Rust.']), ]), L.flank({ gap: 's' }, [ L.text({ width: '8pt', color: 'primary' }, ['•']), L.text(NoAttr, ['Shipped the cloud SDKs that three enterprise customers adopted in the first year.']), ]), ]), ]), ]), L.stack({ gap: 'm' }, [ L.text({ font: 'heading', fontSize: 'l', color: 'primary' }, ['Selected projects']), L.divider({ color: 'primary', thickness: 'xs' }), L.grid({ cols: '2', gap: 'm' }, [ L.stack({ gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's' }, [ L.text({ bold: 'true' }, ['tinyqueue']), L.text({ fontSize: 's', color: 'text-muted' }, ['A lock-free queue for Rust, used by four open-source projects.']), ]), L.stack({ gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's' }, [ L.text({ bold: 'true' }, ['pgwatch']), L.text({ fontSize: 's', color: 'text-muted' }, ['A small tool that explains slow PostgreSQL queries in plain words.']), ]), L.stack({ gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's' }, [ L.text({ bold: 'true' }, ['Edge cache talk']), L.text({ fontSize: 's', color: 'text-muted' }, ['Gave a conference talk on tail latency and what causes it.']), ]), L.stack({ gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's' }, [ L.text({ bold: 'true' }, ['Mentoring']), L.text({ fontSize: 's', color: 'text-muted' }, ['Mentor in a program that places career changers in engineering roles.']), ]), ]), ]), ]), ]), ]), ]),])L.document(DocumentAttr(size='letter', margin='0pt', font='body', assets=DocumentAssets(fonts=[FontAttr(name='body', core='Helvetica'), FontAttr(name='heading', core='Times-Bold')]), tokens=DocumentTokens(colors={'primary': '#0f766e', 'surface': '#ffffff', 'surface-alt': '#f0f5f4', 'text-muted': '#5f6b6a', 'rule': '#cfdcda'}, space={'xs': '2pt', 's': '5pt', 'm': '9pt', 'l': '16pt', 'xl': '24pt', 'xxl': '36pt'}, text_size={'xs': '7.5pt', 's': '9pt', 'm': '10.5pt', 'l': '14pt', 'xl': '24pt', 'xxl': '30pt'}), meta=DocumentMeta(title='Résumé: Jordan Ellis', author='Jordan Ellis')), [ L.section(SectionAttr(background='surface'), [ L.layout(NoAttr, [ L.split(SplitAttr(gap='0pt', height='full'), [ L.stack(StackAttr(width='190pt', height='full', padding='l', gap='l', background='surface-alt'), [ L.stack(StackAttr(gap='xs'), [ L.text(TextAttr(font='heading', font_size='xl', color='primary'), ['Jordan Ellis']), L.text(TextAttr(font_size='s', color='text-muted'), ['Senior Software Engineer']) ]), L.divider(DividerAttr(color='rule', thickness='xs')), L.stack(StackAttr(gap='s'), [ L.text(TextAttr(font='heading', font_size='m'), ['Contact']), L.text(TextAttr(font_size='s', color='text-muted'), ['jordan.ellis@example.com']), L.text(TextAttr(font_size='s', color='text-muted'), ['+1 555 0142']), L.text(TextAttr(font_size='s', color='text-muted'), ['Portland, OR']), L.text(TextAttr(font_size='s', color='text-muted'), ['github.com/jordan-ellis']) ]), L.divider(DividerAttr(color='rule', thickness='xs')), L.stack(StackAttr(gap='s'), [ L.text(TextAttr(font='heading', font_size='m'), ['Skills']), L.cluster(ClusterAttr(gap='s'), [ L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['Rust']) ]), L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['TypeScript']) ]), L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['WebAssembly']) ]), L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['PostgreSQL']) ]), L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['Kubernetes']) ]), L.frame(FrameAttr(padding='s', border='xs primary', radius='s'), [ L.text(TextAttr(font_size='xs', color='primary'), ['Go']) ]) ]) ]), L.divider(DividerAttr(color='rule', thickness='xs')), L.stack(StackAttr(gap='s'), [ L.text(TextAttr(font='heading', font_size='m'), ['Education']), L.stack(StackAttr(gap='xs'), [ L.text(TextAttr(font_size='s', bold='true'), ['B.S. Computer Science']), L.text(TextAttr(font_size='s', color='text-muted'), ['Oregon State University, 2014']) ]) ]), L.divider(DividerAttr(color='rule', thickness='xs')), L.stack(StackAttr(gap='s'), [ L.text(TextAttr(font='heading', font_size='m'), ['Languages']), L.text(TextAttr(font_size='s', color='text-muted'), ['English (native)']), L.text(TextAttr(font_size='s', color='text-muted'), ['Spanish (professional)']) ]) ]), L.stack(StackAttr(padding='xl', gap='l', height='fill'), [ L.stack(StackAttr(gap='s'), [ L.text(TextAttr(font='heading', font_size='l', color='primary'), ['Profile']), L.divider(DividerAttr(color='primary', thickness='xs')), L.text(TextAttr(font_size='m'), ['Software engineer with ten years of experience building fast, reliable systems. I like small teams, clear interfaces and code that is easy to delete.']) ]), L.grid(GridAttr(cols='3', gap='m'), [ L.stack(StackAttr(gap='xs'), [ L.text(TextAttr(font='heading', font_size='xl', color='primary'), ['10 yrs']), L.text(TextAttr(font_size='s', color='text-muted'), ['in production systems']) ]), L.stack(StackAttr(gap='xs'), [ L.text(TextAttr(font='heading', font_size='xl', color='primary'), ['50M']), L.text(TextAttr(font_size='s', color='text-muted'), ['events a day, one pipeline']) ]), L.stack(StackAttr(gap='xs'), [ L.text(TextAttr(font='heading', font_size='xl', color='primary'), ['-40%']), L.text(TextAttr(font_size='s', color='text-muted'), ['p99 latency after the rewrite']) ]) ]), L.stack(StackAttr(gap='m'), [ L.text(TextAttr(font='heading', font_size='l', color='primary'), ['Experience']), L.divider(DividerAttr(color='primary', thickness='xs')), L.stack(StackAttr(gap='l'), [ L.stack(StackAttr(gap='s'), [ L.flank(FlankAttr(end='true', gap='m', align='center'), [ L.text(TextAttr(bold='true'), ['Staff Engineer, Northwind Data']), L.text(TextAttr(font_size='s', color='text-muted'), ['2021 to present']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Led the design of a streaming pipeline that handles fifty million events a day.']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Cut p99 latency by forty percent with a custom allocator and lock-free queues.']) ]) ]), L.stack(StackAttr(gap='s'), [ L.flank(FlankAttr(end='true', gap='m', align='center'), [ L.text(TextAttr(bold='true'), ['Senior Engineer, Brightside Labs']), L.text(TextAttr(font_size='s', color='text-muted'), ['2017 to 2021']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Built a multi-tenant platform that serves eight thousand customers.']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Moved a monolith to services and cut deploys from forty-five minutes to three.']) ]) ]), L.stack(StackAttr(gap='s'), [ L.flank(FlankAttr(end='true', gap='m', align='center'), [ L.text(TextAttr(bold='true'), ['Software Engineer, Orion Systems']), L.text(TextAttr(font_size='s', color='text-muted'), ['2014 to 2017']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Wrote firmware for IoT sensors in C and Rust.']) ]), L.flank(FlankAttr(gap='s'), [ L.text(TextAttr(width='8pt', color='primary'), ['•']), L.text(NoAttr, ['Shipped the cloud SDKs that three enterprise customers adopted in the first year.']) ]) ]) ]) ]), L.stack(StackAttr(gap='m'), [ L.text(TextAttr(font='heading', font_size='l', color='primary'), ['Selected projects']), L.divider(DividerAttr(color='primary', thickness='xs')), L.grid(GridAttr(cols='2', gap='m'), [ L.stack(StackAttr(gap='xs', padding='m', background='surface-alt', radius='s'), [ L.text(TextAttr(bold='true'), ['tinyqueue']), L.text(TextAttr(font_size='s', color='text-muted'), ['A lock-free queue for Rust, used by four open-source projects.']) ]), L.stack(StackAttr(gap='xs', padding='m', background='surface-alt', radius='s'), [ L.text(TextAttr(bold='true'), ['pgwatch']), L.text(TextAttr(font_size='s', color='text-muted'), ['A small tool that explains slow PostgreSQL queries in plain words.']) ]), L.stack(StackAttr(gap='xs', padding='m', background='surface-alt', radius='s'), [ L.text(TextAttr(bold='true'), ['Edge cache talk']), L.text(TextAttr(font_size='s', color='text-muted'), ['Gave a conference talk on tail latency and what causes it.']) ]), L.stack(StackAttr(gap='xs', padding='m', background='surface-alt', radius='s'), [ L.text(TextAttr(bold='true'), ['Mentoring']), L.text(TextAttr(font_size='s', color='text-muted'), ['Mentor in a program that places career changers in engineering roles.']) ]) ]) ]) ]) ]) ]) ])])L::document(new DocumentAttr(size: 'letter', margin: '0pt', font: 'body', assets: new DocumentAssets(fonts: [new FontAttr(name: 'body', core: 'Helvetica'), new FontAttr(name: 'heading', core: 'Times-Bold')]), tokens: new DocumentTokens(colors: ['primary' => '#0f766e', 'surface' => '#ffffff', 'surface-alt' => '#f0f5f4', 'text-muted' => '#5f6b6a', 'rule' => '#cfdcda'], space: ['xs' => '2pt', 's' => '5pt', 'm' => '9pt', 'l' => '16pt', 'xl' => '24pt', 'xxl' => '36pt'], textSize: ['xs' => '7.5pt', 's' => '9pt', 'm' => '10.5pt', 'l' => '14pt', 'xl' => '24pt', 'xxl' => '30pt']), meta: new DocumentMeta(title: 'Résumé: Jordan Ellis', author: 'Jordan Ellis')), [ L::section(new SectionAttr(background: 'surface'), [ L::layout(NoAttr, [ L::split(new SplitAttr(gap: '0pt', height: 'full'), [ L::stack(new StackAttr(width: '190pt', height: 'full', padding: 'l', gap: 'l', background: 'surface-alt'), [ L::stack(new StackAttr(gap: 'xs'), [ L::text(new TextAttr(font: 'heading', fontSize: 'xl', color: 'primary'), ['Jordan Ellis']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Senior Software Engineer']), ]), L::divider(new DividerAttr(color: 'rule', thickness: 'xs')), L::stack(new StackAttr(gap: 's'), [ L::text(new TextAttr(font: 'heading', fontSize: 'm'), ['Contact']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['jordan.ellis@example.com']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['+1 555 0142']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Portland, OR']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['github.com/jordan-ellis']), ]), L::divider(new DividerAttr(color: 'rule', thickness: 'xs')), L::stack(new StackAttr(gap: 's'), [ L::text(new TextAttr(font: 'heading', fontSize: 'm'), ['Skills']), L::cluster(new ClusterAttr(gap: 's'), [ L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['Rust']), ]), L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['TypeScript']), ]), L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['WebAssembly']), ]), L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['PostgreSQL']), ]), L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['Kubernetes']), ]), L::frame(new FrameAttr(padding: 's', border: 'xs primary', radius: 's'), [ L::text(new TextAttr(fontSize: 'xs', color: 'primary'), ['Go']), ]), ]), ]), L::divider(new DividerAttr(color: 'rule', thickness: 'xs')), L::stack(new StackAttr(gap: 's'), [ L::text(new TextAttr(font: 'heading', fontSize: 'm'), ['Education']), L::stack(new StackAttr(gap: 'xs'), [ L::text(new TextAttr(fontSize: 's', bold: 'true'), ['B.S. Computer Science']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Oregon State University, 2014']), ]), ]), L::divider(new DividerAttr(color: 'rule', thickness: 'xs')), L::stack(new StackAttr(gap: 's'), [ L::text(new TextAttr(font: 'heading', fontSize: 'm'), ['Languages']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['English (native)']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Spanish (professional)']), ]), ]), L::stack(new StackAttr(padding: 'xl', gap: 'l', height: 'fill'), [ L::stack(new StackAttr(gap: 's'), [ L::text(new TextAttr(font: 'heading', fontSize: 'l', color: 'primary'), ['Profile']), L::divider(new DividerAttr(color: 'primary', thickness: 'xs')), L::text(new TextAttr(fontSize: 'm'), ['Software engineer with ten years of experience building fast, reliable systems. I like small teams, clear interfaces and code that is easy to delete.']), ]), L::grid(new GridAttr(cols: '3', gap: 'm'), [ L::stack(new StackAttr(gap: 'xs'), [ L::text(new TextAttr(font: 'heading', fontSize: 'xl', color: 'primary'), ['10 yrs']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['in production systems']), ]), L::stack(new StackAttr(gap: 'xs'), [ L::text(new TextAttr(font: 'heading', fontSize: 'xl', color: 'primary'), ['50M']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['events a day, one pipeline']), ]), L::stack(new StackAttr(gap: 'xs'), [ L::text(new TextAttr(font: 'heading', fontSize: 'xl', color: 'primary'), ['-40%']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['p99 latency after the rewrite']), ]), ]), L::stack(new StackAttr(gap: 'm'), [ L::text(new TextAttr(font: 'heading', fontSize: 'l', color: 'primary'), ['Experience']), L::divider(new DividerAttr(color: 'primary', thickness: 'xs')), L::stack(new StackAttr(gap: 'l'), [ L::stack(new StackAttr(gap: 's'), [ L::flank(new FlankAttr(end: 'true', gap: 'm', align: 'center'), [ L::text(new TextAttr(bold: 'true'), ['Staff Engineer, Northwind Data']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['2021 to present']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Led the design of a streaming pipeline that handles fifty million events a day.']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Cut p99 latency by forty percent with a custom allocator and lock-free queues.']), ]), ]), L::stack(new StackAttr(gap: 's'), [ L::flank(new FlankAttr(end: 'true', gap: 'm', align: 'center'), [ L::text(new TextAttr(bold: 'true'), ['Senior Engineer, Brightside Labs']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['2017 to 2021']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Built a multi-tenant platform that serves eight thousand customers.']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Moved a monolith to services and cut deploys from forty-five minutes to three.']), ]), ]), L::stack(new StackAttr(gap: 's'), [ L::flank(new FlankAttr(end: 'true', gap: 'm', align: 'center'), [ L::text(new TextAttr(bold: 'true'), ['Software Engineer, Orion Systems']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['2014 to 2017']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Wrote firmware for IoT sensors in C and Rust.']), ]), L::flank(new FlankAttr(gap: 's'), [ L::text(new TextAttr(width: '8pt', color: 'primary'), ['•']), L::text(NoAttr, ['Shipped the cloud SDKs that three enterprise customers adopted in the first year.']), ]), ]), ]), ]), L::stack(new StackAttr(gap: 'm'), [ L::text(new TextAttr(font: 'heading', fontSize: 'l', color: 'primary'), ['Selected projects']), L::divider(new DividerAttr(color: 'primary', thickness: 'xs')), L::grid(new GridAttr(cols: '2', gap: 'm'), [ L::stack(new StackAttr(gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's'), [ L::text(new TextAttr(bold: 'true'), ['tinyqueue']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['A lock-free queue for Rust, used by four open-source projects.']), ]), L::stack(new StackAttr(gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's'), [ L::text(new TextAttr(bold: 'true'), ['pgwatch']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['A small tool that explains slow PostgreSQL queries in plain words.']), ]), L::stack(new StackAttr(gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's'), [ L::text(new TextAttr(bold: 'true'), ['Edge cache talk']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Gave a conference talk on tail latency and what causes it.']), ]), L::stack(new StackAttr(gap: 'xs', padding: 'm', background: 'surface-alt', radius: 's'), [ L::text(new TextAttr(bold: 'true'), ['Mentoring']), L::text(new TextAttr(fontSize: 's', color: 'text-muted'), ['Mentor in a program that places career changers in engineering roles.']), ]), ]), ]), ]), ]), ]), ]),])L.Document(new() { Size = "letter", Margin = "0pt", Font = "body", Assets = new DocumentAssets(Fonts: [new FontAttr { Name = "body", Core = "Helvetica" }, new FontAttr { Name = "heading", Core = "Times-Bold" }]), Tokens = new DocumentTokens(Colors: new() { ["primary"] = "#0f766e", ["surface"] = "#ffffff", ["surface-alt"] = "#f0f5f4", ["text-muted"] = "#5f6b6a", ["rule"] = "#cfdcda" }, Space: new() { ["xs"] = "2pt", ["s"] = "5pt", ["m"] = "9pt", ["l"] = "16pt", ["xl"] = "24pt", ["xxl"] = "36pt" }, TextSize: new() { ["xs"] = "7.5pt", ["s"] = "9pt", ["m"] = "10.5pt", ["l"] = "14pt", ["xl"] = "24pt", ["xxl"] = "30pt" }), Meta = new() { Title = "Résumé: Jordan Ellis", Author = "Jordan Ellis" } }, [ L.Section(new() { Background = "surface" }, [ L.Layout(NoAttr, [ L.Split(new() { Gap = "0pt", Height = "full" }, [ L.Stack(new() { Width = "190pt", Height = "full", Padding = "l", Gap = "l", Background = "surface-alt" }, [ L.Stack(new() { Gap = "xs" }, [ L.Text(new() { Font = "heading", FontSize = "xl", Color = "primary" }, ["Jordan Ellis"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Senior Software Engineer"]), ]), L.Divider(new() { Color = "rule", Thickness = "xs" }), L.Stack(new() { Gap = "s" }, [ L.Text(new() { Font = "heading", FontSize = "m" }, ["Contact"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["jordan.ellis@example.com"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["+1 555 0142"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Portland, OR"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["github.com/jordan-ellis"]), ]), L.Divider(new() { Color = "rule", Thickness = "xs" }), L.Stack(new() { Gap = "s" }, [ L.Text(new() { Font = "heading", FontSize = "m" }, ["Skills"]), L.Cluster(new() { Gap = "s" }, [ L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["Rust"]), ]), L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["TypeScript"]), ]), L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["WebAssembly"]), ]), L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["PostgreSQL"]), ]), L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["Kubernetes"]), ]), L.Frame(new() { Padding = "s", Border = "xs primary", Radius = "s" }, [ L.Text(new() { FontSize = "xs", Color = "primary" }, ["Go"]), ]), ]), ]), L.Divider(new() { Color = "rule", Thickness = "xs" }), L.Stack(new() { Gap = "s" }, [ L.Text(new() { Font = "heading", FontSize = "m" }, ["Education"]), L.Stack(new() { Gap = "xs" }, [ L.Text(new() { FontSize = "s", Bold = "true" }, ["B.S. Computer Science"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Oregon State University, 2014"]), ]), ]), L.Divider(new() { Color = "rule", Thickness = "xs" }), L.Stack(new() { Gap = "s" }, [ L.Text(new() { Font = "heading", FontSize = "m" }, ["Languages"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["English (native)"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Spanish (professional)"]), ]), ]), L.Stack(new() { Padding = "xl", Gap = "l", Height = "fill" }, [ L.Stack(new() { Gap = "s" }, [ L.Text(new() { Font = "heading", FontSize = "l", Color = "primary" }, ["Profile"]), L.Divider(new() { Color = "primary", Thickness = "xs" }), L.Text(new() { FontSize = "m" }, ["Software engineer with ten years of experience building fast, reliable systems. I like small teams, clear interfaces and code that is easy to delete."]), ]), L.Grid(new() { Cols = "3", Gap = "m" }, [ L.Stack(new() { Gap = "xs" }, [ L.Text(new() { Font = "heading", FontSize = "xl", Color = "primary" }, ["10 yrs"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["in production systems"]), ]), L.Stack(new() { Gap = "xs" }, [ L.Text(new() { Font = "heading", FontSize = "xl", Color = "primary" }, ["50M"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["events a day, one pipeline"]), ]), L.Stack(new() { Gap = "xs" }, [ L.Text(new() { Font = "heading", FontSize = "xl", Color = "primary" }, ["-40%"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["p99 latency after the rewrite"]), ]), ]), L.Stack(new() { Gap = "m" }, [ L.Text(new() { Font = "heading", FontSize = "l", Color = "primary" }, ["Experience"]), L.Divider(new() { Color = "primary", Thickness = "xs" }), L.Stack(new() { Gap = "l" }, [ L.Stack(new() { Gap = "s" }, [ L.Flank(new() { End = "true", Gap = "m", Align = "center" }, [ L.Text(new() { Bold = "true" }, ["Staff Engineer, Northwind Data"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["2021 to present"]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Led the design of a streaming pipeline that handles fifty million events a day."]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Cut p99 latency by forty percent with a custom allocator and lock-free queues."]), ]), ]), L.Stack(new() { Gap = "s" }, [ L.Flank(new() { End = "true", Gap = "m", Align = "center" }, [ L.Text(new() { Bold = "true" }, ["Senior Engineer, Brightside Labs"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["2017 to 2021"]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Built a multi-tenant platform that serves eight thousand customers."]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Moved a monolith to services and cut deploys from forty-five minutes to three."]), ]), ]), L.Stack(new() { Gap = "s" }, [ L.Flank(new() { End = "true", Gap = "m", Align = "center" }, [ L.Text(new() { Bold = "true" }, ["Software Engineer, Orion Systems"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["2014 to 2017"]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Wrote firmware for IoT sensors in C and Rust."]), ]), L.Flank(new() { Gap = "s" }, [ L.Text(new() { Width = "8pt", Color = "primary" }, ["•"]), L.Text(NoAttr, ["Shipped the cloud SDKs that three enterprise customers adopted in the first year."]), ]), ]), ]), ]), L.Stack(new() { Gap = "m" }, [ L.Text(new() { Font = "heading", FontSize = "l", Color = "primary" }, ["Selected projects"]), L.Divider(new() { Color = "primary", Thickness = "xs" }), L.Grid(new() { Cols = "2", Gap = "m" }, [ L.Stack(new() { Gap = "xs", Padding = "m", Background = "surface-alt", Radius = "s" }, [ L.Text(new() { Bold = "true" }, ["tinyqueue"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["A lock-free queue for Rust, used by four open-source projects."]), ]), L.Stack(new() { Gap = "xs", Padding = "m", Background = "surface-alt", Radius = "s" }, [ L.Text(new() { Bold = "true" }, ["pgwatch"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["A small tool that explains slow PostgreSQL queries in plain words."]), ]), L.Stack(new() { Gap = "xs", Padding = "m", Background = "surface-alt", Radius = "s" }, [ L.Text(new() { Bold = "true" }, ["Edge cache talk"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Gave a conference talk on tail latency and what causes it."]), ]), L.Stack(new() { Gap = "xs", Padding = "m", Background = "surface-alt", Radius = "s" }, [ L.Text(new() { Bold = "true" }, ["Mentoring"]), L.Text(new() { FontSize = "s", Color = "text-muted" }, ["Mentor in a program that places career changers in engineering roles."]), ]), ]), ]), ]), ]), ]), ]),])