Remix.run Logo
rhubarbtree 3 days ago

What tool do you use, which languages? Could you give us an example of something you’ve built and how you did it 25 times faster?

oblio 3 days ago | parent | next [-]

You'd be surprised what you can do with Claude Code. Pick any mature programming language, including niche ones like Ada and treat the project seriously. Write detailed agent files, features spec files, start from the bottom with CI/CD and set up a test suite, coding guidelines, static analysis. Be careful to create a consistent architecture and code base early.

You'll get a lot further and faster than you'd expect.

Things will probably plateau as you master the new tech, but it's possible you'll not write a ton of code manually along the way.

Oh, your general software development experience should help with debugging the weird corner cases.

I imagine it's really hard to do this with 0 software dev experience, for example. Yeah, you'll build some simple things but you'll need and entire tech education to put anything complex in prod.

rhubarbtree a day ago | parent | next [-]

Challenge accepted. I’m expert in Ada 95, I will see how it does.

nunobrito 2 days ago | parent | prev [-]

That is correct. I'm able to steer the project and find many of the issues because of experience. Also, it is indeed a new tool so is necessary to change our own mentality about the way how code is created (generated). In overall it is fantastic despite the occasional frustration when the computer hangs (too many compilers at the same time) or when AI gets lazy and tries to avoid implementing what it was asked.

nunobrito 3 days ago | parent | prev | next [-]

Using Claude code Pro with a maxed subscription and ChatGPT Codex with the business subscription.

The code is written in Dart and never wrote a line of DART in my life, I'm a veteran expert around Java, C++. The reason for choosing DART is simply because it is way readier for multi-platform contexts than Java/C++. The same code base now runs on Linux, Android, iOS, OSX, Windows and Web (as static HTML). Plus the companion code in C++ for ESP32 microcontrollers. It also includes a CLI for running as linux server.

Don't ask me for a hard analysis and data proving x25 performance increase, what I know is that an off-grid product was previously taking me two years of research/effort to build in Android/Web and get a prototype running. Now in about a month went far above all previous expectations (cached maps with satellite imagery, bluetooth mesh, webRTC, whatever apps) and was able to release a product several times per day that works as envisioned. Iterating quickly and getting direct feedback from users.

The repository: https://github.com/geograms/geogram

Overview of the apps being written: https://github.com/geograms/geogram/tree/main/docs/apps

IMHO, Codex is far superior at the moment for complex tasks, Claude is cheaper and still good enough quality for most tasks. In addition to keep several terminals with tasks in parallel, this gives me time throughout the day for other tasks with family/friends and a lot of motivation like a coding-buddy to try different routes and quickly implement a prototype instead of always being alone doing this kind of work. For example, it added an offline GPT bot but wasn't what was needed so could quickly discard it too.

These tools get lost on API implementations and the documentation folder is mostly there to provide the right context when needed. I've learned to use simple markdown documents with things to keep in mind like "reusable.md" or "API.md" to make sure it won't reinvent them. Given my experience, there are parts that I'd implement with higher quality on my own, the trade-off is that I can't touch the code by myself now. One of the reasons is that it would make more difficult for these AI to work since my naming and file structure would make it difficult for the AI to work with, the other reason is because I don't want to waste a full day on a single problem like before. As the product grows more stable is when more attention is given to the finer details. On early stages, that type of quality is still more than good enough for me.

You can try the Android or Linux versions if you are so inclined. Never in my life would I ever be able to build so much in 5 weeks.

FEELmyAGI 3 days ago | parent | next [-]

Would you describe this product as a whole application suite (blogging, calendar, commerce) plus its own backend infrastructure that is capable of serving these apps to the public internet and functioning offline via ad-hoc wireless peer-to-peer, with a cryptographic layer providing identity, security and censorship resistance, and that runs on phone, laptop or raspberry pi?

Quite ambitious.

Is this an LLM hallucinating? taking a break from coding? or leaking your personal desktop session?

https://github.com/geograms/geogram/blob/main/.cli_history

nunobrito 2 days ago | parent | next [-]

> leaking your personal desktop session?

I've answered in more detail on the other reply below on the conversation. Thank you for spotting that.

> Would you describe this product as a whole application suite

The rabbit hole goes even further. The reason why callsigns are used is because geogram can happily communicate using radio-waves on walkie-talkies without internet at all. On the previous iterations (before AI) it was sending free SMS using walkie-talkies and satellites (APRS), this current incarnation should soon be doing the same things too. A presentation from two months ago: https://www.youtube.com/watch?v=Nb_VUSaNw8k

This is a niche app, written for our community in Portugal to connect with each other.

NitpickLawyer 3 days ago | parent | prev [-]

> Is this an LLM hallucinating? taking a break from coding? or leaking your personal desktop session?

Ha! In any case, I'm happy to see I'm not the only one compulsively "ls-ing" all over the place in every terminal I open :)

nunobrito 2 days ago | parent [-]

Thank you for the concern, I've checked and that is the CLI history file that is used on the linux server.

Had some fun and added some CLI dungeon and dragon games inside. Will put that file on the .ignore list. Basically the games are based on markdown text files: https://github.com/geograms/geogram/blob/main/games/azurath-...

ccoreilly 2 days ago | parent | prev [-]

Would you say you’re able to draw a diagram of the application architecture out of your head or do you treat it as a black box? Do you need an AI to debug issues or not? In my experience with spec driven development, even if reviewing every single PR, it is hard to develop a mental model of the codebase structure unless you invest on it. It might be fine to treat it as a black box, not arguing the opposite but will all software be a black box in the future?

nunobrito 2 days ago | parent [-]

For a completely new project it is a high risk. While the AI is fantastic at brainstorming and writing detailed architecture, it is difficult to get the "big picture" and even more difficult to verify that it is being done correctly or which things can be improved/reused, because on this situation you don't look into the code.

I don't believe people will spend time looking at the code beyond the small blurbs they can read from the command line while talking with the AI, so I agree with you that it ends being treated as a blackbox.

Did an experiment for a server implementation in Java (my strong language), gave the usual instructions and built up the server. When I went to look into the code, it was a far smaller and more concise code base than what I would write myself. AI is treating programming language on the level of a compiler for javascript, it will make the instructions super efficient and uses techniques that on my 30 years experience I'm not able to pair-review because we tend to have our own patterns of programming while these tools use everything, no matter how exotic they will use it to their advantage.

After that experience I don't look at generated source code any longer. For me it is becoming the same as trying to look at compiled binary data.

3 days ago | parent | prev [-]
[deleted]