Profile picture

Ben Lee

Software Developer
Pronouns he/him
Open Resume Email Directly

About me

As a software developer, I enjoy helping companies fix bugs, build features, and get their web applications up and running.

Preferred locations

  • Denver, CO
Open to remote work

Previous industries

  • Philanthropy
  • Recreational Facilities and Services
  • Retail

Skills

  • Atom
  • Automated QA
  • Flutter
  • JavaScript
  • Rails
  • React
  • RSpec
  • Ruby
  • Visual Studio

Currently learning

None specified

Projects

Glass Planner

Glass Planner

Project scope time 500 hours
Collaborators

Tools Used

  • Rails
  • React
  • React Native
  • RSpec

Launch link

https://glass-planner-frontend-git-demo-bendelonlee.vercel.app/

Log in Link

Launch link logs you into a demo account. To register in to the deployed version of Glass under development, use this link:

https://glass-planner-frontend-git-deploy-bendelonlee.vercel.app/

Overview

In this solo part-time internship I am rewriting an award winning iOS app into a React Native / ReactJS mono app with data syncing through a rails back end.

Glass allows you to plan tasks by giving them both due dates and active dates, so when you enter Act mode you will only see items that are actionable today.

Here is a review of the original iPhone application:

https://lifehacker.com/glass-planner-puts-your-to-dos-and-calendar-into-one-gt-1700341873

Areas of Focus

Key Skills:

ReactJS Rails So far I have:

  • Maintained a scrum board and communicated with supervisor.
  • Designed a backend with Rails, and a web app front end with ReactJS and React Native sharing business logic in a monorepo.
  • Implemented CRUD functionality for three types of calendar items (tasks, appointments, and calendar notes), and three viewing modes (Plan, Act, and Done).
  • Written over 200 tests using Jest with Enzyme, Rspec and Cypress to deploy code with confidence.
  • Optimized optimistic UI, using Redux-Offline, to better serve users with low or variable connectivity.
  • Engineered a mini-calendar, using React-window’s InfiniteLoader, so UI is fast and infinitely scrollable.
  • Created intuitive checklists, using ContentEditable, and vanilla javascript, with great attention to detail.
  • Re-engineered the roulette-style cursor from ios to javascript, ensuring it smoothly ticks between dates and syncs with with mini-calendar, with the mini-calendar scrolling to positions that aren't guaranteed to be rendered yet (that was a bit tricky).
  • Much more...

Note that I'm not able to share a link to the code repository. It's private and belongs to SlideRule Software, however, I can share a link to my project board:

https://github.com/users/bendelonlee/projects/1

Launch the App Code Repository
Screenshot detail for project Glass Planner
Screenshot thumbnail #1 for project Glass Planner Screenshot thumbnail #2 for project Glass Planner Screenshot thumbnail #3 for project Glass Planner

Thirsty Plants

Thirsty Plants

Project scope time 70 hours
Collaborators

Tools Used

Worked in a team of 5 to create an app for managing your garden watering schedule. Users can create an account and log in via Google OAuth, then create gardens and add plants to represent their real-world gardens. They can also upload images of their plants, which we implemented using Amazon S3 buckets. The app creates a weekly schedule for waterings for the plants, which the user can then check off as they go. They can also drag-and-drop to move waterings around if they wish to change the schedule. The app displays weather information for each garden from the DarkSky API.We used Twilio and SendGrid so that users can choose to receive notifications via text or email regarding missed waterings or future weather. 

My areas of focus:
- Using JQuery on the schedule to send calls to the database and update the DOM. - Generating waterings, both when a user adds or updates a plant, and once daily as a scheduled task. I wrote a scheduled task and used Heroku Scheduler to schedule waterings on an ongoing basis.- Sending texts using the Twillio API so users can are alerted when to water.- Emails that display pictures. Testing email sending.- Designing the settings page so that users can choose which notifications they recieve.

Launch the App Code Repository
Screenshot detail for project Thirsty Plants
Screenshot thumbnail #1 for project Thirsty Plants

SweaterWeather

SweaterWeather

Project scope time 90 hours
Collaborators

Tools Used

  • Google
  • jQuery
  • Rails
  • Redis

In this solo project I designed a backend application with endpoints consumed by my own front end application. The backend consumes and caches data fro DarkSky, Google Geocoder, Google Timezone, and Flickr APIs. The front end is a static site built mostly with javascript.The user can search for weather information by city. The backround image is retrieved from Flickr and is based on the user's search. They can also register, log in and out, and click a star which will store a city as a favorite in the backend. When logged in, a user can see a summary of the weather in their favorited cities, as well as remove them. 

My areas of focus:
On the backend I maintained close to 100% test coverage. I relished organizing my code using unit tested service and retriever POROS. I experimented with namespacing models, which is not a convention in rails, but which I found useful and not to difficult once I got started with it. I enjoyed completing the stretch goals assigned by my instructor, such as implementing Redis to cache cities by searched for name, and having the weather data updated via a scheduler so that only rarely does a call to the backend make a request to DarkSky. I also set and achieved my own stretch goal of using the Google Timezone Service to make all times local to the searched for city.On the front end, though it wasn't required, I used the "icon" column returned by DarkSky to select the appropriate SVGs which I borrowed from an opensource collection. I enjoyed working toward making as smooth a UI/UX experience as possible, for example, ensuring that if a user unfavorites the city that they are currently searching for, the star next the searched city empties and can be favorited again without having to do a refresh.Front end repository is linked to below.You can find my back end repository here:https://github.com/bendelonlee/sweater_weather

Launch the App Code Repository
Screenshot detail for project SweaterWeather
Screenshot thumbnail #1 for project SweaterWeather

Book Club

Book Club

Project scope time 25 hours
Collaborators

Tools Used

Pair Project. Website of books authors and reviews. Users can add and rate   books. It was my first time working with Rails, and I appreciated how much work and decision-making Rails takes care of for you. 

My areas of focus:
Basic CRUD functionality. Using Sass. 

Launch the App Code Repository
Screenshot detail for project Book Club
Screenshot thumbnail #1 for project Book Club