A brief introduction
I'm a web developer and teacher in the lovely city of Chicago, IL. I care deeply about internet privacy and encourage anyone stopping by here to take some basic steps toward securing your digital life. IRL I enjoy distance running and sloppily playing John Mayer songs on the guitar. Someday I hope to see the earth from outer space and the New York Mets win the World Series.
The anatomy of this site
The words on this page are written in Pug and styled using Sass. The code is compiled and bundled using Gulp.js. Everything is version controlled on Gitlab, and pushed to Amazon S3 using Gitlab CI. Traffic here is routed through Amazon CloudFront and secured using Let's Encrypt.
Some work I've done
Senior Developer @ Umojo
// Tech things: Node.js, Sass, Pug, JSON Web Tokens, Microservices, Gitlab CI, Docker
I built a management portal for Voice 365, a VOIP/PBX platform built on Skype for Business. The system consists of six Node.js microservices, each communicating with an external API or database. On top of those is an API gateway, which handles all incoming requests, ferrying them to the proper microservices for the task. The frontend is a stateless Express app written primarily in JavaScript ES6. User authentication is handled with encrypted JSON Web Tokens (JWTs).
JoshFrontend User PortalSamFrontend Admin PortalBartletAPI GatewayCJVoice Platform MicroserviceRonUser Auth MicroserviceAmyBilling MicroserviceAinsleySfB MicroserviceCharlieOffice 365 MicroserviceDonnaDNS MicroserviceFrontend Developer @ Nativ
// Tech things: Ruby on Rails, CoffeeScript, Sass, Slim, d3.js, Middleman, Codeship, Amazon S3
I worked with an awesome team at MobileX Labs (now Pairade) on an app builder that enabled artists and small business owners to design and generate their own native iOS app . Our small team (2 backend devs, 2 frontend, 1 designer) worked closely together in a scrum workflow.
Curriculum Architect & Instructor @ Startup Institute
// Tech things: HTML, CSS, JavaScript, jQuery, Node.js, Jekyll
With the help of educator extraordinaire, Brent Williams, I wrote the curriculum for two part-time classes: Intro to Web Design and Into to JavaScript. I taught those classes to groups ranging from three to fifteen students. We focused heavily on pair programming, live coding as a group, and cumulative projects.
Other Awesome Teams I've worked with:
I helped the amazing folks at BallotReady with some pre-launch features.
I did QA and Design work for The Noun Project during my time at Startup Institute.
I helped launch At The Pool, which was once Hyphos and now Yeti (though the team is now building awesome home automation things at Josh).
I founded TEDxUConn and ran the 2013 conference with my friends at school.
(Do or) Don't @ me
- Email me at tom at tjbenneche dot com
- Come for the tweets
- See what I'm building
- Communicate with me securely:
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: OpenPGP.js v1.2.0 Comment: http://openpgpjs.org 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 DlCxuD3QgQ0hVCRGTC0HAChettxRZqbsiQoP3uk= =a9W6 -----END PGP PUBLIC KEY BLOCK-----