9.4 KiB
Managed Projects Roadmap — Simple → Advanced
Expand the existing Tecvico Django site so clients define projects; Tecvico delivers them. No freelancer marketplace — users submit briefs, your team quotes, builds, and ships.
Is This Doable on the Current Stack?
Yes — and simpler than a marketplace. No two-sided matching, escrow to third parties, or dispute flows between strangers. You are the sole provider.
| Already in place | Reuse for managed projects |
|---|---|
| Django + PostgreSQL + Docker | Core backend |
apps.pages + contact form |
Evolve into project brief submission |
File uploads (contact_uploads) |
Brief attachments, deliverables |
apps.products CMS patterns |
Service catalog / package pages |
| Admin panel | Intake queue, quotes, assignment, delivery |
| Email + templates | Status updates, quote sent, milestone ready |
New apps to add:
apps.accounts— client login, org profiles (Plan 2+)apps.projects— briefs, quotes, orders, milestones, deliverablesapps.messaging— client ↔ Tecvico threads per projectapps.payments— client invoicing via Stripe (Plan 2+)
Internal-only (admin): team assignment, internal notes, time tracking — no public freelancer profiles.
Verdict: Plan 1 is close to an enhanced contact flow. Plan 2–3 add quoting, payments, and a client portal — all standard Django.
Plan 1 — Simple (MVP) · 3–6 weeks
Goal: Clients submit project briefs online; Tecvico reviews and delivers off-platform billing if needed.
| Milestone | Weeks | Deliverable |
|---|---|---|
| M1 Client accounts | 1 | Sign up, login, password reset |
| M2 Project briefs | 1–2 | Structured submission form + attachments |
| M3 Status tracking | 2–3 | Client sees request status; email notifications |
| M4 Admin intake | 3–4 | Review queue, status updates, internal notes |
Feature detail
Accounts
- Email/password signup (client role only)
- Profile: name, company, phone, timezone
- Dashboard: list of my project requests
Project brief
- Fields: title, category (web, data, research, etc.), description, goals, budget range, desired deadline, reference links
- Attachments: specs, mockups, datasets (reuse upload patterns)
- Status:
submitted→under_review→quoted→accepted/declined→in_progress→delivered→closed - Client can edit brief while status is
submittedonly
Notifications
- Email to client on status change
- Email to admin on new submission
Admin
- Intake list with filters (status, category, date)
- View brief + files; add internal notes (not visible to client)
- Manually set status and paste quote text (PDF/email off-platform OK)
Out of scope: online quotes, payments, messaging, milestones.
Plan 2 — Medium (Client Portal) · 1–2 months
Goal: Quote, pay, and deliver on-platform. Productized packages + custom projects.
| Milestone | Weeks | Deliverable |
|---|---|---|
| M1 Foundation | 1–2 | Plan 1 + email verify, service catalog pages |
| M2 Quotes | 3–4 | Admin builds quote; client accepts/declines in portal |
| M3 Payments | 5–6 | Stripe deposit + milestone invoices |
| M4 Delivery | 7–8 | Milestones, deliverable uploads, revision rounds |
| M5 Comms | 9–10 | Per-project messaging, client dashboard polish |
Feature detail
Service catalog
- CMS pages for fixed offerings (e.g. “Landing page”, “Radiomics pipeline audit”)
- Package tiers: scope summary, starting price, typical timeline
- “Start from template” pre-fills brief fields
Quotes
- Admin creates quote from brief: line items, total, timeline, revision count included
- Client receives email + in-portal quote view
- Accept → order created; decline → brief archived with reason
Orders & milestones
- Order states:
awaiting_deposit→active→milestone_review→revision→completed - Milestones: name, due date, amount, description of deliverable
- Tecvico uploads files per milestone; client approves or requests revision (capped rounds)
- Change requests: client submits add-on brief → admin sends revised quote
Payments (Stripe)
- Deposit on accept (e.g. 30–50%); remainder split across milestones
- Checkout Session per invoice; receipt PDF
- Refund policy flags (admin-only)
Messaging
- Thread per project: client ↔ assigned PM
- File attach in thread; email digest on new message
Admin
- Assign internal owner (staff user) per project
- Pipeline board: new → quoted → active → blocked → done
- Basic reports: open projects, revenue this month
Out of scope: e-sign contracts, org/team accounts, automated estimates, real-time chat.
Plan 3 — Advanced (Full Client Platform) · 2–3 months
Goal: Scalable delivery ops — enterprise clients, SLAs, automation, integrations.
| Milestone | Months | Deliverable |
|---|---|---|
| M1 Hardening | 1 | Plan 2 + 2FA, OAuth, org accounts |
| M2 Sales flow | 1–2 | E-sign, ballpark estimator, kickoff booking |
| M3 Delivery ops | 2–3 | SLA timers, internal time log, task checklist |
| M4 Enterprise | 3–4 | Multi-user orgs, API, webhooks |
| M5 Growth | 4–5 | Referrals, analytics, PWA, knowledge base |
Feature detail
Auth & organizations
- Google / LinkedIn OAuth; optional 2FA
- Organization account: owner + members, shared project list, role (viewer / submitter / billing)
- Billing contact separate from project contact
Pre-sale
- Ballpark estimator: category + scope sliders → indicative range (admin-configured rules)
- Discovery call booking (Calendly embed or built-in slot picker)
- Digital SOW + NDA (DocuSign hook or in-app accept with audit trail)
Delivery workspace
- Shared project hub: brief, quote, contract, timeline, files, messages
- Visual timeline / milestone Gantt for client
- SLA badges: response within X hours, milestone due alerts (Celery + email)
- Internal: task checklist, time entries per staff, capacity view (admin)
Revisions & scope
- Structured revision requests (what to change, priority)
- Scope creep flow: auto-flag when revision count exceeded → change order quote
Payments+
- Multi-currency quotes; recurring maintenance plans (Stripe Subscription)
- Pro-forma + final invoice; export for accounting
Enterprise & integrations
- REST API: submit brief, poll status, download deliverables
- Webhooks:
quote.sent,milestone.delivered,project.completed - SSO option (SAML) for large clients — optional phase
Knowledge & retention
- Client-facing FAQ / “how we work” tied to project phase
- Post-delivery satisfaction survey + testimonial request
- Referral codes (credit on next project)
Admin analytics
- Funnel: brief → quote → accept → complete
- Utilization, avg delivery time, revenue by service line
Out of scope: marketplace, freelancer payouts, native mobile apps.
Comparison
| Simple | Medium | Advanced | |
|---|---|---|---|
| Project brief submission | ✓ | ✓ | ✓ + templates |
| Online quotes | — | ✓ | ✓ + estimator |
| Stripe payments | — | ✓ | ✓ + subscriptions |
| Milestones & deliverables | — | ✓ | ✓ + SLA |
| Client ↔ Tecvico messaging | — | ✓ | ✓ + digests |
| Service catalog / packages | — | ✓ | ✓ |
| Org / team accounts | — | — | ✓ |
| E-sign / contracts | — | — | ✓ |
| API / webhooks | — | — | ✓ |
| Internal ops (assign, time log) | notes only | pipeline | full |
Managed vs Marketplace
| Managed (this doc) | Marketplace (marketplace-roadmap.md) |
|
|---|---|---|
| Who delivers | Tecvico team | Freelancers / clients hire each other |
| Payments | Client → Tecvico | Escrow, payouts, commissions |
| Complexity | Lower | Higher (trust, disputes, matching) |
| Best when | You sell your own services | You broker others' work |
Recommended Path
- Plan 1 — ship brief + status portal; keep quoting via email if needed.
- Plan 2 — add quotes and Stripe once you have repeatable delivery workflow.
- Plan 3 — when project volume needs SLAs, org accounts, and ops dashboards.
Timelines assume extending the current codebase; bespoke UI redesign adds ~20%.