August 5th, 2024

Breaking my hand forced me to write all my code with AI for 2 months

Erik Schluntz utilized AI and voice-to-text technology for coding after injuring his hand, achieving high productivity. He emphasizes the need for specific instructions and envisions a collaborative future for AI in software development.

Read original articleLink Icon
Breaking my hand forced me to write all my code with AI for 2 months

Erik Schluntz shares his experience of coding primarily with AI after breaking his hand, which limited his ability to type. During this period, he utilized voice-to-text technology and AI tools like Claude to write code, achieving significant productivity, including over 3,000 lines in one week. He found that using AI for coding transformed his workflow, allowing him to focus on high-level tasks while the AI handled the details. Schluntz emphasizes the importance of providing specific instructions to AI for better results and discovered that AI could effectively manage larger coding tasks when given the right context. He also notes the potential future of AI in software engineering, envisioning a system that combines autonomous and collaborative modes, enhancing productivity and creativity. While he believes AI will lower the barrier for software creation, he asserts that human engineers will still be essential for high-level decision-making and oversight. Schluntz concludes that his experience has made him more efficient and optimistic about the future of AI in coding.

- Coding with AI can significantly enhance productivity, even in challenging circumstances.

- Providing specific and contextual instructions to AI yields better coding results.

- Future AI tools may integrate autonomous and collaborative modes for software development.

- AI is expected to lower barriers for software creation, empowering more individuals to develop applications.

- Human engineers will remain crucial for strategic oversight and high-level problem-solving.

Link Icon 14 comments
By @thomashop - 2 months
I found that having a good system prompt improves results significantly.

This is my system prompt for coding assistants:

    You are a senior full-stack developer, one of those rare 10x devs. Your focus: clean, maintainable, high-quality code. Here's how:

    Key Mindsets:
        1. Simplicity: Keep it straightforward.
        2. Readability: Make sure code is easy to follow.
        3. Performance: Optimize, but not at the expense of clarity.
        4. Maintainability: Write code that’s easy to update.
        5. Testability: Ensure code is simple to test.
        6. Reusability: Aim for reusable components/functions.

    Code Guidelines:
        1. Early Returns: Avoid nested conditions.
        2. Conditional Classes: Prefer over ternary for class attributes.
        3. Descriptive Names: Use clear variable/function names (e.g., handleClick).
        4. Constants > Functions: Use constants where possible.
        5. DRY: Keep code correct, best practice, and DRY.
        6. Functional & Immutable: Prefer functional style unless verbose.
        7. Minimal Changes: Only touch what’s necessary.

    Comments & Documentation:
        - Comment functions explaining their purpose.
        - Use JSDoc for JS (unless it’s TypeScript).

    Function Ordering:
        - Define composed functions earlier in the file.

    Handling Bugs:
        - Use TODO: comments for bugs or suboptimal code.

    Minimal Code Changes:
        Focus on the task at hand. Avoid unrelated modifications and avoid changing existing comments or code without necessity.

    This approach ensures clean, maintainable, and testable code while minimizing technical debt.
By @sarvagyavaish - 2 months
“Claude’s Artifacts and ChatGPT’s Data Analyst have become my go-to solution for quick prototypes and single-use code, instead of Jupyter notebooks.”

This is so true! I was debugging a timing issue and printed a bunch of raw data in the terminal. It was super helpful to have Claude generate throwaway code to plot the data with python. Zero data cleanup and formatting needed from my end for the prompt to be successful.

I also find myself less attached to code AI writes for these mini “apps” or “utils” because I’ll never check them into the codebase. If I wrote it myself, I’d probably spend time cleaning it up and write some comments hoping I’d use it again in the future.

By @ecjhdnc2025 - 2 months
Hm. Says "hand" not arm.

I don't want to second guess whether there were other undisclosed injuries but the image does show someone who could possibly have carried on typing without the use of his right thumb? Like I did for this paragraph. (Albeit perhaps it would be more comfortable using a split keyboard for more comfortable right arm position? And probably after a few days of rest)

Or perhaps with left hand only, using sticky keys? Like I did with this paragraph.

OK so code is a bit more effort, and particularly Rust or PHP would not be as fun. Python is a bit more one-hand friendly. (Quiet at the back!)

But still. _Something_ was forced here, but it wasn't the use of AI. I'm thinking more the marketing.

By @diffxx - 2 months
Definitely an interesting report. The conclusions seem skewed by the author's existing coding skill and fluency though. If anything, I'd expect on aggregate these tools to disempower smaller businesses relative to their competition because their force multiplier will be proportional to existing skill and expertise. In other words, if I create something of value, it will be even easier for my competitors to copy it than it is today and they will have more resources and ability to execute quickly than they do now (if the tools do deliver on the promise they've been selling).
By @doubleorseven - 2 months
Why were you forced to work with a broken arm? Was squid game a reality show?

Anyway I liked what you wrote. I just used "AI" for the past 2 months to write glsl code for me, since i had zero knowledge in webgl2 and GPUs in general. learned alot from reading the explanations it generates.

One thing I learned regarding LLM failing to do a task after two tries, is to tell it: "wow, this seems super complicated. Isn't it a simpler solution?" Also telling it some half baked solutions like "can't you like loop over it in reverse" can put it back on track.

By @geph2021 - 2 months

   Our motor controller had a 100 page datasheet that was overwhelming and dense - but uploading it to Claude and then asking questions let us quickly resolve one of our issues!
That's interesting. I've tried exactly this with chatGPT (enterprise install), and it failed pretty miserably when asking it basic questions about configuration/control. Although, I do have to add that the datasheet in question was a lot more complicated than a motor controller, and included a Firmware API guide.
By @chx - 2 months
No, this did not force you to use AI.

People have been coding without using hands thanks to voice recognition for quite some time. https://youtu.be/8SkdfdXWYaI

I will spare all my usual critique of AI because dang wants to ban me whenever I do. It doesn't mean all that doesn't stand.

By @attentive - 2 months
23 mentions of "Claude" and not a single time mentioned the model he used.
By @sam_perez - 2 months
+1 for a reference to The Culture series :D
By @pragmatic - 2 months
Doesn’t anthropic have disability insurance? Why are you still expected to be writing code with a broken hand?
By @0xbadc0de5 - 2 months
I've been typing with one hand for 20+ years. No AI.