I've been working with the web for many moons and take pride in crafting rad experiences.
Previously at Hired & Knack, I'm currently working with Wyre, where we utilize blockchain tech to send money around the world.
More About Me
I grew up in a
small town in central California. I'd always been interested in design and started obtaining the skills to design, illustrate, and animate while in high school. I taught myself what I needed to know to build video games while working a full-time gig doing tech support. I've built upon those learnings and now primarily focus on building rich web applications of all sorts. I'm still learning a ton and having a blast doing it.
Currently, some of my favorite tools are Node, Ruby, Vue, and Firebase.
When I'm not working on the next project, you'll probably find me
making music, riding motorcycles, taking photos, or playing games (of both the board and video variety).
I generally dislike formality and try to bring compassion, humor, and empathy to the table. Your value to a team doesn't stop at your technical aptitude.
In the end,
we're all human and life is too short to take everything seriously. Solo Projects
Treebie is a database for thoughtful cannabis product reviews.
The growth of the cannabis industry has been awe-inspiring. As a consumer myself, I found product reviews for cannabis products largely useless and not very informative. This project was simply an attempt to create a review format that inspired more thoughtful product reviews.
Treebie was made over a few weekends using rails and postgres. I really enjoy working w/ rails and still love the simplicity of server-rendered pages (even if they aren't en vogue at the moment). I leveraged
a simple CSS framework I cooked up a while back to make styling fast and lightweight. Unfortunately I haven't given it the attention it deserves.
Magehand is a mobile-focused web app designed to share Dungeons and Dragons data in real-time with folks sitting around the gaming table.
As an avid DND fan (I don't play very often these days) I know first-hand that the tech for tabletop RPG games is abysmal. Despite the demand existing for such tooling, the market is just too small and fragmented for larger orgs to execute in this space (although more are starting now). Magehand was an excuse to build an app I wanted, while playing with some new tech along the way.
The app allows DMs (dungeon masters) to create a 'campaign' and assigns a code where players sitting around the table can join, giving the DM access to all the player data in real-time. As a player takes damage, changes stats, or edits their inventory, you see it live (if you've ever DMed a game, you know how useful this would be). For players, it keeps a consistent source of truth without using paper (if you're into that kind of thing).
The app currently has a few hundred users, and the usage isn't large enough to warrant charging users at the moment.
Magehand was my first experience at using firebase and vue together (and my first experience building a production-level app with either). Although my app architecture was somewhat clunky, the fundamental principle of having a unidirectional source of truth through firebase, and then using vue's diffing power to rerender on updates worked
really well. It meant I could send frequent real-time payloads and not have to worry too much about reflow inefficiencies. This project inspired me to continue using both Vue and firebase on future projects.
Pokedate was an absurd weekend project to capitalize on the popularity of Pokemon Go (ah, simpler times), where you are can chat with Pokemon trainers near you.
Some coworkers and I were talking about the absurd specificity in dating apps and started joking about a pokemon-based dating app. I took that inspiration and hacked together pokedate.me (a $5 domain), largely as a practical joke, in about a weekend.
Once you sign up, you are presented with a tinder-style interface where you see a photo, and you can 'Catch' or 'Run' (terminology used in Pokemon). If both users 'catch' each other, they can chat.
The Monday I got back to work, it got
featured on Product Hunt and hundreds of people started streaming in despite a horrific onboarding/product experience. I probably could have spent time promoting the app and/or throwing ads up, but I didn't anticipate it having lasting traction. It was a fun week at the office, regardless.
The entirety of this web app sits on a single HTML page (on some static hosting service) where it utilizes Firebase for auth/storage and jquery for everything else. The entirety of the app logic (including chat) is done client-side with no server involvement. As you might imagine, the code is an unsustainable mess as it wasn't meant to be a lasting project.
Gruup is a simplistic group chat platform.
Gruup is essentially a slack clone I built to play with some new tech. It has things like public/private channels, inline image detection and slash commands, but wasn't meant for mass consumption and isn't in active development.
I love working with both ruby and firebase, and this was some early exposure to both, as well as flexbox (which I hadn't really dug into previously). It lives as a simple sinatra app using firebase as the data store and user auth.
Lil' Trump is a tiny weekend project, simulating the tamagotchi experience with some presidential flair.
After reading some of Trump's tweets, I thought it might be possible to create a script that would generate believable tweets. The result is this silly 'game' where you're rewarded for generating tweets and giving them media attention. The game mechanics were poorly thought out and not very engaging. Despite that, it was
featured on Product Hunt and I got some kind messages about the project.
Lil' Trump is just a simple HTML file with about 100 lines of jquery. I made a few sprites and used CSS animations to give them life.