Inspiration
Horoscopes are very vague and bizarre, which fits the slightly-gibberish output of Markov chain text very well.
What it does
Uses a custom Markov chain text generator to create custom horoscopes.
How I built it
The Markov Chain implementation is written from scratch, in Python 3. It actually keeps track of two chains: one produces slightly less predictable text, and the other produces obvious, predictable text. It is randomly decided which chain to read from for each generated word, making for natural-sounding output text.
The server is written in Flask (with Python 3), and the frontend is done just in standard HTML/CSS/JS.
Challenges I ran into
Calibrating the Markov chain implementation to produce something natural, without being too predictable and boring, was difficult. Getting the frontend and backend to work together correctly was also very challenging. Apache broke on us about a billion times. Not to mention the hundred or so sample horoscopes we had to write in order for the Markov chain to learn how to produce text.
Accomplishments that I'm proud of
The final text generation is quite natural-sounding, even occasionally making sense (mostly not).
What I learned
We learned a lot about frontend development, as well as dealing with Apache.
What's next for Markov Zodiac
Probably nothing.
Built With
- markov
- python
Log in or sign up for Devpost to join the conversation.