Profile

I'm Caleb. I develop things for the internet.

Things should be simple, clean, and lightweight.

Traveling is great. Check out my blog if you enjoy reading about that sort of thing

Education should be free and accessible. MOOCs are awesome. If you're looking for resources on learning, head to my blog.

Technologies

Javascript

I am extremely comfortable in Vanilla Javascript. I enjoy challenging myself to make apps that normally would require a framework but using only JS. I'm always looking for cool new tricks to do in plain old JS with no external libraries. Having taught Javascript at Hack Reactor / Makersquare, I can be considered exceedingly proficient.

Angular

Right now Angular is my favorite frontend framework to work with, because it makes it very easy to develop modular directives that can easily be seeded throughout a project. I've worked extensively in Angular and have deployed several projects utilizing it for the front end MVC.

React

React is doing exciting things to the web development world, and it's no wonder, with Facebook pushing hard for its adoption. I really enjoy working with React for its fantastic responsiveness, though there is a lot of overhead involved with getting something a simple as a "hello world," and its not as test-friendly as Angular. I've worked on several projects with React, mostly using it to control the "View" of an MVC. I've also worked with Redux.

Node

Node is an awesome technology to work with. Not only is it the primary way to develop a server in Javascript, it also spawned the creation of Javascript desktop apps, Javascript drivers for hacktech like the Raspberry Pi, and I've even heard a wild rumor of it being used by NASA in spacesuits. I've worked a great deal in Node, primarily to develop backends and servers.

HTML

I've worked in HTML on and off since I was ten. Like vanilla Javascript, I enjoy challenging myself to work strictly in HTML with as few bells and whistles as possible attached. I think the work Google has been doing with extending HTML elements using Polymer has been really exciting.

CSS

Like HTML, I've been working with CSS for over a decade, and I'm always trying to push my understanding of its somewhat esoteric and arbitrary conventions. I've worked with CSS frameworks such as Bootstrap and Materialize, but I don't find using frameworks challenges me or helps me learn more about CSS, so I prefer to style purely by hand when time allows.

Portfolio

Projects

  • 〉 Gitnalysis
  • Techs Links
    • Javascript
    • React
    • Redux
    • Node
    • Express
    • REST
  • 〉 LangBattle
  • Techs Links
    • Javascript
    • Angular
    • Socket.io
    • Node
    • Express
    • PostgreSQL
    • REST
    • Karma
    • Jasmine
  • 〉 Caffiend
  • Techs Links
    • Javascript
    • Angular
    • SQLite3
    • Node
    • Express

Gitnalysis is a Github analytics tool. It allows users to search for topics that interest them, be they technical or non-technical topics. Results from searches are curated to allow users to find Github Users, Repos, and Organizations related to their chosen topic of interest.

Clicking into a given repo will allow users to see issues, sorted by difficulty. We used the Google Predict API, an accessible Machine Learning API, to train a model what an "beginner," "intermediate," or "advanced" issue look like. We use React and Redux to control the view.

Langbattle is a multiplayer flashcard app with multiple gamemodes. It allows users to go head-to-head with eachother in the native and learning languages of their choice. Gamemodes include time trial as well as accuracy test.

Langbattle uses Angular to manage eventing on the client-side, and Socket.io to communicate between users. It is deployed on Heroku and uses a Postgresql database to store and access flashcards.

Caffiend is a webapp that allows users to find their new favorite menu item at a given cafe. Users can search for cafes, view menus sorted by item rating, and add their own cafes and menu items.

Caffiend is built in Angular on the front end, with a Node and Express backend that communicates with an SQLite3 database.