+91 7303725004 info@9flg.com Monday – Friday, 9am – 5pm NH 58, Future Life Group (Head Office), Rajnagar Extension, Ghaziabad, Delhi NCR, India
Future Life Technologies
Internal — not listed, not indexed

Building the IT company, step by step

One codebase. Our install first, then one per client. Nine steps to turn the platform into a product, starting with the parts that get more expensive the longer they wait.

Monday – Friday, 9am – 5pm IST · we reply the same working day

See what changes for you

Where we are

Nine steps across three phases.

0Steps done
9Steps to go
1Codebase
2Installs planned

Phase 1 — Separate the product from its first client

Today the codebase and one client's system are the same thing. These three steps separate the 80% every industry shares from the 20% that belongs to the education industry — without changing anything that client sees.

01/03

○ NEXT 1. Boundary manifest and test

1 hour

Mark every one of the 41 modules as Core or Education, and add a test that fails if a Core module imports an Education module. Why now: 45 such imports exist today. The test freezes that number so it can only go down. Every week without it, the eventual split gets harder.

Talk to us about this
02/03

· QUEUED 2. The PACKS setting

1 day

One line per install decides what loads: core + it for us, core + education for a client in that industry. Why now: This is the switch that turns one codebase into a product with industry packs. The existing client system behaves exactly as it does today.

Talk to us about this
03/03

· QUEUED 3. Make Core boot on its own

2 days

Fix the 45 imports so the platform starts with no education modules installed. Why now: Proves the 80% is genuinely separable, rather than a diagram we believe in.

Talk to us about this

Phase 2 — Fix what gets expensive later

Two problems that cost little to fix now and multiply by every client we add. Both were found by measuring the live server, not by guessing.

01/02

· QUEUED 4. Every install through PgBouncer

half a day

All database connections go through the pooler on port 6432 instead of straight to Postgres. Why now: Each install uses 11 connections and Postgres allows 100. Without this the ninth client cannot connect. The pooler is already installed and simply not compulsory.

Talk to us about this
02/02

· QUEUED 5. Email bodies out of the database

2 days

Move stored email bodies to disk, keeping headers and delivery status in the table. Why now: One table holds 2,177 MB for 16,383 emails — 55% of the entire database. Fix it once, or pay for it in every client install forever.

Talk to us about this

Phase 3 — Our own install, and the IT pack

We are an IT company, so the IT industry pack is whatever we need to run ourselves. We are its first client, which means no sales risk and every rough edge is found by us before a customer meets it.

01/04

· QUEUED 6. Provision our own install

1 day

A second install of the same codebase: its own database, its own domain, PACKS = core only. Why now: One codebase, two installs. This is the first proof that a non-education deployment works, with nobody but us at risk if it does not.

Talk to us about this
02/04

· QUEUED 7. Build the IT pack

1 to 2 weeks

Projects, timesheets, retainer billing, support tickets and the register of client installs. Why now: This is not an internal admin tool. It is the product we sell to every other agency, studio and IT firm — we are simply customer number one.

Talk to us about this
03/04

· QUEUED 8. Move staff onto our install

1 day

16 staff accounts move off the client system they currently sit in. Only those who support that client keep a named account there. Why now: Staff currently log into a client system because it is the only one that exists. A named, expiring support account is auditable; a shared login is not.

Talk to us about this
04/04

· QUEUED 9. The control plane

2 days

One page listing every install: which version it runs, when it was last deployed, and whether it is healthy. Why now: The answer to 'what have we built and where is it running' should be a screen, not a conversation.

Talk to us about this

The questions worth keeping straight

The answers we agreed, written down so they stop moving.

One Django project or two? — One

One codebase, one repository. Separate installs where a client needs one, a shared platform where they do not — each customer's data tied to them either way. Two codebases would mean fixing every bug twice and would drift apart within months.

Where does the 80% live? — In the master product

Core is built once and released to every install. Nothing is built inside a client's system any more; it is built in the product and released to that client.

Where does each 20% come from? — From the first client in that industry

The IT 20% comes from running ourselves — we are the first client of the IT industry. The education 20% came from the first client in that industry. Every future industry works the same way: first client, build their fifth, sell it to the sector.

Who logs in where? — Each company into its own install

Our staff log into our install — that is their home. A client's people log into their own. Support access to a client is a named account on their system, with an expiry, so they can see who came in and we can switch it off.

The rule that keeps the 80% honest

Asked every time a client requests something:

Call now WhatsApp Enquire