From Vibe to Vision Coding
A Grounded Approach to AI-Assisted Software Development for the Social Economy
I want us to build what we need.
The hype and doomsaying around AI-assisted coding feels familiar from past tech cycles, and recent conversations are inspiring me to share an approach to how we might apply new tools with care.
I believe there’s room – and real need – for a different kind of software practice: grounded, responsible, and optimized for small-scale, high-impact uses. Apps, sites, and tools that serve 100–1,000 people, not millions (until they scale horizontally). Software that supports mutual aid groups, care networks, artist collectives, and local organizations and co-ops. Relational technology that supports the scale of real community. “Vision coding” that’s human-guided, community-rooted software development for the social economy.
So, how do we build that software responsibly? Here’s the strategy a group of us are developing and building processes and tooling around. (If it would be useful, I’d be happy to turn this into a series and dive into each of these areas with examples – please let me know!)
1. Reusable, Open Components
We’re building and sharing modular code components across our builder community. These are simple, well-documented blocks that make it easier to remix and reuse trusted patterns, improving quality without reinventing the wheel every time.
2. Transparent Code
When it’s safe to do so, what we build gets pushed to GitHub – not just for hosting, but to invite open critique, analysis, and collaboration. This lets us catch issues early and build a culture of sharing, visibility, trust, and community care for our code.
3. Lightweight Code Quality Systems
We use tools like Cursor to run code reviews and enforce community-agreed standards. This is not about perfection; it’s about making obvious mistakes harder to miss and good habits easier to keep. We will create a community knowledge base as we go. This is software work as care work.
4. Community Red Teaming
Instead of waiting for problems to emerge in the wild, we challenge each other to break things on purpose. We’re developing red-teaming practices – and in the future, open-source tools – to help builders test and question and improve important code with care. We take seriously the role of strengthening social infrastructure that people rely on.
5. Right-Sized Deployments
We don’t scale prematurely, and usually aren’t aiming to scale vertically. We build small, test in real contexts, and prioritize “remixability” over expansion. If something works beautifully for 50 people, that’s a success at the right scale.
Yes, there’s messy AI code out there. But dismissing all AI-assisted building as ‘slop’ misses the deeper shift: people without traditional credentials are creating tools for their communities. This is “homegrown” digital infrastructure that emerges from places where people live together.
We can call this vision coding because vision is what humans hold and evolve – in deep relationship with ourselves, other people, and our environment. We have to nurture our world-building muscles alongside our new software superpowers.
I’m hopeful this approach can bring new tools into our toolkit – on our terms. Let’s keep building what we need.
Josh, this just came up in my feed. I like your strategy. I think the idea of treating AI development in the same way as any cradle to cradle designed product makes implicit sense (reduce, reuse, recycle, build for durability and maximal flexibility and parts interoperability) And decentralizing the toolset and giving ordinary non-technical civilians (ie me) some ability to work with these very powerful tools is going to be critical to break the economics of centralized, transaction based top down control. Josh
Josh, I always appreciate and am deeply aligned with your language and framing. You are naturally several steps ahead of me where you are focused and I am not, but I always find that you are in the same direction and path I am taking myself, so I consistently find it easy and valuable to take up and align with your approaches and framing. By leapfrogging with each other into the future we can move farther and faster than we do alone.
This case is no different, especially for carrying forward our shared commitment to and passion for global and local technology autonomy and capabilities for all - removing all friction we can from equitable ubiquity of local perspectives and the powerful emergent innovation that can result. From my perspective, this language and strategy is a 'future-framing' of the fundamental values and opportunity of the open source approaches to strengthening and supporting global and local capabilities we have always aligned on for the opportunities and challenges of the age of AI. Please help lift my eyes higher if I am missing a key nuance in this understanding and interpretation.
If that resonates, I am excited and delighted to take up and amplify this language as a strong, future-facing position on the future of open source approaches and responsible AI-assisted 'vibe coding' (with full attribution of course!) I would love to join you and your collaborators in this work and support Medic to serve as an exemplar and living laboratory for these strategies and approaches. Building forward together will be important and valuable not only for the CHT Community, but also for our larger community of global health digital public goods and the larger multisectoral ecosystem of DPGs. I look forward to your presentation to the CHT Community tomorrow as a next step!
+@Andra - I would love to hear your thoughts here as well if you are comfortable sharing them -and from others in Medic and the CHT Community as you all read this post and comments. This is a strong and important way forward that we can all lean into, explore and support together.