Skip to main content
All work experience entries are defined in src/constants/work.js. The default export is workExperience, an ordered array consumed by the work section of the site.

Type definition

interface WorkExperience {
  title: string;     // Role and company name
  text?: string;     // Description of the role (optional)
  image?: string;    // Cloudinary URL for company logo (optional)
  timeLine: string;  // Date range and location
}
text and image are optional. Newer or confidential entries — such as the stealth startup role — may intentionally omit both fields.

Timeline

Entries are stored most-recent first.
RoleCompanyPeriodLocation
FounderStealth startupMay – Aug 2026Seattle, WA
Software EngineerOpenAIMay – Aug 2025Seattle, WA
Software Engineer InternGoDaddyMay – Aug 2023Seattle, WA
Software Engineer InternJ.P. Morgan ChaseJun – Aug 2022Chicago, IL
Recruiting InternSpeechifyJan – Apr 2022Remote
Venture Analyst (Part Time)Techstars IowaAug 2020 – Jan 2022Des Moines, IA
The first 2 entries are shown by default. The remaining 4 are revealed when the user clicks the Show All Experiences button.

Role details

Period: May – August 2026, Seattle, WADetails are intentionally omitted. This entry has no text or image field — only title and timeLine are set.
Period: May – August 2025, Seattle, WAWorked on large language model development at OpenAI.
Period: May – August 2023, Seattle, WAA/B tested features on GoDaddy’s Checkout Page to improve conversion and user experience.
Period: June – August 2022, Chicago, ILHelped investment bankers maintain regulatory compliance by modernizing two internal websites to React.
Period: January – April 2022, RemoteSpeechify is a unicorn startup that uses AI to read content aloud. Patrick helped scale their team by sourcing top engineering and product candidates.
Period: August 2020 – January 2022, Des Moines, IATechstars Iowa selected ten startups nationwide for its three-month growth accelerator program. Patrick worked across two cohorts at the Des Moines location, building a financial model for each participating company.

Image hosting

Company logos are hosted on Cloudinary. The image field holds the full Cloudinary URL. It is optional — if omitted, the UI renders the entry without a logo.

Adding a new experience

1

Open the work file

Edit src/constants/work.js.
2

Upload a company logo to Cloudinary (optional)

If you want a logo, upload it to Cloudinary and copy the full URL. You can skip this step and omit the image field entirely.
3

Add an object at the top of the workExperience array

The array is most-recent first, so new roles go at index 0.
const workExperience = [
  {
    title: 'Senior Software Engineer at Acme Corp',
    text: `Brief description of what you worked on and what impact it had.`,
    image: 'https://res.cloudinary.com/dlk3ezbal/image/upload/v.../acme-logo.png',
    timeLine: 'September 2026 - Present. San Francisco, CA',
  },
  // ... existing entries below ...
];
For a confidential or undisclosed role, omit text and image:
{
  title: 'Founder at a stealth startup',
  timeLine: 'January - June 2027. Remote',
},
The first two entries in the array are always visible. If you want a new role to appear without requiring the user to expand the list, insert it at index 0 or 1.