Tweet queue

18 queued. Click Post on X to open the composer, then Mark as sent once it's live.

Fri, Jun 19 · past

224/280

I’ve been shipping code daily with AI agents. I review, challenge decisions, and push back on architecture. The bottleneck is still me. And I believe it should be. Automation increases leverage, but you still need a pilot.

Post on X

Mon, Jun 22 · past

271/280

I just discovered `bunx ccusage monthly`. It breaks down what your Claude Code plan is actually worth 📊 Last month mine says $2,918. Either I'm getting my money's worth or I need to log off. Works with codex too, but why would you? 😜 How much did you pull last month?

Post on X

Tue, Jun 23 · past

167/280

Agents are an amplifier, not a magic box. Good design in -> leverage out. Vague specs in -> a mess out, just faster. Your output is still a reflection of your input.

Post on X

Wed, Jun 24 · past

249/280

You don't need all of Rails for its syntactic sugar. ```ruby require "active_support/all" 2.weeks.ago # => yes, you can do this! "hello_world".camelize # => "HelloWorld" [1, 2, 3].second # => 2 ``` Just require ActiveSupport ✨

Post on X

Fri, Jun 26 · past

231/280

Bad architecture used to slow you down immediately. Now, AI agents can plow through bad design and keep shipping. But they don't solve the debt - they just mask it. The interest is still accruing, and it will eventually block you.

Post on X

Mon, Jun 29 · past

203/280

Freelance dev pricing is a double-edged sword: - Fixed scope project: Scope changes eat your margin. - Hourly rate: You get punished for being fast. Neither is clean. Curious what's working for others.

Post on X

Thu, Jul 2 · past

246/280

Every time a project of mine went sideways in the first week, it wasn't the code. It was because the client and I had different definitions of 'done'. Now, we don't write a line of code until we align on the exact user flow and success metrics.

Post on X

Fri, Jul 3 · past

233/280

I deploy most small client Rails apps to a single $5 Hetzner VPS. Kamal for deployment, SQLite for local storage, and automated deployments with GitHub Actions. https://antelo.io/blog/automatic-deploys-with-kamal-and-github-actions

Post on X

Sat, Jul 4 · past

288/280

Ripped Google OAuth out of my @rails app. Went passwordless. No auth gem, no tokens table. ActiveSupport::MessageVerifier signs your email into a magic link that expires in 15 minutes, and clicking it signs you in. So much less code to maintain, and absolutely no state to persist 🧘🏻‍♀️

Post on X

Sun, Jul 5 · past

372/280

One global rescue_from turns any invalid record into a friendly redirect: rescue_from ActiveRecord::RecordInvalid do |e| redirect_back_or_to root_path, alert: e.record.errors.full_messages.to_sentence end Now my controllers are super clean: def create current_user.projects.create!(project_params) redirect_to projects_path end I love @rails for stuff like this.

Post on X

Sun, Jul 5 · past

311/280

Found a quiet auth footgun in my Rails app. The session cookie had no `expire_after`, and my Kamal deploy relied on implicit `secret_key_base` resolution. I fixed it with two explicit lines: - `expire_after: 30.days` - `SECRET_KEY_BASE` injected at deploy time Deploys should not feel like sign out buttons.

Post on X

Mon, Jul 6 · past

270/280

The bottleneck in PRs isn't review quality - it's how long reviews take. While humans suffer on context switching, that's where LLMs prevail. They should be doing the heavy work. When humans step in, they should only focus on architectural decisions and overall taste.

Post on X

Tue, Jul 7 · past

334/280

Ran into a weird Kamal race condition: health check passes, but SSL cert provisioning fails on the first deploy. Everything in the console looks green, but the site shows an HTTPS error to visitors. Always test SSL independently right after a fresh deploy to a new domain. Full breakdown: https://antelo.io/blog/kamal-in-production

Post on X

Wed, Jul 8 · past

302/280

Every background job should answer two questions: 1. What happens if it runs twice? 2. What happens if it fails halfway? If the answer to either is "bad things", you don't have a background job. You have a time bomb. Write idempotent jobs. Safe to retry, safe to deploy into, safe to be wrong about.

Post on X

Thu, Jul 9 · past

232/280

I keep a separate git worktree for every feature built with Claude Code. To speed things up, I wrote a `/merge` skill that runs `bin/ci` locally, opens the PR, and squash-merges it. No waiting on remote CI. Shipping takes seconds.

Post on X

Fri, Jul 10 · past

322/280

Most of what burns through your Claude Code usage cap isn't the LLM thinking. It's the output it receives. A single `ps aux` command dumps 61K tokens of 99% noise. A massive git diff burns thousands more. The model doesn't need the firehose. Filter your inputs. https://antelo.io/blog/getting-the-most-out-of-claude-max

Post on X

Sat, Jul 11 · past

412/280

An N+1 query is easy to write and easy to miss. Page loads fine with 3 records. Then an account shows up with 300 and fires 300 queries. Nothing breaks, it's just slow. The Bullet gem makes it loud. I configure it to raise exceptions in both dev and test so I can copy-paste the error straight into Claude Code. CI won't let one through. Full setup: https://antelo.io/blog/catch-n-plus-one-queries-with-bullet

Post on X

Sat, Jul 11 · past

511/280

I used to deploy my @rails app from my laptop. Docker running, right machine, me at the keyboard. Now merging to main does it. GitHub Actions builds the image, pushes to GHCR, Kamal ships it to @hetzner_online, and Telegram pings me when it's live. One thing I got right: build on the runner, not the prod box. Your server has better things to do than compile assets while serving traffic. Merge is the deploy button now. Full write-up: https://antelo.io/blog/automatic-deploys-with-kamal-and-github-actions

Post on X