Skills

Projects

Curator  is a pixel-perfect tribute to Feedly, a popular news aggregator that parses RSS feeds, allowing users to bypass social media and advertisements while retaining access to their favorite articles. This web app enables users to create and view their own personalized news page, with their favorite topics and sites neatly organized in one place.

Github | Tech stack: Ruby on Rails, PostgreSQL, JavaScript, React/Redux, HTML, CSS

Features:

  • User authentication
  • Automated article scraping of RSS feeds
  • Article detail and feed preview floating modal pop outs
  • Follow, unfollow feeds
  • Dynamic search bar
  • Read/unread article marking, and recently read page

MoodyTunes  is a music-sharing site where users can find the perfect playlist for their mood. Each playlist has reaction upvotes which endorse that playlist's mood, and registered users can also follow their favorites for easy access.

Github | MERN stack: MongoDB, Express.js, Node.js, JavaScript, React/Redux, HTML, CSS

Features:

  • User authentication
  • Followable, embedded Spotify playlists
  • User profile (for registered users)
  • Live-updated reaction counts for playlists

About

UC Berkeley Engineering Physics grad-turned software developer, based in San Francisco. Previously built astronomical telescope components, now builds React components (and fluent in these technologies). Constantly learning and growing, finding ways to do things more efficiently, more elegantly, and more comprehensively.

I’ve always enjoyed solving complex problems with a mixture of analytical and creative thinking, and I particularly enjoy collaborating in a team to find clean, stable, and scalable solutions to user needs.

My most recent project is Curator, a news aggregator site inspired by Feedly, which uses Ruby on Rails and PostgreSQL on the back-end to scrape and store article data from RSS feeds, and JavaScript/React/Redux to render articles to the user on the front-end. I also used HTML and CSS to create a streamlined interface for users.

Outside of coding, I enjoy playing music, exploring the outdoors, cooking, and journalism.

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