About Me

Full stack web & Salesforce developer. Fluent in React, Vue, Svelte, TypeScript, and Node, with hands-on Salesforce development in Apex and SOQL.

I use tools like Cursor, Claude, and GPT daily as part of an AI-assisted workflow to ship faster, debug smarter, and write cleaner code. I use Google Analytics and Google Tag Manager to turn user data into better experiences.

In my free time, I enjoy playing golf and tennis! I enjoy being outdoors when I am not in front of a computer and I like to learn about new technologies and tools.

GitHub.

Crypto Ticker

Crypto Ticker
An app built to check the current prices of crypto currencies. Filter and search to find the crypto currencies you are looking for. This app was built with React and is currently being hosted on Netlify.

Crypto Ticker
Crypto Ticker Repo

Warner Piano

Warner Piano
This website was built to bring a web presence to a local piano business. This website site acts a gallery and way to promote specials to their clients. This website was built with WordPress.

Warner Piano

Random Team Picker

Random Team Picker
I built this app as tool for an old fantasy football league. This was used to select the draft order for our league. I built this app as a fun side project. I wanted to learn more about Vite and decided to put this together. This app was built with Vite, React, & TypeScript. I am using React Toastify for notifications. This app is currently hosted on Vercel. Check out the github repo below.

Random Team Picker
Random Team Picker Repo

Random Password Generator

Random Password Generator
Check out my random password generator! Select what characters you would like to use by clicking the check boxes and copy the password to your clipboard.

Random Password Generator
Github Repo

Events

Cal hacks 3.0

(2016)

Rutgers Coding Boot Camp

(2018)

Twitch Developer Day & Hackathon

(2018)

Twitch Hackathon

(2019)

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form