Two sites, one operator
I shipped a second site this month. floeberg.com, a different voice and a narrower lane, for the consulting work this place was never going to do. Notes on the brand split, the wedge, and the hand-off between the two.
I shipped a second site this month: floeberg.com. Different brand, different reader, different work. Same operator.
A few friends asked why I didn't just put the consulting work on danoh.com. Fair question. Here is the answer.
One channel cannot do two jobs
danoh.com is personal. I write about AI, the craft of building, what I am reading, decisions I am rethinking out loud. The blog you are on. The desktop you came in through. It is a portfolio in the literal sense, a folder of things I made and some thoughts about why I made them.
That works for me. It does not work for someone trying to hire me to harden a production LLM stack against prompt injection.
The signals a buyer of that work needs are the opposite of what makes a personal site readable. They want fixed scope, public methodology, a list of artifacts, exactly what shows up at the end of two weeks. They do not want to scroll past my opinion of a record I am into, find the Minesweeper game, and triangulate whether I am serious.
So one site could not do both. The voice that works for posts about Rive embeds and what I am thinking about is a different voice from one that says "here is a fixed-price two-week audit of your production AI stack, signed work, scoped deliverable, here is the build log from the last engagement." Different register. Different reader.
The wedge
I keep seeing the same pattern in AI-era teams.
Everyone ships fast on top of LLMs. The product layer is impressive. The model layer is impressive. The five inches of glass between the user and the model are polished.
Below the waterline: security depth, platform architecture, cost behavior, observability. The foundational layer that decides whether the product survives eighteen months without an incident, a budget blowup, or a "we need to rip this out and rebuild" moment.
Big consulting firms can do that work but they are slow and expensive and they do not actually ship AI. The new AI-native shops can stand up a vector store but ask them about prompt-injection threat models for your tool-use surface and you get vibes. There is a real gap between "we move fast" and "we move fast without setting the boat on fire."
Floeberg works there. Three scoped engagements, two weeks each, fixed price, public scope, written deliverable. If you want the details: floeberg.com.
How the split actually works
danoh.com is where I do volume. Range, taste, presence. Posts here, the OS desktop, what I am listening to and reading, the things I am wrong about and rethinking out loud. Trust at scale.
Floeberg is where I do depth. Quarterly essays. A build log per engagement. A yearly state-of-the-depth-layer piece. Infrequent, heavy artifacts. Owned site, low-frequency newsletter, GitHub for open tools.
The hand-off is the part I had to think about. danoh.com publishes the lessons. Floeberg ships the work. A reader who finds my writing here and wants the depth-layer version hires Floeberg. Floeberg never tries to be funny, opinionated, or lifestyle. danoh.com never tries to sell audits.
The two sites have different fonts, different colors, different cadence, different rituals. danoh.com is warm and ranges wide. Floeberg is cold-blooded and stays narrow. Same operator. Two channels. Each one allowed to be excellent at one thing.
Why this post exists here
I am writing this on danoh.com because brand decisions are personal, and this is where my personal decisions get written down. A reader who came in through Floeberg looking for an audit will never see this post. A reader who came in here and now wonders what the work side of my life looks like: that lives at floeberg.com, and the front door is the audits page.
I publish the lesson here. The work goes there.
© 2026 Daniel Oh · danoh.com/blog/two-sites-one-operator