Tony Ennis
July 03, 2023
Hi there 👋 I'm Tony
  • I'm a developer and entrepreneur with 15 years of experience building products, companies, and teams. I was the first technical hire at Web Summit and built their first tech team from 2011 to 2014. From 2015 to 2020 I was co-founder and CTO at First Circle, a 150 person fintech in the Philippines. In 2021, I started Editmode, a yc-backed Headless CMS.

  • Since 2022 I've been building Really Good Software - we build software and tech teams for startups and SMEs for a flat monthly fee.

  • I'm from Dublin, Ireland and currently live in Amsterdam.

HTML Projects
Projects
Writing
Posts
Technical
How to Break Down Large Projects for Development
November 28, 2025
Thoughts on Poke
September 14, 2025
The Minimum Viable Release
August 26, 2025
The Leverage Ladder
March 14, 2025
HTMX server sent events with rails
January 26, 2025
An HTML First sinatra setup
December 14, 2024
Devise header based token authentication
May 27, 2024
How We Do...
April 16, 2024
How we do Hybrid mobile apps
April 07, 2024
Setting up a cdn on a custom subdomain using Jsdelivr and Cloudflare Workers
February 29, 2024
The Modern Developer
February 28, 2024
Friendly Rails guidelines
January 28, 2024
Building website traffic reports with raw postgres data using Umami & Metabase
December 16, 2023
Connecting to a Cloudron postgres database via metabase
December 16, 2023
I have a product idea, what now?
December 05, 2023
Making heroicons Tailwind friendly
November 30, 2023
Airtable cold email automation
November 29, 2023
Long Haul, Short Call.
November 26, 2023
The qualitative/quantitativeness grid
October 20, 2023
A simple pattern for generating Open Graph Images in Rails
October 02, 2023
Extracting information about the shape of rails models and data
August 26, 2023
The two kinds of work
August 23, 2023
Thoughts on HTML's "Learnability"
August 23, 2023
What is HTML First?
August 22, 2023
HTML First as a hiring philosophy
August 10, 2023
Running a Rails app on a newly provisioned VM
July 18, 2023
Novice Friendliness as a Core Design Principle
July 14, 2023
Don't sacrifice code understandability for pretty-ness
July 10, 2023
Non-HTML related Rails snippets
July 09, 2023
Rails as an HTML container
July 08, 2023
Code Snippets
July 08, 2023
Notes on businesses as information systems
July 08, 2023
Airtable script - post record updates to an API
July 05, 2023
Setting up a new rails app with Codeanywhere
July 05, 2023
Working with Roam-created markup
July 05, 2023
Basic tagging with ActiveRecord
July 05, 2023
Using bit.io as your Metabase database on Heroku
July 05, 2023
The Miracle Chain
July 04, 2023
👨‍💻 Web-native Media
July 04, 2023
The Van
July 04, 2023
Are your values Convenient, Accidental, or Intentional?
July 03, 2023
Using a second browser for focus and productivity
July 03, 2023
📝 Cheat Sheets
July 03, 2023
Working with Google Sheets in Rails
July 03, 2023
Setting up a personal db server for €6/month with Contabo, PgAdmin, and Caddy Server
June 27, 2023
Transfering a Metabase database from one Cloudron instance to another
June 24, 2023
Live Remote Development with rails
August 13, 2022
How to get an Azure cloud Rails environment running via VS Code
August 13, 2022
Thoughts on Austin
April 15, 2022
Fixing the slowness of my 16 Macbook Pro 2019
March 23, 2022
Installing ruby 3.0.0 on MacOs Monterey with ruby-install
March 23, 2022
Workaround for ruby-install Download Failed issue
March 15, 2022
What's Possible vs what's Prevalent
January 30, 2022
Adding your improvmx email address as a gmail sender alias
April 03, 2021
Macro Strategic, Micro Spontaneous
May 30, 2020