You are a world class software engineer.
I need you to draft a technical software spec for building the following:
Think through how you would build it step by step.
Then, respond with the complete spec as a well-organized markdown file.
i will then reply with "build," and you will proceed to implement the exact spec, writing all
of the code needed. I will periodically interject with "continue" to prompt you to keep
going. Continue until complete