Chris Sloop
About Me
Hi! I'm an NYC and Berlin-based software engineer.
I've built things with Node.js, React, Redux, Elixir, Ruby, Rails, GraphQL, and PHP/MySQL.
I'm interested in developing sustainable web applications, robust APIs, playing with emerging technologies, functional programming languages (in particular MLs and Lisps), test-driven development, and responsive web interfaces.
Things I've Made
Wordle With Friends (GitHub, Live)
Multiplayer Wordle clone for Rails 7 / Hotwire- Replicates core Wordle functionality and design
- Enables real-time, websockets-driven multiplayer via Turbo streams
- LiveView-style hot UI updates powered by Stimulus.js

Slipmat (GitHub)
Discogs clone reimplemented as an SPA using Rails as a JSON API- Hand-rolled secure user auth via Omniauth
- RESTful, namespaced API routes with nested JSON templating
- Import utility makes use of Discogs API to construct seed data
- AWS-integrated file upload using Paperclip and Figaro

discogs-shuffle (GitHub, hexdocs)
Discogs SDK for Elixir 1.12- Stores Discogs user collections to a local database and enables interaction via Ecto wrappers
- Contains Ecto mappings for the Discogs User and Artist -> Release -> Record mappings
- Exhaustively documented, tested and type-speced (via ExDoc, Credo, and Dialyzer)

TikTak (GitHub)
Anonymous forum engine for workspaces- BSS-style assets include private messaging, quoting, e-mail auth and password resets
- Google reCAPTCHA integration for spam control
- Robust admin options include IP blacklisting, moderation and shadowbanning
- Full RSpec and Capybara unit / integration test suite

ActiveRecordLite (GitHub)
Ruby ORM built for SQLite- Replicates core functionality of ActiveRecord::Base and ActiveRecord::Relation
- AR::Relation search parameters are stackable and lazily evaluated
- Implements SQL associations including has_many, belongs_to and has_one: :through

Chess Suite (GitHub)
CLI chess and checkers suite- ChessUtils module and class inheritance structure DRY up code
- Checkers AI depth-first searches move tree to determine best possible move sequence
- Custom-built CLI parser enables UI with algebraic chess notation
