This hack was in response to the pattern-completion-app challenge created by Splice Digital. We also discussed how this method of pattern detection could be used for much more than just Greenhouses, but also for any type of form which could use a pattern auto-fill feature.

What it does

Given a sample of a user's pattern based input, our app will detect and continue the pattern. Since a greenhouse is ordered by rows and columns, we gave our user the power to specify the dimensions of their greenhouse (rows and columns). A few example patterns: "1, 2, 3, 4..." (1-dimensional). "A1, A2, A3, B1, B2, B3" (Alpha-numeric, 2-dimensional). Our app will then continue the pattern for the user a specified amount of times. The return for "1, 2, 3, 4..." may be "5, 6, 7, 8". Or for the alpha-numeric example: "C1, C2, C3".

How we built it

Our front-end was built using html5, JavaScript and css. Our back-end was built using Python3 and we used the Flask framework as the glue! The method we used to detect and extrapolate a pattern was to utilize regression. For a simple incrementing number pattern, linear regression would be used. For a more complex pattern, we would use multiple regression.

Challenges we ran into

We had to find a way to accept and graph alphabetical characters. Our solution to this issue was to use a base-26 number system to represent the letters of the alphabet. Another thing we bumped into was that we had to deal with 2D pattern detection. To solve this we used multiple regression!

Accomplishments that we're proud of

We are mostly proud of how we solved the alpha-numeric issue and how we were able to extrapolate patterns from letters. Figuring out we needed to use multiple regression was also key to our solution! There was a lot of neat math involved with this hack. Researching and implementing based on our findings was really cool!!

What we learned

We learned the Flask framework! A powerful way to connect your front-end to the back-end. Some of us intend to use this framework again in the future for other projects.

What's next for Greenhouse Pattern Generator

Improve upon the pattern recognition so that it can detect even more abstract and complex patterns! Improve the GUI of the web facing portion so it is not so "2000s" (as Emily put it). Mirroring Splice Digital's example would be a way forward.

Share this project: