digitalferrari
Software Engineering Manager

Mike
Ferrari

Twenty years building software, leading teams, and making complicated systems simpler.

AI doesn't make coders obsolete. It makes the ones who still know how to code irreplaceable specialists.

Mike Ferrari, software engineering manager

Twenty years building software. Nine years managing a publishing platform that peaked at 22 news and magazine sites, ~1.5 million newsletter emails a year, and 24 million readers.

API Cron λ SES DynamoDB SQS
Open source · AWS

Addressium

The open-source Amazon Pinpoint replacement — serverless, multi-tenant email.

ship review redirect you agent
How I build now

Judgment is still the job.

I’m directing agents to build and launch projects that sat for years due to a lack of time, team and resources.

~$84K/yr savings identified

S3 → R2, zero egress

24Mreaders a year

Across 12+ news sites

~$220K/yr eliminated, 4 years running

Publishing automation via WordPress & InDesign

What I do

An engineer(ing) manager

I like building systems that solve real problems. Sometimes that's writing code. Sometimes it's finding a service that's costing the company a fortune and replacing it with something simpler. It always ends in helping people.

Over the years I've ended up wearing a lot of hats—software engineer, engineering manager, architect, DevOps, product owner. At a small company you don't get to stay in one lane.

I still like writing code. I just enjoy solving bigger problems than a single feature — the kind that take a team, or a team of agents. Sometimes the answer is code. Sometimes it's architecture. Sometimes it's simplifying a process that's been wasting everyone's time for years.

Engineering philosophy

Computer science isn't going away. If anything, it's becoming more valuable. When everyone can generate code, the people who understand why the code works, how systems fit together, where the edge cases are, and what should be built in the first place are the ones who matter most.

Mike Ferrari working
Where are you this week? Only 14 countries crossed off the list so far; many to go.
How I build now

Human-driven AI workflows; no vibes here.

AI-first workflows are here — I'm living it and finishing projects that I've had sitting around for years. I own the decisions; the agent implements them under my direction.

That's a real shift in how the work gets done, and I think it's where the industry is headed, not a shortcut we'll grow out of.

So I treat hands-on coding knowledge as a hard requirement, not a legacy skill. The agent is faster than me at typing. Judgment — knowing what to build and when to override it — is still mine to bring.

My Endeavors

Systems built to scale.

01Built & maintained · AI-upgraded

Swift Auth — Registration & Identity Platform

Designed and built the registration and paywall platform spanning multiple digital publications, giving the business a real first-party customer data platform. Built the subscription systems alongside it — Stripe checkout and subscriptions, payment handling, fraud prevention, and institutional access across the network. I built and maintained the first version myself and ran it in production; I have since upgraded it with AI agents working according to my intentions and constraints.

  • Stateless entitlement checks. Signed, short-lived tokens resolve paywall access with no database lookup on the request path.
  • Asymmetric trust model. Verification happens at the edge; signing keys and subscriber data never leave my side of the boundary.
  • Built for the morning burst. Sized for newsletter send spikes, where traffic arrives all at once or not at all.

AWS Cognito · DynamoDB · Stripe · HMAC · Ed25519 · React · WordPress multisite

02Cost & Ops

Publishing Automation & Cost Optimization

Not every win is code you write. I sourced and helped deploy the WordPress-to-InDesign automation that took quite a bit of manual production work out of the editorial workflow — a tool that has eliminated roughly $220,000 in annual software costs for four years running. Recognizing the right tool and standing it up cleanly saved the company real money.

WordPress · Adobe InDesign automation · Print production · Vendor & cost optimization

03Compliance

Consent Management & Privacy Compliance

I set up and maintain the consent management platform across all of our websites. The work is less about installing a banner than about making it coexist with everything else on the page — ad scripts and vendor tags have to fire correctly under a reader's actual consent choices, without breaking the ads or breaking compliance. I own the configuration, the vendor tooling, and the quarterly review that keeps it current.

Consent management platform · Ad & vendor script integration · Privacy compliance · Quarterly audit

04AI Tooling

Internal AI Tools

Built AI-powered newsroom tools — Ask the Editor — that help editors review articles, generate constructive feedback, suggest follow-up stories, summarize documents, process audio, and automate repetitive editorial work. I've been integrating large language models into production software since before most newsrooms were talking about it.

OpenAI · Google · Mistral · Meta · Retrieval-augmented search · Transcription

05Open Source

Addressium — The Open-Source Pinpoint Replacement

