louwers.dev

Tech Weekend in Berlin

I work remotely. That means long days alone behind my computer. It can get a bit lonely sometimes. So I really like to go out there and build in-person connections whenever I get the chance. The perfect opportunity presented itself this weekend.

Dave: The Man, The Myth, The Legend

Last year, at State of the Map Europe in Dundee I met Dave. He is a fascinating guy. He loves MapLibre and created an app called Tour de Orange Juice to share bike/hike tours, pictures and even 3D scans on a map (see for example this map). It was just him and his girlfriend using this app (it doesn't get more small web than this), but I am proud to have become the third user.

Dave was kind enough to let me into his house, introduce me to the sport of frisbee, let me join a jam session with his friend Josh, tour me around the city and put up with my sudden fascination of the wild and weird Berlin party scene[1]. Dave if you're reading this, thank you.

Dave in front of a Späti

Dave in front of a Späti

DWeb

Aside from getting to know Dave better, I wanted to learn more about DWeb. I met the DWeb folks at FOSDEM last January. They are a community of hackers pursuing a decentralized web under a set of principles that definitely resonate with me[2].

Here in Berlin I visited a DWeb unconference held at c-base. One of the main goals was preparing for DWeb Camp, a yearly gathering held for the first time in Europe this Summer. If you are interested in participating (July 8-12, 2026), see the slide below. I plan to give a workshop there to teach people how to create self-contained maps with an open source stack (Planetiler, MapLibre, PMTiles). I think it is mind-blowing how easy this has become. This knowledge needs to be spread far and wide.

Democratizing App Building

Together with Liz Sweigart I led a session on democratizing app building. The basic idea is that thanks to LLMs building apps is now cheaper and more accessible than ever. The question is: how can we bring app development to the masses in a way that is user-respecting (e.g. no vendor lock-in and other shenanigans) and takes into account the shadow side of LLMs?

Brewster Kahle, founder of the Internet Archive, joined the discussion. He shared his vision of public AI. The huge capex of large AI firms may lead you to the depressing conclusion that LLMs are a technology that only large private enterprises can build and operate. Brewster is bullish that hackers will do what hackers do best and make it cheaper to the point where this is no longer the case.

When I pitched my session idea, Liz told me: what you're describing exists and it is called Shakespeare.diy. It is open source (AGPL) and it does not have a strong dependency on a particular backend. You can bring your own LLM API, deploy your app where you want it. Your app is even bundled completely in the browser. To avoid depending on Node.js[3], it re-implements a subset of npm for installing dependencies and it uses esbuild-wasm for bundling[4].

I have actually been thinking about and tinkering with the AI app builder idea. Shakespeare.diy ticks a lot of boxes, but I have some problems with it that I also have with all the proprietary offerings out there that I tried:

  1. I do not think generating complicated sprawling codebases with many files is a good idea. The resulting codebase may be 'good' from a software engineering perspective; LLMs are not software engineers.

    You may be able to ‘one shot’ a functioning codebase this way; making changes with an LLM will be harder. It is doable if you are a programmer, and can nudge the LLM towards a solution, but I am interested in AI app builders for the non-technical masses. That means hiding the code by default.

    In my experience it helps if you put everything in one file. My philosophy is: dumb down the generated code as much as you can. This way LLMs can much more reliably make subsequent changes to the app.

  2. The persistence story. I want to be able to access app data from multiple devices and not worry about losing it (localStorage and friends are not an option). I want to share access to my app's data. And I want to own my data. It needs to be stored in an open format that I can easily export.

I think I have a solution for these problems, and I will share about it in a follow-up post.

Dave, by the way, thinks building an AI app builder is a bad idea. There is a lot of competition in this space, from players that have way better infrastructure and very deep pockets. Why would anyone use what some scrappy developer built? Dave should consider becoming a venture capitalist. It is a great question.

The answer is: I think the competition is not doing a very good job. I am not impressed by the stuff companies with 100+ million dollar valuations built. They are overcomplicating the generated code and fell for the hype that LLMs are good software engineers. I could be wrong. You bet I will try to find out.

Random Berlin Impressions

I have been living in Germany since 2020, but I had never visited the illustrious capital of the country before. Here are some of my impressions.


  1. To be explored next time I am in town. Apparently many clubs have a strict dress code. It needs some serious preparation. ↩︎

  2. Despite being first-deep into some highly centralized platforms like Google and GitHub. ↩︎

  3. You can run Node.js in the browser, but you need a proprietary library called WebContainers from StackBlitz. ↩︎

  4. You could use a CDN for dependencies. CDNs are quite easy to replace. However, for some JavaScript packages, you really need a bundler. ↩︎