Skip to content
MITFree and open source. Bring your own AI.

Describe what your business needs. ffinn ships it.

ffinn is a free, open-source foundation for business software. Sign-in, teams, roles, billing and admin are already built. On top sits an AI agent that turns plain-English requests into reviewed pull requests, staging deploys and production releases, on your cloud and with your AI keys.

Example: a request for online booking is typed into ffinn. The agent reads the codebase, plans the change, writes six files, fixes one architecture issue, opens pull request 48, deploys to staging, and then waits for a person to approve the production release.

$ git clone https://github.com/bplogan/ffinn.git && cd ffinn && docker compose up

One command for a working app on your machine. All you need is Git and Docker.

Works with the AI you already pay for, or models you run yourself

  • OpenAI
  • Claude
  • Gemini
  • Azure OpenAI
  • GitHub Models
  • Ollama
  • OpenAI-compatible

Every business app starts by rebuilding the same things: sign-in, teams, roles, billing, an admin console. Months go by before a customer sees what makes you different. ffinn hands you that foundation on day one, then builds the rest with you, one reviewed change at a time.

How it works

From one sentence to production, with you signing off at every step.

01

Describe it

Write the feature the way you would brief a developer. ffinn reads your codebase first, so it knows the models, services and screens it is building next to.

  • Plain-English requests
  • Uses the AI model you choose
  • Follow-ups refine earlier work
New request

Add a Customer list with name, email and phone. Only admins can delete, and every deletion goes to the audit log.

Claude acme/portal · mainscope: tenant
Plain English is enough. Detail helps.Build it
02

Review it

Every request becomes one branch and one pull request in your repository, already checked against the architecture rules. Read the diff, approve it, or ask for changes.

  • One feature, one pull request
  • Architecture checked before commit
  • Protected core never touched
Open#52

Add customer list with admin-only delete

ai-agent/customer-list → main

  • Architecture rules5 of 5 files pass
  • Protected filesNone touched
  • Tenant isolationEvery query scoped to the tenant
  • domain/models/customer.py+52
  • services/customer_service.py+96
  • api/customers.py+61
  • features/customers/page.tsx+118
  • api/router.py+2
ApproveAsk for changes
03

Ship it

Deploy to staging from the dashboard and watch the build stream in live. Try it with real data. When it is right, promote it to production. Changed your mind? Revert.

  • Staging before production
  • Live deploy status
  • One-click revert
Releases
  1. Branch
    ai-agent/customer-list
    Merged
  2. Staging
    staging.acme.app
    Verified
  3. Production
    acme.app
    Ready
▸ GitHub Actions workflow started
▸ Database migrations applied
▸ Health check passed
✓ Staging verified by you
Production waits for youPromote

Already built

The parts every app needs, done properly.

These are the pieces that take months to get right and are dangerous to get wrong. In ffinn they are hand-written, tested, and protected from the AI agent, so new features always build on solid ground.

Switch workspace
ADAcme DentalPro
NLNorthwind LegalBusiness
BSBluebird StudioStarter
data, branding and billing isolated per tenant

Multi-tenancy

Serve many customers from one deployment. Each tenant gets isolated data, its own branding and its own subscription.

Two-factor code
48291
Single sign-onInvite a team

Identity

JWT sessions with refresh tokens, two-factor sign-in, single sign-on and team invitations.

permissionAdminStaffViewer
customers.view
customers.edit
customers.delete

Roles and permissions

Fine-grained permissions grouped into roles, plus delegation and admin impersonation for support.

Starter$0/mo
Pro$29/mo
Business$99/mo
StripePayPalfeature paywall

Billing and paywall

Plans and editions with Stripe or PayPal. Gate any feature by plan without writing billing code.

  • 09:41mariadeleted customer #1182
  • 09:38saminvited jo@acme.co
  • 09:12samchanged role → Staff
  • 08:57mariaenabled 2FA

Audit trail

Who did what, and when, recorded for every sensitive action and searchable by admins.

Notifications

One service for every channel, configured per tenant.

  • Email
  • SMS
  • Push
  • In-app
  • WebSockets

Admin console

Everything your operations team needs on day one, without building a back office.

  • Users
  • Roles
  • Tenants
  • Plans
  • Feature flags
  • Settings

Guardrails

AI that can't break what already works.