A self-hostable, open-source replacement for AWS Pinpoint's email capabilities — multi-tenant newsletter and transactional email for publishers, with double opt-in, magic-link regwalls/paywalls, deliverability controls, and campaign analytics. Public on GitHub, with a live demo at addressium.com. I built it in a directed pair-programming loop with the Claude Code CLI: I owned the architecture, the technical decisions, and the review; the AI produced implementation against my direction. The decisions were mine:

  • Hexagonal architecture, not a framework default. I set the domain core behind ports, with in-memory adapters for tests and AWS adapters for production — so the business logic has no AWS dependency and the AWS topology (DynamoDB single-table, SES, Cognito, KMS, Lambda, API Gateway, EventBridge, Step Functions) can change without touching it.
  • Identity keyed on a stable ID, not the thing that changes. I keyed subscribers on their Cognito sub rather than email, so a subscriber changing their address is a non-breaking attribute update instead of a broken identity — and specified an inbound identity-sync webhook to keep it consistent with the main site's user pool.
  • Stateless auth over stored sessions. I chose KMS-signed, ES256 magic-link tokens for regwall/paywall access so readers don't need an account, with Cognito account creation as an explicit, feature-flagged step after verification — not a prerequisite to reading.
  • Reporting decoupled from the send path. I directed a separate CQRS read model — DynamoDB through Firehose into an S3 data lake, queried by Athena — so cohort analytics load never touches the transactional path, the same separation I'd already proven under load on SwiftSend.
  • Clicks over opens, on principle. I drove the engagement-based sunset/win-back automation and insisted engagement be measured on clicks, not opens — opens are unreliable under Apple Mail Privacy Protection — paired with an RFC 8058 one-click unsubscribe and a suppression / re-opt-in model built to stay compliant.

I ran the work as an issue-driven backlog: writing feature specs, sequencing merges, reviewing every change, and making the scope calls — what to ship, what to park, what to defer. I caught and corrected issues in review, including stripping vendor-specific and real-company references to keep the app genuinely vendor-neutral. My role was architect, technical lead, and reviewer; the AI's role was code generation under my specifications. Every design tradeoff, security decision, and merge was mine.

TypeScript · AWS CDK · DynamoDB · SES · Cognito · KMS · Lambda · EventBridge · Step Functions · Athena

06Independent

Dearly — Instant photo restoration for funeral homes

A family arrives at an arrangement meeting with one photo — faded, torn, black-and-white, often the only copy they have. Dearly restores it in about a minute, right at the table, and hands it back on the family's phone with no app to install and no login. I built it end to end — the problem, the workflow, the restoration pipeline, the pricing, the deployment. I directed the coding agents and owned every architecture and product call; the interesting engineering is the restoration itself.

  • A characteristic-driven pipeline, not one "magic" model. Instead of betting on a single restore model, I drove a staged pipeline that routes each photo by what's actually wrong with it — face sharpening, colorization for black-and-white, damage repair for tears and scratches, a final color-correction pass — and runs the stages in a deliberate order, because damage repair works better on a colorized image than on grayscale. Each pass only runs when the photo needs it.
  • Classical image work between the AI stages. Between model calls I use deterministic, in-process image ops to pad edges so a model doesn't hallucinate on a hard black border, strip a colorizer's watermark without cropping the photo, and rein in a model's tendency to over-saturate. The cheap, predictable polish is part of the quality bar, not an afterthought.
  • The three-year promise is a data and billing-state decision, not a marketing line. A family's restored photo lives at its private link for three years even if the funeral home cancels — the link is a capability, served regardless of billing status, and cancellation never deletes a family's photo. I designed the storage and billing states so a canceled account goes read-only for creating new work while everything already made stays downloadable.
  • I cut model stages that looked impressive but failed on real photos. Two passes were removed after they regressed on real customer images — one recolored a teddy bear it mistook for damage, another redrew a face. I kept the code documented as dead with the correct fix noted, rather than ship a pipeline that occasionally rewrites the one photo a family has left. Knowing when not to run a model is part of the design.
  • Built to cost almost nothing at rest. The whole backend runs on a single small VPS behind auto-TLS, with zero-egress object storage holding the photos and no idle GPU on the payroll — the expensive models are external APIs I only pay for when a photo is actually being restored. Nothing in the bill scales with users who aren't doing anything, so the product can sit quietly between funerals without burning money. The cost ceiling was a design decision, not an accident.

React · TypeScript · Fastify · Postgres · Redis · Cloudflare R2 · Replicate (CodeFormer · DeOldify · BOPBTL) · Gemini · Stripe · Docker

07Independent

identithing.com

An AI-centric analysis tool that inventories assets, built for both B2C and B2B2C (with insurance carriers as the near-term market). Launched and live. I build these end to end, which keeps me honest about cost, tradeoffs, and what actually ships — the whole thing runs serverless and costs next to nothing at rest, so it can wait for demand instead of billing for idle time.

