Fullstack software engineer, Ruby on Rails and Javascript specialist with strong design, UX, testing, mentoring, and project management chops. Comfortable as project, manager, team lead, individual team contributor or solo contractor wearing all the hats.
I build robust, secure, test-driven web applications, and am equally comfortable on the backend and front end. My preferred ecosystem is the Ruby on Rails framework on the back and a combination of Turbo and React on the front.
Looking for an engineer as an individual contributer, lead, or product manager? I have a broad skill set, developed over 26 years in this ever-changing field.
I am sometimes available for contract work opportunities. I enjoy helping small businesses improve their efficiency through:
I'm also open to co-venture opportunities for folks looking for a technical partner in the development of new entrepreneurial projects. Reach out if you think we might have similar interests.
This extension for Chrome Web Browsers helps students of Mandarin Chinese read, explore and learn Chinese characters.
It provides definitions, character frequency & composition, similar charcters, example words, images and more.
This project started in 2007 (pre-Youtube as I recall) and filmed several thousand dance instruction videos in 30 odd styles.
The project is still operational and serving dance enthusiasts around the world, though it hasn't had active development in many years.
As a regular dance DJ and musician, I made this tool to help me quickly get BMPs of songs I was DJing or writing.
I had it online for 7 years and had mostly forgot about it until I was contacted by an agency to buy it. Then I looked at the traffic!
As a musician I've wrote this to explore the possibility of having better song charts online.
Specifically I wanted the ability to transpose keys, have the same chart up in different keys, and a separation of chords and lyrics.
This projects explores how to make a multitrack music player in a web browser to faciliate learning multi-part harmony music.
I wanted the ability to transpose keys, and control track volume individually, allowing a singer to eventually take the place of an entire track.
When I was first studying Non-violent Communication, I became aware just how tricky it can be to practice and get the structure 'right'.
I made this to help myself and others with that, and also provide a reference for the needs and feelings as taught by Marshall Rosenberg.
This project helps visualize the health of your heartrate via some animated graphics.
I made this to experiment with some new React JS concepts (immutable.js, and some obvserver patterns) and also monetization through ad placement.
Since 1997, in a team setting and with personal clients, I have established long-term professional relationships rooted in technical skill, professional reliability, good communication and mutual respect. At work, as in my personal life, I value human relationships, strong communities, ethical endeavors, and the power of collaboration.
These values have allowed me to build strong professional and personal connections that maximize the power of collaboration, rapport, trust. In the numerous teams I've been a part of, I've learned that technical knowledge alone does not make great products over time. Good communication is necessary to build great things on teams. Strong opinions must be tempered by an openness to the many ways colleagues may envision a problem. I've found that through my studies in the fields of Non Violent Communication and Authentic Relating have I've been able to develop skills and a quality of communication that minimizes the many ways that communication can sour (blame, judgment, withholding, condescension, etc).
In my work I have value code that is Clean, changeable, testable, extensible, and scaleable. I prefer libraries embraced by entire ecosystems, and battle-tested technology as opposed to the newest shiny thing. Security is important to me as are the skills of data management and database systems. Though I spend most of my work writing code and having meetings it seems, I have a soft spot for aesthetics and enjoy interface design, graphic design, UX and theme development. I'm also an entrepreneur at heart and tend to prefer roles where I have my eye on the big picture.
When not working I do a lot of social dance (Swing, Tango, Salsa), and play trombone in a Jazz band. I'm enjoy learning languages (I worked for years as a language teacher and medical interpreter - actually, I have a masters degree in Language Acquisition), eco-friendly living, world travel, and long romantic walks on the beach.