The position includes working alongside Ruby on Rails developers to create slick visual designs for our world-class applications - starting with photoshop drafts and mock-ups through to the final HTML5 / CSS3 package.
This is an incredible chance to work on projects for big names, such as Toyota and Anglo-American and conceptualize new interfaces for well funded start-ups. All of this carried out in an agile software development environment.
We're looking for someone who understands the importance of functional design that is both intuitive and user-friendly without being intrusive to the application. A deep understanding of modern CSS techniques and cross-browser optimization is a must. Experience with SASS and responsive / mobile design is a major plus.
Interested? We'd love to see some of your work - get in touch, tell us a bit about yourself, and wow us with something of yours that you're really proud of. We could be inviting you round our offices soon to get to know you better.
Send us your application here
Beat us at a game of Battleships and you could find yourself working with the best Rails developers in the country.
Use your Rails ability to build a game that you're able to play against our server. We will judge you on your coding ability and style. (Don't forget to write tests.)


Our API is based on a JSON interface over HTTP using POST requests. All responses and requests should be made in JSON encoded strings.
| Interface | Description |
|---|---|
| POST battle.platform45.com/register | Use this action to register and start a new game |
| POST battle.platform45.com/nuke | Use this action to launch your salvos at us |
200 OK - All requests respond with this
400 BAD REQUEST - If your request is malformed
Requests to the server are made in JSON
POST battle.platform45.com/register
json: { "name":"Your name", "email":"email@example.com" }
Use this action to register and start a new game.
| name | Your name |
| Your email address |
Use this action to launch your salvos at us.
| id | id of the game being played |
| x | x target coordinate |
| y | y target coordinate |
Responses from the server are also sent as JSON encoded strings.
The server will respond to a request to /register with a game id and the first salvo coordinates of the game. Thats right, we always go first.
Example response:
{ "id":
Possible keys for responses
| id | Returned upon registration |
| x | x coordinate of fired salvo |
| y | y coordinate of fired salvo |
| status | Can be hit or miss |
| sunk | Name of the craft which was sunk |
| game_status | Returned with "lost" when the game is lost |
| error | If something went wrong, this will contain the error message |
| prize | Once you have sunk all the enemy ships, this will contain your prize |
The game is played on a 10x10 board with the following ships:
1 x Carrier (5 long)
1 x Battleship (4 long)
1 x Destroyer (3 long)
2 x Submarines (2 long)
2 x Patrol Boats (1 long)