AI vision & analysis · Asset inventory · B2C / B2B2C · Serverless

08In progress

A quiet one, still in the workshop

A reading platform built around discovery — because finding your next book shouldn't feel like homework. Not ready to talk about yet. Ask me in an interview.

Recommendation · Discovery · Coming when it's good

Leadership & ownership

I became the technical owner of an entire publishing platform.

I've been Digital Development Manager at Swift Communications since July 2019, and over that time went from writing plugins to owning the whole thing — cloud infrastructure, authentication, subscriptions, payments, messaging, AI tooling, performance, and the engineering operations behind a network of high-traffic news and magazine sites that peaked at 22 properties and now runs 11.

That platform serves roughly 24 million readers a year and on the order of 48 million annual sessions. I inherited a strong foundation from the team before me and have kept it fast, reliable, and evolving ever since.

I led the engineering and digital-operations team — developers, designers, customer service, a videographer — set the standards, managed vendors, and ran incident response. I've mentored developers and delivered technical training to hundreds of employees.

I enjoy helping engineers grow about as much as I enjoy solving the problems myself.

Local newspapers have been declining for decades, and we've had several rounds of layoffs. I went from managing a small engineering team to spending the past three years as the only engineer responsible for our platform. The team got smaller, but the systems still had to perform.

I'm still hands-on. I costed out moving our newspaper images off Amazon S3 to Cloudflare R2 and identified roughly $84,000 a year in storage and egress savings, with another six figures available annually if the same approach is applied across the rest of our publications.

Mike Ferrari
Before software · around the world

U.S. Navy veteran. I trained a division of sailors and built custom tools to track dry-dock maintenance and work schedules, back when most of our automation lived in spreadsheets. Eagle Scout and Order of the Arrow.

I've spent the last decade working remotely while living in different parts of the world, mostly in Southeast Asia, with extended stays in Mexico, Croatia, and India. Even while overseas, I've kept North American business hours. Working across continents taught me to communicate clearly, document decisions, and build systems that don't depend on everyone being in the same room.

Mike Ferrari traveling

Values I still carry

I earned Eagle Scout as a teenager, but the principles stuck. They still influence how I lead teams, approach engineering problems, and work with people.

Technical background

The Systems I've Worked On

I care less about specific languages than about building systems that are reliable, maintainable, observable, and easy to change. I've designed and maintained automation across AWS, led engineering teams, and delivered technical training to hundreds of employees.

  • Authentication & Identity
  • Publishing Platforms
  • Newsletters & Email
  • Cloud Infrastructure
  • Digital Asset Management
  • AI Integrations
  • Search
  • Payments
  • APIs
  • Automation

Technologies

JavaScriptTypeScriptPHP Node.jsPythonBash SQLReactWordPress AWSLambdaLambda@Edge CloudFrontCognitoSES API GatewayEventBridgeDynamoDB AthenaFirehoseAWS CDK MySQLPostgresRedis DockerStripeOAuth 2.0 REST APIsLLMs / AI
Where it started

My career has never really been about software. It's been about solving problems. Software just happens to be the tool I use most often.

Phase 01 · 2017–2019Advertising operations

Advertising Specialist, Swift Communications

I started in advertising operations at Swift Communications, a newspaper company — running campaigns through Google Ad Manager, coordinating launches across editorial, sales, and operations, and becoming the person people asked when nobody else had the answer.

My first software projects weren't products—they were internal tools that eliminated repetitive work and helped people do their jobs faster. That mindset has shaped every system I've built since.

Google Ad ManagerProgrammatic Advertising Campaign AnalysisRevenue Operations Client ConsultingDigital Publishing
Phase 02 · 2019The pivot

Asking for the job I hadn't done yet

In 2019, our Digital Development Manager accepted a job at another company. Before he left, he pulled me aside and encouraged me to apply. During my interview with the IT Director, I said, "I want to build things that can only be accomplished with the help of a team." A month later, I was promoted into the role.

Team LeadershipPlatform Ownership Stakeholder Communication
Phase 03 · 2019–presentPlatform engineering

Cloud architecture, and eventually, the whole platform

I grew into the job I'd asked for: building a registration platform on modern cloud infrastructure, managing our dev team during our full CMS migration from WordPress to Naviga Writer and back again — the second move when leadership cut the cost — training roughly 200 people through both, and now SwiftSend to replace Pinpoint and keep our 1.5 million newsletter emails flowing. It's the same instinct as that first spec-checker — find where a process is carrying more friction than it needs to, then remove it and automate processes — just aimed at bigger systems now, with a team of agents instead of just myself.

Cloud ArchitectureSoftware Architecture Engineering ManagementAI Integration
Get in touch

Building things that solve real problems.