DEV Community

CharmPic
CharmPic

Posted on

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

Image description

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)