Cerca has a functioning place-memory and social product plus a substantial Discover MVP. The live audience is still a small cohort: existing behaviors show useful activation and valuable taste data, but there is not yet clear evidence of a durable place-saving habit.
A reusable rollout plan for taking a B2C product from "no SEO foundation" to "paid ads with attribution." Designed for solo founders and small teams using AI-assisted development (Claude Code, Cursor, etc.).
Each phase maps to a skill (an AI agent task) and the third-party tools / APIs that skill actually needs to do useful work. Skills without their backing tools produce thin, generic output — pair them deliberately.
marketing-skills— strategy, copy, CRO, adsclaude-seo— deep SEO/GEO/maps (/seo-*)
We will be using the [Devise gem][2] to help us get started with authentication (are you who you say you are?) and authorization (are you allowed to do/see this?).
- Add
gem 'devise'to your Gemfile andbundle rails g devise:install
Devise will give you some setup instructions. We don't need to worry about most of them, but we do need to set a root URL. Usually, you will point the root URL to the index action of some important resource in your application: In config/routes.rb:
You should think of a couple of pain points in your life that you would like to solve with a simple CRUD app. Remember,
The verb you want to be using with respect to startup ideas is not "think up" but "notice." — [Paul Graham, "How to Get Startup Ideas"][1]
Don't try to think up billion dollar startup ideas; our goal here is to discover a good first learning project, not to save the world just yet. Try to notice a real annoyance at work or at home or with friends that we can solve, even if for just one user -- you.
For example, [here is a project that a student made last quarter][2] -- a simple app that lets you keep track of whether or not it's time to dry clean pieces of clothing. Another student made a nice app that suggests which of your credit cards to use in order to maximize rewards based on what kind of purchase you are about to make.
Here is a quick reference on how to insert, retrieve, update, and delete rows from your database tables using our ActiveRecord-backed Ruby classes.
First, we need a Ruby class to represent the real-world thing we're trying to model, and we need an underlying database table to store information about each individual thing.
Rails includes an easy generator to help us get set up with both of these things quickly. Supposed I wanted to create a table to store instructors, with two string columns first_name and last_name. I could use this shortcut from the Command Line:
| $('#opening, #film, #practical, #conference, #guide') | |
| .waypoint(function(direction) { | |
| // sticky header | |
| $(this).find('> div > header').toggleClass('sticky', direction === 'down'); | |
| // nav .current | |
| currentNav($(this).attr('id'), direction === 'down'); | |
| }) | |
| .waypoint(function(direction) { |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> | |
| </head> | |
| <body> | |
| <script> | |
| .grid-box { | |
| float: left; |
| body { | |
| padding-top: 40px; | |
| } | |
| div { | |
| height: 250px; | |
| overflow: hidden; | |
| width: 370px; | |
| transition: all .2s ease-in; | |
| margin: 0 auto; |
| body { | |
| padding: 10px; | |
| } | |
| p { | |
| background: -webkit-linear-gradient(top,#fd0b58 0,#a32b68 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } |
| function reload { | |
| source ~/.bash_profile | |
| } | |
| function parse_git_dirty { | |
| [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo " *" | |
| } | |
| function parse_git_branch { | |
| git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' |