Proficiencies...
in order of confidence, tie-breaking on joy:
Python
Flask
SQLAlchemy
PostgreSQL
AWS
Git
Dart
Flutter
Insomnia
SocketIO
Redis
Jira
HTML5
CSS3
jQuery
JavaScript
Linux
Debian
Docker
Pandas
Jupyter
nginx
Ruby
Ruby on Rails
React.js
Portfolio...
Projects, new & old
Wellread
goodreads.com clone
Toolset
Python Flask backend with SqlAlchemy PostgreSQL database, served via AWS EC2.
Flutter GoRouter frontend, hosted via AWS S3 and Cloudfront.
Details
Login as a guest or signup via email. The pre-populated
data is fake, but the C.R.U.D. interactions are real. Please poke around and
leave a review.
Todo
Backend docs.
See XRP docs for a macro-example.
See XRP docs for a macro-example.
yt2epub
web utility
Toolset
Python, Flask, HTML5
Details
This web-based utility takes in a YouTube video link and writes the transcript
of the video to an epub file to download. Handy if you binge-watch too much and
would feel better about binge-reading the same content.
Hosted on the same EC2 server as the Wellread backend.
Hosted on the same EC2 server as the Wellread backend.
XRPlatform docs
backend docs + cloud diagram
Toolset
Insomnia, insomnia-documenter, HTML5, JavaScript, Draw.io
Details
Documentation of the XRPlatform backend and cloud infrastructure which I built
out during my time at The Glimpse Group. In addition to the typical C.R.U.D.,
the Flask API includes endpoints to generate presigned urls for uploading
arbitrarily large files directly to S3, to process uploaded files in the cloud
via AWS (EventBridge, Step Functions, etc), to get HLS streams to audio/video
assets, billing management via Stripe, API restrictions based on user's role
permissions, team management, to enable or trigger push notifications, and to
schedule events via integration with cron. It was used by other subsidiaries of
Glimpse and so a lot of legacy endpoints had to stay put, and in these Insomnia
docs, were tucked away in folders marked 'deprecated'.
Pathfinder
JS browser game
Toolset
JavaScript, HTML5, CSS3
Details
A fun browser game inspired by the mobile title Air Control. Click and drag the
emojis to their color-matched landing pad. Make sure the emojis don't collide
with one another--they hate that!