I've always enjoyed coding. What first drew me in was the way it trains you to think systematically and solve problems step by step. In college, I worked on a number of small projects. Some were interesting, but most lacked any practical purpose.
Later, I moved into web development using JavaScript frameworks. That changed things. I could build tools and interfaces that others could actually use and share. It gave me a new appreciation for accessible, useful technology.
Poynter.org
Collaborating across departments including marketing, education, and editorial.
At Poynter, I became part of a larger team that spanned marketing, education, editorial, and more. It was a shift from solo work to learning how decisions ripple through an organization. I grew as a developer and as a communicator.
One major challenge I took on was rebuilding the IFCN Code of Principles site. The original system was outdated, and we needed something modern, maintainable, and easier to use. My goal was to simplify the review process, make updates smoother for the team, and improve the overall experience for signatories.
IFCN Code of Principles
A complete rewrite focused on usability and future maintenance.
These days I don’t just build for clients, I design and ship my own products. The biggest is inFlow, a platform that puts everything a trades or service business runs on, website, leads, projects, and invoicing, on one thread. I built it solo, end to end, from the infrastructure to the billing, and it’s live in production with paying businesses today.
A solo-built platform that runs a whole business on one thread. Live with paying trades businesses.
I’ve also shipped LimitCam, an iOS app on the App Store that turns your camera roll into something you actually enjoy, and LR Smart Metatagger, a Lightroom Classic plugin that uses a local AI model to write keywords, titles, and captions for photos with no cloud and no manual tagging. Alongside that I’ve built out my own photography site and worked with businesses to help showcase their work online.
LR Smart Metatagger
Lightroom plugin that writes keywords, titles, and captions using a local AI model.
One of those businesses is Royal Custom Design, a family woodworking company that creates custom kitchens, ceiling beams, mudrooms, and feature walls. I built their website to highlight that craftsmanship with galleries, project showcases, and a structure that helps clients understand what’s possible. It’s rewarding to build tools that help people show their best work.
Royal Custom Design
Showcasing high-end woodworking: beams, feature walls, and cabinetry.
Whether I’m writing software or shooting photos, I care about how things are built and how they feel to use. A good tool should be clear, reliable, and help people focus on what matters. It shouldn’t get in the way.
02
Track Record
2017 → present
Freelance Full-Stack Developer @ Self-Employed
Port Charlotte, FL | Dec 2024 – Present
Built and shipped LimitCam, a virtual film camera iOS app with darkroom editing, library cleanup, and album sync, published to the App Store.
Built and shipped Clock Out, an iOS app for hourly workers to track shifts, manage projects, and generate PDF invoices, published to the App Store.
Developed a professional portfolio site for Royal Custom Design, a woodworking business, featuring CMS integration for client-managed content updates.
Created a photography portfolio with multi-subdomain architecture and CDN-optimized image delivery for different client segments.
Built LR Smart Metatagger, a Lightroom Classic plugin that uses a local AI model via Ollama to automatically generate keywords, titles, and captions for photos.
Led the rebuild of the IFCN Code of Principles platform, designing and implementing both the Express/MongoDB backend and Next.js frontend from the ground up.
Built RESTful API endpoints with secure authentication and role-based access control for managing fact-checking organization applications worldwide.
Maintained and enhanced Poynter.org, implementing new frontend templates and improving legacy PHP templates.
Conducted regular code reviews and collaborated with non-technical stakeholders to translate requirements into actionable development tasks.