Use squeel.
Add scopes.
User simple forms.