This month I'm attending a conference for the first time in years. When a friend asked if I'd be bringing business cards, we both wondered if that was still relevant.
How about a digital business card, then? Turns out there are online apps for that, and they charge a monthly fee. They usually include a physical RFID card, a link or a QR code.
A QR code that offers to add a contact card to your phone when scanned? Non-trivial, but it felt doable to implement myself with the current state of coding agents. On the non-functional side, I wanted it to be fully private: local browser storage to save QR codes, and no data sent to the server. I prefer private applications. I am not interested in other people's data, and I do not want to handle or protect it.
Here is the vCard QR Generator online. It lets you create a QR code with the personal data you want to share, and people can scan it to add you as a contact. The QR code updates live as the data changes. It can be downloaded, shared as a URL, include a small icon, and be saved in your browser.
This is what it looks like (all my info in this QR code is public on this site too):

If you want a QR code with your information in a format your phone recognises as a contact card, this works well as far as I can tell. (I only tested scanning on an iPhone.) The supported fields could probably be better. The vCard format does not support every kind of field I wanted. Also, the fields I ended up with are the ones useful to me: Signal (not WhatsApp) and Bluesky (not X). But if you do not want those fields, just skip them and it's still very usable.
Back when I built it, I was experimenting with Opencode-Weave, so I used it for a one-shot implementation. First I created a spec using the grill-me skill by Matt Pocock. (Loads of questions indeed.) The idea was to learn from each one-shot, port what I learned back into the same spec.md, and try again. In total I took four shots. I then iterated on the last one to make it publishable. The conference is in two weeks, and I needed to move on. Each shot took at most one extra step to get things working, which was not too bad. For the final one-shot, I switched from Rust/WASM to TypeScript.
All in all, I am quite happy with the result. Coding agents with capable LLMs can clearly generate useful custom applications. I did get a working version from a one-shot based on a specification, but it is never exactly what you want. So some iteration was necessary and will remain part of any implementation, with or without LLMs. You only learn what an application should actually do or look like once you use it.
I have not opened up the source code repo yet. I was planning to, but I would rather get this post out first. Finishing the repo will take some extra time. If you are interested, let me know and I will share it. (Fully vibe-coded, if that was not clear. Each one-shot is in a branch, and the spec is in a separate branch. I would open it up so people can inspect that it is fully static, although you can see that in your browser too once the page is loaded.)
If you would like some more information, feel free to reach out.
PS: For those interested in Opencode-Weave, I wanted to try a comprehensible orchestrator framework (minus the confusing naming it uses). But most of the implementation stayed on the main orchestrator, which is not what I had hoped for. Meanwhile, I have switched to Pi as my main agent.