Disposable experiments
Learn one concept safely. Tiny apps, deliberate failures and no fear of breaking anything.
Software Engineering Lab
A practical, AuDHD-friendly learning environment for understanding the software engineering behind AI-assisted development — one concept, one experiment, one verified result at a time.
Use small, concrete experiments with a visible finish line.
Don't try to “finish the curriculum”. Follow the next useful concept. After an interruption, record the exact resume point instead of relying on memory.
Move knowledge into increasingly realistic environments.
Learn one concept safely. Tiny apps, deliberate failures and no fear of breaking anything.
Combine several concepts into experimental tools where you can still change things freely.
Apply the ideas to Vokai and other projects where reliability, security, privacy and maintainability matter.
Open one module when you have a reason to learn it. Each has a tiny experiment and reliable places to start.
Understand document structure, semantic elements and meaning before styling.
Learn layout, sizing, spacing and responsive changes by testing the same page at different viewport widths.
Learn variables, functions, conditions, events and state through a tiny interactive calculator.
Understand what travels between browser and server, including methods, status codes and response bodies.
Learn routing, middleware and server-side execution without hiding everything behind a framework.
Understand why client code is public and why secrets belong on the server with environment-aware configuration.
Assume external input can be malformed. Validate syntactic and semantic constraints before processing it.
Design useful failures without exposing internal implementation details.
Write tests before and after a change, deliberately introduce a bug, watch the test fail, then fix it.
Understand authentication states before adding a large identity provider to a real app.
Learn to distinguish your application from a dependency you do not control.
Give the model a narrow role and treat its output as untrusted input until validated.
Split responsibilities only when the current structure creates a real maintenance problem.
Learn common web risks and test your assumptions in a disposable environment.
Learn how semantic HTML, focus, labels and mobile interaction affect real users.
Design flexible layouts rather than shrinking a desktop layout after the fact.
Learn to measure real user-facing performance before changing code for speed.
Understand the difference between local assumptions and production reality.
Make failures visible rather than relying on users to tell you something broke.
Move repeatable checks out of your memory and into automation.
Learn visual hierarchy, typography, alignment, whitespace, user-centred design and common interface patterns.
Use the model to reduce implementation effort without outsourcing engineering judgement.
Ask the AI to inspect first, make a small change, explain significant decisions, add tests for normal and failure cases, run the relevant checks, and state exactly what it verified and what remains unverified.
Use the same vocabulary for code review that the Reddit toolkit uses for evidence-ranked workflows.
Directly seen in code, output or runtime behaviour.
Proven by a test or another explicit piece of evidence.
A reasonable interpretation that has not been directly established.
A proposed improvement, not a description of current behaviour.
These are the questions that turn AI-assisted coding into engineering practice.
Vokai is the place to apply the ideas once the experiment is understood.
Open Vokai →View the GitHub repo →