Prototyping from Scratch\
___________________________________________________________

Context is baby startup with founders who have a go-gettit attitude but not much else.

___________________________________________________________

This process assumes you already have preliminary hypotheses and are past at least some user research. Your hypotheses don’t neatly factor into prototyping when just starting, so don’t worry--just think about how to integrate them with KPIs and OKRs later to double-use your iterations as tests. The initial product research is time expensive but should at least yield a consistent Persona with a real problem for you to solve: how you do product research is the million dollar question, do things that don’t scale™.

1. On Figma: design UI and UX for solution to problem you sourced from product research

2. Translate Figma images to written feature specifications; you’ll use these to reference documentation (step 3) and spike (step 4)

3. Choose and learn the fundamentals of a framework that can implement step 2. Feature specifications (e.g. React-Node-Express stack)

3a. Be careful of knowledge bloat (when one thing requires learning another, and another, etc.)--deal with it by keeping your learning feature-oriented

3b. Spend comparatively less time acquiring concepts the more abstract they get (e.g. when trying to implement a real-time updating dashboard, spend most time learning the javascript framework, then less time learning about JS promises, then less time learning about asynchronicity and … LEAST time learning about networking layers if you get that far)

3c. Stick to a schedule and budget out time, this step requires singular focus

4. Spike all of the features with that framework based on your learning in step 3.

5. Attempt to implement the feature list with minimal improvements on the spikes:

5a. first, just clobber together a frankenstein of your spikes

5b. then optimize or polish (e.g. ensure no stateful widgets at top of widget tree in flutter, etc)

5c. Don’t over optimize: just get all the features working together in a minimally viable way (no fancy animations, nothing you can’t do with a minimally decorated library function at most)

6. Recruit initial users (how you do that is another thing entirely; it sometimes takes money and definitely time) and get them to engage with your prototype

6a. Take notes of their interactions however makes sense for you

6b. Find concrete points where you can improve the product--note these down

6c. If you did product research well, you should have a group of people matching your persona to reach out to

7. Set up metrics for the issues identified in 6.a,b, called KPIs, and goals, called OKRs--an OKR is a target value for a KPI; iterate until your KPIs match the OKRs

7a. Adjust KPIs and OKRs to make sense for each stage of hypothesis testing

Note: getting initial users (step 6) functions as your marketing. Do things that don’t scale to get initial users. Marketing at later stages is a different beast.

Note 2: steps are susceptible to chicken-egg-problem. In that case be the egg, get warm, and wait--solving this is also a million$ question

________________________________________________

PLease let me know in comments if:
* makes any sense
* missing anything
* i'm stupid

cheers