Build an Online Shop with Claude Code: Happy Coffee
AI summary
- Christian built a complete e-commerce system with order management, subscriptions, analytics, invoices, and affiliate programs using Claude Code without traditional platforms.
- The shop launched on January 31 after four months of additional work beyond the initial October deadline, with February revenue equal to January and no automatic growth.
- Happy Coffee saves approximately 1,000 euros per month in software costs by using self-built infrastructure with PostgreSQL, ClickHouse, and Qdrant instead of Shopify or WooCommerce.
- Three quarters of Happy Coffee customers reorder within 90 days, with many subscribers remaining for over five years based on product quality and smooth service rather than marketing.
Generated with AI, the details are in the article.
Table of contents
I found Christian on LinkedIn and my first thought was: this can't be true. No Shopify, no WooCommerce, no development team. Everything built himself with Claude Code. I work with Claude Code a lot myself, so I wanted to know what that looks like in practice. And above all: what happens afterwards? Does the shop just start growing?
The answer is uncomfortable but honest. That is exactly why this conversation was so good.
Watch the video:
From a 2008 Domain to a Self-Built Shop
Christian did not build Happy Coffee overnight. He bought the domain in 2008, back then as a blogger interested in sustainability and fair trade. Actual sales started in 2015. I like that he took the classic route: content first, then reach, then eventually a business model.
As he explained it to me:
"Back then my idea was to create content somehow. That has two functions: SEO, and you learn a huge amount about the topic when you really dig into it."
That sounds simple, but it is exactly what many people no longer do. Instead of letting AI write the texts, he worked his way into the subject. That helped him in the long run.
The next step was Amazon. Between 2015 and 2017 Happy Coffee grew strongly there, almost month after month. But Amazon has a limit: you never really reach your customers. No subscriptions, no direct relationship, no lifetime business. So Christian built his own shop in parallel.
What followed is a fairly honest story about Shopify, a data protection complaint, WooCommerce and finally the radical decision to throw everything away and rebuild.
Why He Really Left Shopify
I had not seen the reason coming. Christian received a warning from a data protection authority because Shopify used Cloudflare as a CDN at the time. The moment a visitor opened the page, their IP address was sent to a US service. That was enough to trigger an official warning.
So he moved to WooCommerce, where he could host in Germany himself. But he told me openly that he never really liked it:
"You notice it grew out of WordPress. It is old PHP code, super complex. In theory you can do anything, but it is no fun at all."
I know that feeling. I have supported WooCommerce projects myself, and the mix of outdated architecture, plugin chaos and performance problems is wearing. The point where Christian said "I'll just build this myself" made sense to me.
Visibly AI: your SEO copilot
Projects, rankings, Search Console data and a copilot that runs the analysis for you. Start for free.
How to Build a Complete Online Shop with Claude Code
I have to be honest: when Christian first explained what he had built, I had to swallow for a moment. This is no simple landing page. It is a full e-commerce system with:
- Order management and customer accounts
- Subscriptions controlled via WhatsApp
- Its own analytics infrastructure (without Google Analytics)
- ZUGFeRD invoices (XML embedded in PDF)
- Affiliate and referral program
- Employee benefit system with split payment
- Real-time price comparison for coffee machines
- Google Ads automation via API
He is not a programmer. But he helped build a startup as CMO before, and that was his technical base. Everything else he learned over the last few years, with AI as learning partner and implementation tool.
What impressed me: he did not just start coding. He first understood how the infrastructure works. Hosting, databases, CDNs, object storage. Just because Claude Code can write code does not mean you can skip understanding what the code does.
As he put it:
"I did all the groundwork: good UX design, how hosting works, what a CDN is, why I store analytics in ClickHouse instead of PostgreSQL. I am really grateful that AI helped me find the right path."
Go-Live and the Honest Lesson Afterwards
The new shop went live on January 31. In October Christian had thought he was done. Almost four more months of work lay between that thought and the actual launch.
What came next was stability instead of a rocket launch. February made the same revenue as January. Nothing collapsed, but nothing went up either.
This is what I take away from the conversation most:
"A better system does not automatically mean more revenue. Marketing is a separate thing. As a solopreneur: if you do no marketing, where should growth come from?"
He said that himself and did not sugarcoat it. He invested years in the product and not in marketing during that time. That is the price, a strategic one rather than a financial one.
The only direct net effect after launch: around 1,000 euros less software cost per month. That sounds like a lot, and it is, especially in a market where raw material, transport and shipping costs have all risen.
The Product: Why Coffee Works for a Solopreneur
I asked Christian why he chose coffee. A physical, perishable product that needs explaining. His answer came from clear product logic.
His criteria were:
- A consumable that customers reorder regularly
- A basket value of 60 to 70 euros
- No complicated decision on repeat purchases
- Automatable through subscriptions
Coffee meets all of that. He also explained that the target group is decisive. The coffee nerds who buy somewhere else every week and the supermarket shoppers who compare prices are not it. His target group sits in between: people willing to pay for quality, who value sustainability and want a coffee that tastes good without milk and sugar.
That sounds obvious. But I think most e-commerce projects fail exactly here: nobody knows who the product is really for.
Existing Customers and Why They Stay
Three quarters of all Happy Coffee customers reorder within 90 days. Many subscribers have been with him for over five years. That is a strong number.
I asked Christian directly: do you know why they stay?
"The coffee is good. The service is good. And the process is smooth enough that people never start thinking about looking elsewhere."
He also talks to customers on the phone and lists his email address on the website. Customers over 80 call him when they have visitors and need more coffee. That is attitude, not a marketing gimmick.
He also addressed openly that every price increase in recent years led to cancellations. Green coffee, transport and shipping have all become more expensive, and that hits the margins.
The Technical Architecture Behind It
For everyone who wants to know what such a self-built shop looks like under the hood, Christian explained it very openly.
He uses four different databases, each for a different job:
PostgreSQL for everything classic: order data, customer data, content, product data. The standard database.
Qdrant as vector database: it holds cloned versions of blog content and pages. When the customer chatbot receives a question, it searches here for matching knowledge and returns it prepared.
FalkorDB / knowledge graph for relationships: who bought which coffee? With which machine? That creates patterns that can be used for ad messages and product recommendations.
ClickHouse as analytics database: every page view, click, UTM parameter and order is stored in real time. No Google Analytics, no consent banner, no third parties.
The elegant part: via MCP (Model Context Protocol) he can connect Claude directly to these databases and simply ask: "Where did my customers come from today?" The answer arrives as a structured evaluation, not as a table he has to analyze himself.
There is no consent banner on the site because no third-party cookie is set. That is clean from a data protection view and pleasant from a UX view.
Google Ads, SEO and the Question of Growth Channels
What surprised me: Christian is not the type who says "AI does everything on its own". He connected Google Ads through the official API and built his own automation that checks and rates his campaigns daily and makes suggestions. He only has to decide whether to follow them.
The setup took three days. For someone without a classic tech background, that is impressive.
On SEO he sees more clearly than many people I know:
"Traffic is the wrong metric. I don't care whether we rank for chia pudding. I want relevant traffic. And then I want to convert it."
That spoke to me directly, because in SEO projects I often experience it differently. It is about reach, visibility, positions. But rarely about what happens with the traffic once it arrives.
He is now optimizing every blog article individually for conversion, one article at a time. Whoever lands on his site searching for "low-acid coffee" should find a fitting product right there, not just a general text.
He deliberately skipped Meta Ads. Margins in the coffee segment do not cover the first purchase. Without venture capital there is no 12-month pre-financing through ads. That is a clear, data-based decision.
Will AI Make Agencies and Freelancers Obsolete?
Christian answered this one in the most nuanced way. I appreciate that, because it would be easy to say "yes, everything dies" or "no, everything stays".
His view:
Classic agencies that mainly sell bundled knowledge will have a harder time. That knowledge is increasingly available through AI. But getting started is still very hard for many. Anyone who has never seen a terminal, does not know how a database works or does not understand what an API call is needs help. Help with setup and integration is a real service that will be in demand for years.
In his own words:
"I am really further along than many others. But just because I can do it and have done it does not mean others are already there."
I find that important. Working with AI tools a lot myself, I sometimes forget how far the average is still behind.
The Employee Benefit System: An Idea Nobody Knew
One of the ideas that surprised me most: Christian built a system that lets employers finance coffee for their employees as a tax-free benefit in kind. Employers can give up to 50 euros per month tax-free on top of salary.
The system works like this:
- The employer signs up and sets a monthly budget per employee
- The employee receives an invitation and creates their own account
- The subscription runs automatically, the employer budget is used first
- Anything above that is paid by the employee
- The employer receives a collective invoice every 10 days
This is technically complex. Shopify would never build it. Christian built it himself.
The main problem now: nobody is actively waiting for it. He has to explain that it exists, what it is and why it pays off. That is sales, not marketing, and it takes time.
For remote or hybrid teams I find the idea really strong. The employee gets a bag of good coffee at home every month, and the employer pays tax-free. That is more concrete than a fruit basket in the office.
My Key Takeaways from This Conversation
Summing it up, these are the points I noted right away:
1. Technology does not replace marketing. However good the system is: if you only build for years as a solopreneur, you have not marketed for years. That does not catch up on its own.
2. Relevant traffic beats reach. 1,000 visitors with real purchase intent are worth more than 100,000 random clicks. Christian now optimizes article by article for conversion rather than traffic.
3. Your own analytics are possible and clean. No Google Analytics, no consent banner, and still a complete data base. ClickHouse, PostgreSQL and a few days of setup are enough.
4. Existing customers are the foundation. Three quarters of customers reorder within 90 days. Product and service quality are behind that.
5. Vibe coding works with a grasp of the fundamentals. Claude Code writes the code. Anyone who does not understand what is behind it builds on sand.
Conclusion
What I take away from this conversation: the question is not whether you can build a shop yourself. The question is whether you also market it afterwards.
Christian learned both. First the hard part: years of product development, learning by doing, mistakes, detours. Then the insight: a better system drives no growth by itself. You have to push that separately.
What I respect: he did not sugarcoat anything in the conversation. He said clearly what he neglected and what he does differently now.
If you work in e-commerce, deal with AI-assisted development, or simply want to know how a real solopreneur builds a business from the inside, listen to this episode.
And if you like good coffee, visit happycoffee.org.
If you want to talk through your shop or your visibility with me, book an appointment.
Listen to the episode: KI Solopreneur Business mit Onlineshop: Mit Claude Code gebaut mit Christian Häfner
FAQ
Can a non-programmer really build a complete online shop with Claude Code?
Yes, with one important limit: you have to understand what you are building. Christian needed years to learn the basics. Hosting, databases, APIs, design. Claude Code writes the code, but you make the decisions. If you do not want to or cannot do that, Shopify or WooCommerce often serves you better.
What does it cost to run your own shop instead of using Shopify?
Software costs drop sharply. Christian saves around 1,000 euros per month because he no longer needs external tools. In return he invests time. A lot of time. It pays off only from a certain level and if you are willing to dive into the technology.
Is SEO still relevant in the age of ChatGPT and Claude?
Yes. Christian and I agree: people still search for solutions. What changes is which traffic is worth optimizing. Ranking for the wrong keyword gains nothing. Relevant traffic with real purchase intent always beats reach without intent.
How do your own analytics work without Google Analytics?
Christian uses ClickHouse as a database where every click, page view and order is written in real time. Via MCP connection Claude can access this data directly and answer questions like "Where did my customers come from today?" The advantage: no third party, no consent banner, full data control.
What is the employee benefit system at Happy Coffee?
In Germany employers may give employees up to 50 euros per month tax-free as a benefit in kind. Christian built a system that lets companies use this budget directly for coffee subscriptions. The employee gets the coffee delivered at home, the employer pays tax-free, and billing runs automatically. Particularly useful for remote and hybrid teams.
How visible is your brand in ChatGPT and friends?
The AI Check shows you within minutes whether and how AI assistants mention your brand.
