Making software is a creative pursuit. Before I discovered my love for
writing code, I considered myself a designer.
Beyond instructions in files, good code is about clear communication
between people. An experienced engineer considers the landscape
around the problem while crafting a solution. Good solutions not
only satisfy requirements but resist complexity, favoring concision
I work closely with other engineers on product focused teams to help them
ship scalable code. Projects include patching database drivers to meet our
performance requirements, writing custom instrumentation to understand load
on our backend services and creating load testing tools to help understand
the capacity of quickly evolving codebases.
2015-2017 in Oakland, CA
My grandparents started Kit Kraft in Studio City in 1946, and my father
took over running the store when I was a kid. In 2015 I decided to join
the family and help turn around a downward sales trend on the
I designed and developed a new site, migrating from an off-the-shelf
PHP framework (X-Cart) to a custom Rails project. Since launch, nearly
every aspect of the business has benefited. Together with the team in
Los Angeles I helped integrate a new point of sale system and modernize
outdated purchasing and inventory systems. Site revenue has increased
Docker + Amazon ECS on AWS create a painless development and deployment
story. New team members can spin up a local dev stack with a single
A new custom fulfillment backend helps get orders out quickly and
correctly. Integrations with our shipping providers handle postage
Custom marketing tools help our team get the data they need and make
changes to site content without developer involvement.
System design embraces AWS services to lower operational overhead.
We utilize EC2, ECS & ECR, S3, CloudFront, CloudWatch, RDS,
ElastiCache, Lambda, SQS, Route 53 and SES across two regions.
2014-2015 in Oakland, CA
I joined nuts.com during a period of rapid growth, and on my first day
started work on a brand new front end for the site. My responsibilities
were wide ranging. I led efforts to refine UX, extend the brand's
visual identity and establish design standards. I also designed and
implemented a modern responsive front end codebase based on logicless
templates and discrete components.
Created a library of composable AMD modules to power the front end.
There are few dependencies, and no heavy front end frameworks.
Implemented all site templates in mustache, moving display logic
into a separate view layer.
Planned, designed and illustrated visual assets – everything from
vinyl wraps for delivery trucks to packaging concepts to site promos.
Helped move a brittle deployment flow based on Chef/OpsWorks to a
more robust one based on Docker and Amazon ECS.
Co-Founder / CTO
2011-2014 in Santiago, Chile
Designed and coded a scratchbuilt ecommerce platform with rails, deployed on Heroku.
Optimized the stack to handle bursts of heavy traffic with aggressive caching and background job queues using memcached and redis.
Integrated APIs for payment processing including Authorize.net, Stripe and Dwolla.
Built a consistently threadsafe rails stack to facilitate on-demand scaling.
Designed and implemented the entire front-end, including UI/UX design and code.
Maintained a comprehensive test suite using RSpec and Capybara.
Co-Founder / CTO
2010-2014 in San Francisco, CA
Designed all branding and marketing materials including the public site.
Drafted a spec for an HTML microformat to facilitate data sharing and interoperability among other tools and services used by interior designers.
Specify continues to serve a growing customer base including the purchasing team at one of the largest hotel groups in the world.
Community site for OP-1 users
The OP-1 is a tiny synthesizer with a unique workflow and a dedicated
following (myself among them). I wanted to create some special tools
and share them with the community.
Deployed ffmpeg on AWS Lambda to perform operations on audio files.
Implemented a REST API modeled after the JSON API spec to allow
external companion apps.
Implemented direct uploads to S3 and file processing on Lambda to
keep server load down. The lambda functions use the site's API to
persist their results.
The site handles user interaction via the web MIDI API to allow
live patch previews right on the site.