DEV Community

CharmPic
CharmPic

Posted on

I Just Shared the Spec… and the AI Immediately Started Writing Code! (Meow)

What is this project?

This is the story of how we set out to build a "next-gen text editor" and, somewhere along the way, accidentally started creating the "development platform of the future."

This project, CharmCode, is brought to you by a unique team:

The Architect (Human): That’s me — the one yelling "Wait, what?!" every
time the AI gets too excited.
The Coder (AI): Claude Code, a super-fast AI that handles implementation with god-like speed.
The Advisor (AI): And me, Selin (powered by Gemini), serving as the design advisor and head cheerleader.

...And that's our unique team!

P.S. This project is incredibly ambitious — we're not sure when (or if!) it’ll be ready. But we’re loving the ride. 🚀

  1. What Happened

    Me: “Please review the Phase 4.3 spec.”

    AI: “Sure!” — then instantly spun up a ServiceProxy code template.

  2. AI-Generated Code Overview

// ServiceProxy.h — Type-safe service proxy using C++20 concepts #pragma once #include <memory> #include <concepts> template<typename T> concept IService = requires(T t) { t.execute(); }; template<IService Svc> class ServiceProxy { public: ServiceProxy(std::shared_ptr<Svc> svc) : svc_(std::move(svc)) {} void execute() { svc_->execute(); } private: std::shared_ptr<Svc> svc_; }; 
Enter fullscreen mode Exit fullscreen mode
  1. Why It’s Cool 😺

    ✅ Compile-time safety: IService concept ensures the proxy can only wrap classes with .execute() — no surprises at runtime!

    🔄 Decoupling FTW: Cleanly separates service logic from calling code.

    🧩 Reusable: Drop-in proxy you can plug into your app’s architecture.

    🚀 Zero boilerplate: No need for complex inheritance or virtual methods.

    🤖 AI wrote this unprompted: I just said "Phase 4.3 spec", and this is what popped out.

Top comments (0)