<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>Tips for Participating in the Rails Rumble | Infinum</title>
		<atom:link href="https://infinum.com/blog/tips-for-participating-in-the-rails-rumble/feed/" rel="self" type="application/rss+xml" />
		<link>https://infinum.com/blog/tips-for-participating-in-the-rails-rumble/</link>
		<description>Building digital products</description>
		<lastBuildDate>Fri, 17 Apr 2026 13:59:15 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>8020https://infinum.com/uploads/2017/02/tips-for-participating-in-the-rails-rumble-0.webp</url>
				</image>
				<title>Tips for Participating in the Rails Rumble</title>
				<link>https://infinum.com/blog/tips-for-participating-in-the-rails-rumble/</link>
				<pubDate>Tue, 18 Aug 2015 09:00:00 +0000</pubDate>
				<dc:creator>Damir Svrtan</dc:creator>
				<guid isPermaLink="false">https://infinum.com/the-capsized-eight/tips-for-participating-in-the-rails-rumble/</guid>
				<description>
					<![CDATA[<p>Rails Rumble is the biggest international Rails hackathon; over 500 teams from across the globe, four members fabricating an awesome Rails app in 48 hours. </p>
<p>The post <a href="https://infinum.com/blog/tips-for-participating-in-the-rails-rumble/">Tips for Participating in the Rails Rumble</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-222"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	The Rails Rumble is the biggest international Rails hackathon and it’s organized once a year – over 500 teams distributed across the globe, each with 4 members fabricating an awesome Rails app in 48 hours. The best part is that everyone can join, everybody’s in it for the fun. The next one is on the 7th and 8th of November!</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	Last year, the three of us from Infinum entered the Rails Rumble for the first time. We had no troubles coming up with the idea of what to create – at that time we were in between switching our apps from MySQL to Postgres and were having problems finding a slick desktop client for Postgres. We got spoiled by using <a href="https://github.com/sequelpro/sequelpro">SequelPro</a> for MySQL and the Postgres alternatives weren’t as nearly as nice.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-99">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-100'
	>
	Since this was a Rails hackathon, we decided to create a Postgres manipulation client built as a Rails engine. We called it <a href="https://github.com/pg-pancakes/pancakes">Pancakes</a>. Since we’ve managed to learn a lot from the whole experience, here are some protips to help you perform best on the big day.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-102">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-103'
	>
	Do as much planning as you can before the hackathon</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	One of the few things you are allowed to do before the hackathon is to agree on an idea. The four of us had met at a bar 2 days before the hackathon to decide what we would do. However, we hadn’t completely ironed-out the implementation and we felt this during the hackathon.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-108">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-109'
	>
	Try to do the architecture of the whole system before the beginning; write user scenarios, draw up a class diagram or an ER diagram of your database – the only rule is that you don’t write any code before Saturday!</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	Once you start rumbling, it’s easy to take a whiteboard to list and assign all tasks:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-114"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-115">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2017/02/tips-for-participating-in-the-rails-rumble-1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="750"
															width="1000"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			 Our rumble whiteboard		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-119"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-117">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-118'
	>
	Organize your time!</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-122"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-120">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-121'
	>
	The Rails Rumble starts on Saturday at 00:00 UTC and finishes exactly 48 hours later. We live in Zagreb (UTC+2), so that means we could’ve started on Saturday at 2 am, but we decided to start with the hackathon 4 hours later – somewhere around 6 am. Even though that made the hackathon 4 hours shorter for us from the beginning, at least we got a good night’s sleep and kicked the first day off quite fresh. I think I’ll let myself sleep until 8 am for the next one and be even fresher.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-125"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-123">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-124'
	>
	Meet in one place and dress like you’re at home</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-126">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-127'
	>
	We decided to meet at our office and hack our way through 48 hours from there. It’s really better for everyone to be in one place to share ideas and have fun together.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-131"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-129">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-130'
	>
	Another recommendation would be to dress like you’re at home – bring your sweats and some comfy shirts – no one wants to wear jeans for 48 hours.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-134"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-132"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-133">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2017/02/tips-for-participating-in-the-rails-rumble-2.webp"
					class="image__img block-media__image-img"
					alt=""
										height="750"
															width="1000"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			 Our hackathon arrangement in the office		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-137"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-135">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-136'
	>
	Time for camping</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-140"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-138">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-139'
	>
	One other thing we did that helped minimize time wasting and keep the team morale high was sleeping at our office. If we had went home, we would have lost at least 4 hours more to regroup back at the office and risked more outside distractions.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-143"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-141">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-142'
	>
	Thinking back, it’s a good idea to make your sleep as comfy as possible. If you have couches in your office – bring your own pillow and blanket. If not, maybe bring/borrow a sleeping bag and a sleeping pad (the thingie you put under the bag to put something between the bag and the floor). Did someone mention camping?</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-146"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-144">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-145'
	>
	Install all of your prerequisites before Saturday</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-149"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-147">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-148'
	>
	Before entering the Rumble, agree with the rest of your teammates on the versions of Ruby and Rails you’re going to use. In reality it doesn’t matter which versions you use, just pick some and send an email saying: `We’re going to use Ruby 2.2.3 and Rails 4.2.3, please install it’. We had some short debugging sessions while using different minor versions of Ruby inside the team. If you could skip that, it would be awesome.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-152"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-150">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-151'
	>
	Also, agree on which database you’re going to use, and make sure everybody has it installed. Same goes for extra services such as Elasticsearch, Redis or whatever. You don’t want somebody wasting time during the hackathon.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-155"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-153">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-154'
	>
	Don’t go big! / Less is more</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-158"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-156">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-157'
	>
	Try to create a minimalistic app with only a few basic features and do them really well – it’s better to create an app with one or two impressive features than have 10 sloppy features.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-161"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-159">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-160'
	>
	Participants are also the jury and every participant needs to go through all the applications and judge them – no one has the time to check out dozens of features. If you finish before the deadline, it’s better to polish your UX than to add extra functions.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-164"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-162">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-163'
	>
	Also, try to make your app understandable to everyone. If you can’t pitch it in a sentence or two on your homepage, it’s probably too complicated and no one will have the time to try to figure out what it does.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-167"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-165">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-166'
	>
	Bring a designer</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-170"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-168">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-169'
	>
	To be honest, no one wants to see an app that’s designed by a Rails developer, and you’re more likely to create a better app with a really good designer. Although the hackathon is called the Rails Rumble, you’ll probably be better off with a good design than with a clean codebase. Check out the awesome design from last year’s winners:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-173"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-171"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-172">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2017/02/tips-for-participating-in-the-rails-rumble-3.webp"
					class="image__img block-media__image-img"
					alt=""
										height="497"
															width="1000"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			 Awesomely designed refactorcop		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-176"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-174">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-175'
	>
	Besides designing the system’s architecture, you can have your design finished before the hackathon begins. That will also force you to keep track of all of your goals.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-179"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-177"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-178">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2017/02/tips-for-participating-in-the-rails-rumble-4.webp"
					class="image__img block-media__image-img"
					alt=""
										height="425"
															width="961"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			 Pancakes interface		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-182"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-180">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-181'
	>
	Bring a front-end developer</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-185"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-183">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-184'
	>
	Once again, despite the event name, you’ll probably be better off with a good front-end developer than a back-end developer hacking through your CSS. In most cases, the first will be faster and better.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-188"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-186">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-187'
	>
	Since we did an app with a heavy back end, we thought it would be okay for all of us to be Rails developers. In the end, we would’ve been faster if we had had a front-end developer.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-191"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-189">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-190'
	>
	Deploy often!</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-194"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-192">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-193'
	>
	Two rules:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-198"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--number bullet__color--black block-bullet__bullet" data-id="es-195">
	<p	class='typography typography--size-14-text js-typography bullet__dot'
	data-id='es-196'
	>
	1</p>	<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-197'
	>
	<strong>Don’t wait with your first deploy until the last hour</strong> &#8211; we deployed everything at the end of the first day and ended up with a debugging session. You don&#8217;t want that to happen in the last hour when everybody gets jumpy.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-202"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--number bullet__color--black block-bullet__bullet" data-id="es-199">
	<p	class='typography typography--size-14-text js-typography bullet__dot'
	data-id='es-200'
	>
	2</p>	<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-201'
	>
	<strong><strong>Don’t deploy anything last minute</strong></strong> &#8211; try to leave at least 10 or even 15 minutes to fix the deploy if something goes wrong. ANY submissions after 23:59UTC Sunday will result in a direct disqualification.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-205"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-203">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-204'
	>
	Create a chat room for sharing links</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-208"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-206">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-207'
	>
	We created a slack organization (it’s free) and it was really useful:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-211"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-209">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-210'
	>
	<li>easy way to share links between ourselves</li><li>we added hooks to get notified when we deploy</li><li>we added hooks to get notified when someone pushes to the Github repo</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-214"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-212">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-213'
	>
	Don’t take yourself too seriously</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-217"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-215">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-216'
	>
	The three of us remember this as an excellent experience and still tell stories from those two days – tired dementia conversations, weird stuff going on when hyped on Red Bulls and what not. We’ve bonded more than before and just had pure, clean fun.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-220"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-218">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-219'
	>
	Lastly, take a day off on Monday – you’re gonna need it ?</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/tips-for-participating-in-the-rails-rumble/">Tips for Participating in the Rails Rumble</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>