Software Developer, frontend/backend/full-stack, mostly web, lately React and things
With over two decades of experience in web development, I specialize in SAAS (Software as a Service) solutions, with extensive experience building and delivering customer-facing experiences, enterprise solutions, mobile backend services, and systems integrations.
I offer development and consulting services freelance and part-time, or full-time depending on the opportunity. I would love to discuss turning your most interesting ideas into reality.
Things I’ve done at work
I’ve built and worked on too many things to count over the years but here are a few stand outs.
Relevvo
Frontend Developer, Team Lead, Application Architect, Project/Release Manager
- Foundation to support reporting, notifications and other client-facing features
- ETL to automate data synchronization
LaunchPass
Full-Stack Developer
- End-to-end test suite to help development and releases
- Slack chatbot to assist DevOps and Customer Support
Amperity
Founding engineer and main "UI Guy"
- UI framework from scratch
- Helped grow the company from 6-employee startup to unicorn
Alida (then Vision Critical)
Full-Stack Developer, Project Lead
- Built and brought to market IdeaScreenPlus and ReactionPlus, vertical market research apps.
Things I’ve built for fun
To learn tech and techniques I like to build apps; here are a few fun and/or silly ones.
Haiku Genius and Haikudle
AI-powered haiku poetry, generative art and daily word puzzles
- Haiku poem editor with AI assistant
- AI-generated art blending with haiku poem
- Daily puzzles with drag-and-drop UX
Workout
Fitness app powered by AI
- AI-generated personalized workout plans
- Strava-like performance tracking
Pubspace
Web app for restaurants, cafes, pubs, bars, etc
- Bulletin board
- AI-generated food and drink menus
- AI-generated trivia games
Tic-Tac-Toe
The classic mini game built with React
- Single and multiplayer
- Remote and bot opponents
Writings and Musings
Some things I wrote about.
Medium
A GenAI Haiku Journey (Part 1)
Dabbling with GenAI I got hooked on haikus, built and brought to market a few apps. Here are some of the things I learned along the way.
Medium
A GenAI Haiku Journey (Part 2)
Second part of my AI-powered haiku journey where I take a deep dive into social media, digital marketing, and share some wins, hilarious fails, and lessons learned.
Medium
Redis as a RELATIONAL(ish) Database
A lightweight library to use Redis as your primary data store for your app’s entities and their relationships.
Tech, Tools and Frameworks
This is what I like working with these days.
Frameworks
React: “The library for web and native user interfaces”
The OG from the FB. What I like most about React (and its brethren) is its functional approach to build UI, also its very large and active community.
“Next.js enables you to create full-stack Web applications by extending the latest React features, and integrating powerful Rust-based JavaScript tooling for the fastest builds.”
Frontend Javascript framework, and now with React Server Components, a full stack framework! I prefer Next.js' opinionated approach, specifically the app and API router. For small projects this is all you need!
UI/Style
Tailwind CSS: “A utility-first CSS framework packed with classes like flex, pt-4, text-center and rotate-90 that can be composed to build any design, directly in your markup.”
I built my own atomic CSS a while back and so I was already sold to the concept. Tiny classes that mostly play nice together, add what you need to do what you want, great development experience when used with Next.js. CSS sucks but less so with TailwindCSS.
Tailwind UI: “Beautifully designed, expertly crafted components and templates, built by the makers of Tailwind CSS. The perfect starting point for your next project.”
A different approach to a component framework. Instead of importing and using components as classes or objects/functions, necessarily sifting through documentation for the one param that'l do the thing you need to do (looking at you Material UI!) Here you grab the component code and make it your own. Plays very well with TailwindCSS and Next.js. In fact this site is built from one of their template!
State
Zustand: “A small, fast and scalable bearbones state-management solution using simplified flux principles. Has a comfy API based on hooks, is not boilerplatey or opinionated.”
This framework reminds of re-frame for ClojureScript: opinionated yes but not too many hoops to jump through to get the value you want. A lighter alternative to Redux.
Database
Redis: “A source-available, in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability.”
I love using Redis as a database! If done right you can have a complex schema that scales, performs great and allows for quick iterations, but you have to do it right! I wrote a small library to help: @desmat/redis-store
Hosting
“Vercel’s Frontend Cloud provides the developer experience and infrastructure to build, scale, and secure a faster, more personalized Web.”
Unsurprisingly plays very well with Next.js: log in to your GitHub account, pick a project and it's live in minutes. They offer almost everything you need to quickly stand up web apps, including analytics and a few stores including Redis. Free tier is quite generous.
“Firebase is an app development platform that helps you build and grow apps and games users love. Backed by Google and trusted by millions of businesses around the world.”
I find it much easier and faster to get going with Vercel, and unfortunately only serverless functions are available for backend (no Server React Components, API or Server Side Rendering for Next.js apps) however their Authentication and Firestore Database solutions have grown on me and plays good enough with apps hosted on Vercel. Free tier also generous enough for small projects.