Blog
Notes from building.
Case studies, architecture decisions, and short notes from the workshop floor.
- Notes
Alertmanager to Nextcloud Talk: Wiring a Retry Loop in Python
Two repos, two commits, and one problem worth the time: teaching a Prometheus webhook bridge to retry failed Nextcloud Talk deliveries without losing alerts.
- kubernetes for apps
- alertmanager-talk-bridge
- prometheus
- nextcloud
- build-in-public
- solo-developer
- Notes
Static-First Costs: The Refresh I Keep Doing by Hand
Two commits this week. A static site needed another manual data refresh, and I still haven't built the pipeline that would fix that.
- software architecture
- astro
- build-in-public
- static-site
- solo-developer
- Notes
Civo Cloud Manager: Guide Pages, Keyword Cannibalism, and a Slow Week
Six guide pages across 16 locales and a keyword cannibalism fix. This is what a thin week looks like when you work alone.
- macos app development
- civo-cloud-manager
- astro
- seo
- build-in-public
- Article
Civo Cloud Manager: 16 Languages, a New Icon, and a Paywall
This week I shipped a seven-day free trial, localized Civo Cloud Manager into 16 languages, and rebuilt the marketing site from scratch. Here is what that actually involved.
- macos app development
- civo-cloud-manager
- swift
- swiftui
- build-in-public
- localization
- Notes
One Commit, One Small Site: What a Quiet Week Teaches You
One commit this week: a data refresh on a small static site. What a slow week looks like from the inside of a one-person shop.
- hire app developer
- build-in-public
- astro
- static-site
- solo-developer
- Article
From Newsletter to Booking: One Week, Four Sites
This week I ripped out newsletter sign-up forms across four sites and replaced them with an embedded Cal.com booking calendar. Why I did it, and how.
- custom app development
- theapparchitect
- marcelrgberger
- astro
- build-in-public
- cal-com
- Article
Building a Podcast Generator That Learns What I Actually Need
This week I rebuilt nblm-podcast-gen from a static topic pool into a self-updating pipeline that synthesizes fresh themes daily from my own work history.
- hire app developer
- nblm-podcast-gen
- automation
- build-in-public
- software architecture
- podcast-automation
- Notes
The Punctuation Edit: Why I Rewrote the Tone Across Three Sites
Four commits this week and one editorial call that touched every site I own: why replacing em-dashes matters more than it sounds.
- hire app developer
- build-in-public
- theapparchitect
- astro
- copywriting
- content
- Article
Proof That Converts: Fixing the Stats Across Three Sites
GitHub stars don't close deals. This week I replaced weak social-proof numbers with concrete shipping evidence across theapparchitect.com and two related sites.
- custom app development
- theapparchitect
- macos app development
- astro
- build-in-public
- conversion
- Article
theapparchitect.com: A Full Funnel Rebuild in One Day
Nineteen commits, one day: how I restructured theapparchitect.com around consultation booking, rewrote the pricing architecture, and why I moved prices off my GitHub profile.
- custom app development
- theapparchitect
- astro
- seo
- build-in-public
- conversion
- Notes
One Commit, One Autopost: What Showing Up Every Week Actually Means
One autopost commit this week. What an empty GitHub graph means for a solo developer, and why consistency is the signal clients actually read.
- hire app developer
- build-in-public
- theapparchitect
- solo-developer
- astro
- Notes
Sommelio Is Live: iOS and Android, No Play Store Link Required
Sommelio shipped this week on iOS and Android: what changed on the project cards, what got quietly dropped, and what comes next.
- ios development
- sommelio
- android
- build-in-public
- astro
- portfolio
- Notes
Software Architecture Decisions I Made Without Writing a Line of Code
One commit this week, and it was an autopost. What a quiet week looks like for a solo developer, and why that is sometimes exactly right.
- software architecture
- build-in-public
- theapparchitect
- solo-developer
- astro
- Notes
Sommelio Hits TestFlight: 95% Done and a New Project Appears
Sommelio is at 95% and live in TestFlight. This week I updated the project cards on both sites and quietly added DokuAI to the roster.
- ios development
- sommelio
- dokuai
- testflight
- build-in-public
- astro
- Notes
camera-s3-stream: Fixing a Silent Failure in My Home Security System
Two commits, one subtle liveness bug. How tying a heartbeat to new footage instead of rclone's exit code made my home camera system reliable.
- ios development
- camera-s3-stream
- docker
- security
- build-in-public
- shell
- Article
theapparchitect.com: A Week of Structured Data and SEO Surgery
Eleven commits, two sites, one broken scroll bar: a week of structured data, buyer-intent pages, and JSON-LD rewrites on theapparchitect.com.
- custom app development
- theapparchitect
- seo
- structured-data
- astro
- build-in-public
- Article
Silent Upload Failures and CivoCloudManager 2.1.1
A silent-failure bug in my camera upload loop, how I closed the monitoring gap, and a small CivoCloudManager 2.1.1 maintenance release.
- custom app development
- camera-s3-stream
- reliability
- macos app development
- civo-cloud-manager
- Article
Agency, freelancer, or solo architect? A comparison table
Three vendor models, three sets of incentives. What each costs, what each delivers, and how to tell which one fits your project before you sign.
- vendor-selection
- pricing
- fixed-price
- decision
- Article
AutoBrew v2.5: Three Releases, 48 Hours, One Layout Bug
AutoBrew shipped v2.5.0, v2.5.1, and v2.5.2 inside 48 hours. Retry backoff, disk-aware snapshots, a layout fix, and a dead-code sweep: Swift development in real time.
- swift development
- autobrew
- macos
- swiftui
- build-in-public
- homebrew
- Article
MVP or full production app: which one do you actually need?
An MVP costs a third of a full app and ships in a quarter of the time. The honest answer on when it's the right move, when it isn't, and how to decide before you commit to a budget.
- mvp
- pricing
- fixed-price
- decision
- Case Study
AutoBrew v2.4: Snapshots, CLI, and a Signing Fight
AutoBrew v2.4 landed this week with pre-upgrade snapshots, a URL-scheme CLI, and a brew doctor health view. Also: an Apple signing rabbit hole I didn't see coming.
- macos app development
- autobrew
- swift
- homebrew
- swiftui
- build-in-public
- Notes
May 2026: what shipped
Short log of what went live this month across my own apps and the open-source tools.
- changelog
- snapshots
- dokuai
- civocloudmanager
- Article
Why I bet on Quarkus for SMB app backends
Picking the backend stack for a custom app is a 5-year decision. Here is why Quarkus on Kubernetes keeps winning over the obvious Node and Spring picks for the apps I build.
- architecture
- quarkus
- java
- backend
- Article
What drives the price of an app? The cost factors in detail
A first version starts from $27,800. A market-ready iOS and Android app with backend starts from $83,300. What that money actually buys, what moves the price, and what you should refuse to pay for.
- pricing
- mvp
- fixed-price
- app cost
- Case Study
How I built DokuAI, and why the pattern works for your business
A field-team app that turns site voice memos into structured reports. Six Quarkus microservices, one Flutter app, six weeks to a usable v1. The architecture pattern I sell.
- case-study
- custom app development
- ios development
- quarkus
- kafka
- dokuai
- Article
SnapShots: the engagement-loop architecture behind a daily photo quiz
A photo-recognition quiz, Flutter on the front, Quarkus on the back. The architecture pattern for any app that lives or dies by daily return visits.
- article
- custom app development
- flutter
- engagement
- snapshots
- Case Study
CivoCloudManager: building a native Civo client in public
A free, native macOS app for Civo Cloud. Built in public for the Civo community. Swift 6, SwiftUI, zero dependencies, open roadmap.
- case-study
- build-in-public
- civo
- kubernetes
- macos
- swift