Generating code is easy. Trusting it is the hard part. ffinn checks every file against your architecture before anything is committed, and a person approves every release.

  • Protected core

    Security, configuration, infrastructure and shared components are off-limits. The agent cannot write to them.

  • Layer rules

    Routes call services and services own the logic. Shortcuts are caught before they reach your repository.

  • Tenant-scoped data

    Every new model carries a tenant ID, so one customer never sees another’s records.

  • Self-correcting

    Violations go back to the model with a targeted fix. Up to three tries, then a clear explanation instead of a broken commit.

You stay accountable. Nothing reaches production without a pull request you have reviewed and a release you have approved.

Architecture checkpassed
  1. ffinn check ai-agent/online-booking
  2. models/booking.py · tenant-scoped · SQLAlchemy 2.0 Mapped[]
  3. services/booking_service.py · no web-layer imports
  4. schemas/booking_schemas.py · Pydantic v2
  5. api/bookings.py · direct database query in route
  6. Sending a targeted fix to the model · attempt 2 of 3
  7. api/bookings.py · logic moved to BookingService
  8. 6 of 6 files pass · 0 protected files touched
  9. Pull request #48 opened for your review

AI assistants

Assistants for the rest of your team.

The same app can host chat assistants for everyday work, each with its own instructions, model and files. Think of the big chat apps, but inside your product and under your permissions.

  • As many assistants as you need
  • Upload documents and images
  • Streaming replies, saved history
  • A different model for each one

No lock-in

Yours. Every line, every key, every server.

Your code

MIT licensed, top to bottom.

Read every line, change anything, sell what you build. No paid tier and no feature held back.

Your keys

Pay your AI provider directly.

Connect OpenAI, Claude, Gemini, Azure OpenAI, GitHub Models, Ollama or any compatible server. Keys are encrypted at rest.

Your cloud

Runs anywhere Docker runs.

Docker Compose locally, GitHub Actions for staging and production, and reference setups for AWS and Azure.

Compare

The foundation of a starter kit. The speed of an AI builder.

ffinn compared with paid starter kits and hosted AI app builders
ffinnPaid starter kitsHosted AI app builders
Sign-in, teams, roles and billing built inYesYesVaries
Multi-tenant from day oneYesVaries—
AI builds new features for youYes—Yes
Every AI change reviewed as a pull requestYesn/aVaries
Guardrails that keep AI out of core codeYesn/a—
You own and host all of the codeYesYesVaries
Use any AI model with your own keyYesn/a—
PriceFree, MITPaid licenceMonthly plan

Typical of each category. Individual products vary.

FAQ

Questions, answered.

Something missing? Ask on GitHub or email info@ffinn.ca.

What is ffinn, in one sentence?

ffinn is a free, open-source foundation for business software (sign-in, teams, roles, billing and admin already built) with an AI agent that turns plain-English requests into reviewed pull requests, staging deploys and production releases.

Who is it for?

Businesses and product teams who want software shaped around how they work, without spending months rebuilding the basics first. You describe the feature; ffinn builds it on top of a foundation that is already production-minded.

Do I need a developer?

You need someone comfortable reviewing a pull request and running a deployment. The agent writes the code, but a person approves every change before it ships. That is a deliberate design choice, not a limitation.

Is it really free?

Yes. ffinn is MIT licensed with no paid tier and nothing held back. You pay only for your own hosting and for the AI usage on your own provider account.

Which AI models can I use?

OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, GitHub Models, Ollama for fully local models, or any OpenAI-compatible server. You bring your own key, and ffinn tests the connection before you save it.

Can the AI break my app?

The agent cannot write to protected core files such as auth, security, configuration and infrastructure. Every file it generates is checked against the architecture rules, sent back for a fix if it fails (up to three attempts), and then lands as a pull request you review. Production deploys wait for you.

Where do my code, data and keys live?

On infrastructure you control. The code is in your own GitHub repository, data stays in your PostgreSQL database, and AI provider keys and repository tokens are encrypted at rest in that database.

Which git hosts and clouds are supported?

The build agent works with GitHub and GitHub Actions today; GitLab and Azure DevOps are on the roadmap. ffinn runs anywhere Docker runs, and the repository includes reference deployments for AWS and Azure.

Your next feature is one sentence away.

Clone it, run it, and describe the first thing your business needs. It is free, today and always.

$ git clone https://github.com/bplogan/ffinn.git && cd ffinn && docker compose up