As suggested, encapsulate your prediction model in a web service, then calling it from Rails would be a good way to go.
An other way is to use something like Faktory (https://contribsys.com/faktory/) on top of Redis. You push jobs from Rails and then you pull them from Python to execute. Then Python can enqueue another job with the result which gets consumed by Rails (async callback).
I have the same experience with Sinatra and Rails. A small app in Sinatra grew larger than expected so we added gems basically recreating Rails... Lesson learnt, going with rails new now!
Did you try using a safety pin to remove dust from the USB port? Works everytime with a bunch of friends who had an SE but could not charge it properly.
We have been using Front since 2014 at Le Wagon. The goal was to be able to handle our [email protected] inbound email as a team (3 seats in 2014, 7 now). I considered Zendesk but it felt a bit too overkill for our usage.
You can view Front as a shared Gmail Inbox where you can assign messages to teammates and have private discussions on top of email threads.
They recently added Front Chat which we used to replace the Intercom Chat on https://www.lewagon.com - This way the team only uses one tool (Front) to handle incoming chats or emails.
We've been a customers for 3+ years and are really happy! Congrats on the Series B!
For the first point, we had a debate on wether we should expose the tests to the student as it would:
1. Maybe help them to find the solution
2. Allow them to change the tests just to make their solution pass
In practise, we realized that error messages from specs do not necessary reveal the solution (point 1), and for point 2, we decided to trust the students (they are adults, in a paying bootcamp), and it works actually. So no need to put spec overwriting / hiding.
For the second question, we are running a simple rake runner (see https://gist.github.com/ssaunier/9713130), launching the tests in a specific folder and parsing the result. We are not doing isolated environments with ruby install / bundle install like TravisCI does, so it is suited for our simple use case only.