Hi HN! I'm working on codeamigo.dev, a project designed to help developers learn coding topics interactively.
Codeamigo is a "decentralized" codecademy. Anyone can create lessons on any topic they wish. For now, I plan on approving the lessons before they are published. I believe that we have amazing educators in our community and that learning interactively is more efficient and enjoyable than through blog posts or videos.
Each lesson is made up of steps, and each step is made up of checkpoints. A checkpoint is one or more jest tests that run in the browser against the user's code.
For now, the app only supports JavaScript, but I hope to expand that offering in the future to more languages.
I look forward to any and all of this communities feedback!
I'll definitely work on lowering the barrier to entry, currently sign up is required to save any edits you make to any lessons you create/take. Clearly this isn't ideal for playing around though.
HN'ers don't like Show HNs that don't have any demos/samples without a login. You should at least let us see one tutorial without login/signup even if you don't us to create one without login.
As others have said, every other request is a 504 at the moment.
But for the platform itself-- pretty cool that you have file separations and visual renderings, going beyond simple code execution. I like it. I tried build something similar on algodaily.com a while back, but found that my audience wasn't that interested in creating tutorials.
Some feedback:
1) I wasn't immediately sure there were multiple steps at first.
2) Execution time is a bit slow.
3) I was monitoring the network calls and saw no requests when code executed -- are you doing this in the client? Just a heads up that there's some security vulnerabilities to be aware of.
4) The UI could use some polishing. Maybe look for a color palette that blends colors together better.
Thanks for the feedback! I was also interviewing a few months ago and really loved the interactive learning platform Codecademy offers. However, I really wanted to know who my teachers were so I could pick and choose the ones I liked. That got me thinking about this project.
This is really cool! I could see something like this being really useful for formal education too. I took a couple courses that had "test case based" projects in college and I feel something like this could be a good tool for that niche.
This is quite cool, just out of curiosity, are you planning to keep this to exclusively coding topics and skills or to also include other CS related topics too? I have a lesson I built in Jupyter Notebooks about ciphers for example, it uses code to walk through some ideas and concepts of how they work. Would you see these types of lessons as a part of the platform?
Hi tuanacelik! Yes I definitely see any and all topics being part of the platform. The idea is to create a generic structure (i.e a lesson has steps, steps have checkpoints, checkpoints have tests). Beyond that anyone is free to create a lesson for anything they're interested in. In fact, I'm sure that lessons will be created on topics I have never even heard of.
I am a beginner React developer. Currently I learn by working on my own project and reading docs.
It occurred to me that you have a working app, presumably written in React. (Actually Tic Tac Toe lesson is not working for me right now, but that is beside the point).
If some of the Codeamigo code were presented as a lesson, it could serve two purposes. To help me learn React and to see in context a working app where the lesson's code has been implemented. It needn't be all of it, just those points you feel might be most instructive. Presumably you wouldn't do that if you are planning to keep the app closed source. Hence my question.
If you're interested in helping out definitely email me at the email in my profile, and please do let me know what isn't working with regards to the React tic-tac-toe lesson!
Each lesson is made up of steps, and each step is made up of checkpoints. A checkpoint is one or more jest tests that run in the browser against the user's code.
For now, the app only supports JavaScript, but I hope to expand that offering in the future to more languages.
I look forward to any and all of this communities feedback!