Non-technical user feedback

Hey,
An intro: I know my way around IDEs, I kind of understand the architecture, etc. but I am not a developer however I worked with many, from junior to mega-hyper-stars.

I’ve built an early and primitive version of an app I build previously with no-code tool. The no-code version works well serving its customers but I wanted to take it to the proverbial next level.

My feedback & comments:

  • if you want to get anywhere with Studio, skip the wizard and get to IDE.
  • get the API keys. There is no point in working with anything below 2.5. You will incur costs but, apart from one day when Studio behaved like a software written in the future but running on an Intel 386 which caused multiple unnecessary API calls, I didn’t manage to spend more than £15 a day working 3-4 hours a day. And progressing.
  • Write a brief. Ask AI to prepare an implementation plan with milestones, deliverables, etc. Save it in /docs and refer to it often.
  • quite often the capacity hits the roof and things move slower.
  • ask AI to write unit tests and run them :slight_smile:
  • treat AI as an advanced very confident dev who occasionally makes stupid mistakes.
  • test like crazy, at least the key flows and features. Like after every mid-size change.
  • I am not sure about using airules.md (here), the jury is still out. I will probably use customise it tomorrow and see if there is a material change in quality and behaviour.

Overall, a good start. By the looks of it, the AI version of my app will be significantly better and will allow my users to do more than the no-code version due to no-code, or mine, limitations.

Onwards!

3 Likes

It’s crucial to save snapshots (versions) of your code frequently using Git. This allows you to return to a previous working state if something goes wrong. You can save a snapshot with the command:

git commit -m "Your descriptive message"

For example, using a commit message like "Reached milestone 1: User login working" creates a specific saved point, often called a “commit,” that you can reference later. Think of it as a milestone marker.

If you encounter problems and need to find a specific past version, like your “milestone 1” commit, you can view your project’s history using:

git log

This command displays a list of previous commits, each identified by a unique code (called a “hash,” which looks something like 123fg3452ab...) along with the commit message, author, and date.

To find a commit with a specific phrase in its message (like “milestone1”), you can scroll through the git log output or use a more targeted command:

git log --grep="milestone1"

Once you find the commit you’re interested in, note its unique hash (you usually only need the first 7-10 characters, e.g., 123fg3452).

To temporarily go back and view your code exactly as it was at that specific commit (using its hash), you can use:

git checkout <commit_hash> (Example: git checkout 123fg3452)

This command checks out that exact version of your project files. Important: When you’re finished viewing this older state, remember to switch back to your main line of development, often using a command like git checkout main (or whatever your primary branch is named).

If, instead of just viewing, you need to undo the specific changes that were introduced in a past commit while keeping more recent work, the command git revert <commit_hash> is often used. This creates a new commit that reverses the effects of the specified past commit. (Note: Git itself performs these revert actions, not an external LLM).

Learning the basic Git commands like git commit -m "message", git log, git checkout <hash>, and git revert <hash> is definitely beneficial for managing your code effectively. Hopefully, this explanation helps clarify the process for saving your work and revisiting previous versions if needed.

3 Likes

These are both excellent points!

@Xanax_king - beyond the app’s functionality, how often do you also inspect the code itself?

@Henderson_Hood - we also provide Git integration via the VS Code UI on the left pane, so you have a non-Terminal approach as well in case you might find that useful.

@kirupa - depends on what you mean by “inspect” - I am not a dev, I can fix some basic stuff myself but the whole Studio appeal is that I have a very patient partner by my side to help :slight_smile:

Perfect! That is exactly what I was looking for :grinning_face:

1 Like

Firebase is a powerful platform that helps developers build and improve mobile and web applications