Close

Welcome to my website!

I'm Cameron Ray

Full Stack Web Developer

About Me

I am a Software Engineer specializing in backend development, although I also have extensive experience across the full stack.


I received a B.S. in Mechanical Engineering before starting my career as a Solutions Engineer for commercial heat transfer and HVAC equipment. My interest in startups and the software industry led me to Silicon Valley where I gained experience selling enterprise software products to engineering customers. I was fortunate to work closely with my engineering colleagues and learn about the software development process.


My passion for engineering and curiosity to learn everything about building software products led me to enroll in the Full Stack Web Development program at BloomTeck (formerly Lambda School, where I developed skills building full-stack production web applications using the latest industry tools and best practices.


I focus on providing excellent user experiences by integrating all elements of the software stack. You can check out some of my projects below, and if you're interested in working together I'd love to connect!

Skills

Favorite Projects

GraphQL API

An example GraphQL API for getting a list of books.

Technology stack: NodeJS, GraphQL

Use My Tools - P2P Tool Rental Marketplace

Use My Tools is a web app that enables peer-to-peer sharing and renting of household tools to people in your local area. I built the full stack for this project, including Node backend with RESTful API and SQL database, and React frontend.

Features:

  • Sign up, sign in, and sign out (using Firebase Authentication)
  • Create and edit your profile info, photo, and home address (using Google Places API to ensure valid location input)
  • Add your tools for others to rent with tool details, price, and photos
  • Manage your tools; update details and price, toggle availability, and block dates when you don't want them rented
  • Find tools to rent in your city and filter by price and keyword
  • Reserve tools to rent using a date range picker
  • Live messaging between owners and renters (using Firestore Cloud Storage realtime database)
  • Dashboard for managing rentals and tracking status

Technology stack: React - NodeJS - Firebase Auth - Cloud Firestore Realtime Database - Cloudinary image upload and storage - Google Places API - Stripe API

Chattr - Live Web Chat

Chattr is a live chat application similar to Intercom or Drift. Customer companies can integrate our chat widget into their own websites with a code snippet, and their sales and customer support personnel can sign in to their own chat dashboard to engage in conversations with their own customers.

My contributions included:

  • Planning and building all database models
  • Building API endpoints and database CRUD functions
  • Designing and building front end live chat dashboard components
  • Implementing Stripe subscription billing and account payment tracking
  • Integrating authentication protection into registration processes

Technology stack: React - Node.js - PostgreSQL - Socket.io - Stripe API - Firebase Auth - Material UI - Styled Components

To Do Hooks

Simple To-Do app using React Hooks.

Features:

  • Add To Do tasks
  • Toggle task completion status with checkbox
  • Filter options to display all tasks, complete tasks, or incomplete tasks

Technology stack: React - React Hooks (useState, useReducer, useContext)

TeamUp

Web app to create and join teams and collaborate by sharing notes. React and Redux frontend with Node REST API and MongoDB database.

Features:

  • Sign up and sign in to access protected data
  • Create and delete teams (team admin can delete)
  • Invite users to join a team, and remove users (team admin can remove)
  • View team invites, join teams, and leave teams
  • Post notes to a team board with option to tag users in the note

Technology stack: React - Redux - React Hooks - Node.js - MongoDB - Sass/SCSS

LambdaMUD Adventure Game

I built out the front end client for a multi-user dungeon game integrated with Python and Django backend. I implemented Pusher Web Sockets for live messages between users. I also added a fun map coloring feature using dynamic props with Styled-Components.

-->