← All work

IDLance

Freelance instructional designers find vetted agencies in a directory built into their program

LaunchPad turns IDLance's curated agency spreadsheet into a searchable, moderated directory that its program members get with enrollment. Because the data is the product, scraping protection, server side roles and privacy controls shipped in the first release.

EdTechMembers only agency directoryBuilt from zero

Members search the LaunchPad directory with filters for location, industry, years in business and size.

The challenge

Freelance instructional designers found agencies through slow research, unverified directories and word of mouth. IDLance had a curated list in a spreadsheet and no product around it.

What we did

A members only directory with three consoles, access tied to program enrollment, moderated comments, bulk import from the client's spreadsheet and protection against scraping from the first release.

The outcome

The client signed off the MVP and launched it as an exclusive of its freelancer program, presenting it as a directory of more than 1,000 agencies vetted by freelancers.

Status
Live as a program exclusive
Directory
1,000+ agencies, as launched by the client
Consoles
Members, moderators and admins
Access
Program coupon or Stripe subscription

The starting point

IDLance is a U.S. training and community business for freelance instructional designers, built around a 24 week program. LaunchPad is its directory of learning and development agencies, offered as a members only benefit of that program.

What had to change

Freelancers found agencies through slow research, unverified directories, outdated lists and word of mouth, with no shared feedback. IDLance kept its curated list in a spreadsheet and needed a trusted, searchable product around it.

What could not break

  • Members only access, tied to enrollment in the client's program
  • Three roles, enforced on the server
  • The curated agency data must not be scraped
  • Requirements for GDPR export and deletion, cookie consent and admin 2FA
  • Labels and company size ranges match the client's spreadsheet

The calls we made

We treated the curated agency data as the asset to protect, then designed access, search and moderation around it.

  1. 01

    Tie access to the program

    Enrollees redeem a coupon for free access while everyone else subscribes through Stripe checkout, with webhooks keeping each account's payment status current.

  2. 02

    Protect the data in the first release

    A scraped directory loses its value, so reCAPTCHA v3, rate limiting, server side roles and GDPR export and deletion shipped in the MVP.

  3. 03

    People moderate, the system routes

    Comments only help if members trust them, so every comment waits in a moderator queue, and flagging needs a reason and a confirm step to avoid false flags.

  4. 04

    Import that respects the spreadsheet

    Labels and company size ranges match the client's spreadsheet, and bulk CSV upload detects duplicates before they enter the directory, so the client's own list stays the source.

  5. 05

    Proposed AI keeps moderators in charge

    Our proposal for the next phase has AI flag comments with a reason code and a confidence score, while moderators make every approve or reject decision and an audit log records both.

How the system fits together

search, saveapprove, rejectmanageCSV uploadrole checkeddecisionsbulk importcheckout,webhooksrecordsqueuebot checksemailProgram membersFreelance…ModeratorsApprove comments,review flagsAdminsAgencies, users,subscriptionsClient agencyspreadsheetThe curated list, asCSVMember directorySearch, favorites,notes, commentsModerator consoleComment queue,flagged itemsAdmin consoleMetrics, bulk…FastAPI backendServer side roles,rate limitingStripeSubscriptions,coupons, webhooksPostgreSQL onAmazon RDSIn the client's AWSaccountCelery jobsEmail notificationsGoogle reCAPTCHAv3Bot and scrapingchecksSendGridVerification andalert email
PeopleClient's existing systemBuilt by DaticsOutside serviceData storeThe platform runs in IDLance's own AWS account, and the curated agency data sits behind server side roles, rate limiting and bot checks.

What we built

Admin console

Metrics, user and role management, subscription status, agency management with bulk CSV upload and duplicate detection, and announcements with draft and publish.

Admins publish and manage public announcements for members, with video and text posts.

Access and billing

Email sign up with verification, then a program coupon or Stripe checkout, with webhooks for payment status and email notifications sent by background jobs.

Members create a LaunchPad account with name, email and password.
03

Member directory

Search with filters for location, industry, years in business and company size, agency profiles, favorites with private notes, moderated comments, error reports and announcements.

04

Moderator console

A comment moderation dashboard with approve and reject, plus views of flagged comments and flagged agencies with their reasons.

How it works

Join

A program member signs up, verifies their email and redeems a coupon, or subscribes through Stripe.

Search

The member filters the directory by location, industry, years in business and company size.

Save and note

Favorites hold private notes on agencies the member plans to contact.

Comment

Members share their experience with an agency, and a moderator approves each comment before others see it.

Maintain

Admins bulk upload agency updates and act on reported listing errors and flags.

A closer look

What changed

The client signed off the MVP after its revisions and launched LaunchPad as an exclusive of its freelancer program, presenting it as a searchable directory of more than 1,000 learning and development agencies vetted by freelancers. Its newsletter listed directory access as a core part of the program, and the client assigned a dedicated administrator to introduce it to its current cohort.

“Datics is a competent team that is thorough and timely. The development staff communicates well and is friendly to work with. We highly recommend them to companies looking for advanced-level programming.”
IDLanceIDLance, LLC

Under the hood

Datics role
Product built by Datics
Access and billing
Server side role based access for three roles, Stripe subscriptions, coupons and webhooks for payment status, and SendGrid email sent by Celery background jobs.
Data protection
reCAPTCHA v3 and rate limiting against scraping, and GDPR export and deletion for members, delivered in the MVP.
Deployment
FastAPI and PostgreSQL on Amazon RDS, running on AWS in the client's own account rather than the host the scope first planned.
Frontend
React and Next.js with responsive layouts for members, moderators and admins, built from screen designs reviewed in Figma and the client's own logo, mascot and fonts.

Data and retrieval

PostgreSQL

Cloud and infrastructure

AWS

Apps and APIs

ReactNext.jsPythonFastAPIStripe

Also in the stack

Celery

How it shipped

  1. Scope before code

    We read the client's requirements document, listed questions and assumptions, and wrote a scope document, a feature breakdown and a screen list for design.

  2. Six sprints, three deployments

    Six weekly sprints with daily scrums, each feature split into backend and frontend tasks, three deployments for review, then full QA and regression across member, moderator and admin sides.

  3. Revisions and sign off

    Client revisions were evaluated and made before sign off, and a later sprint added the client's change requests and policy pages.

  4. Launch and handover

    IDLance launched the directory as a program exclusive. When it brought in a new administrator, we planned user flow guides and demo tutorials, tested a sample of the full agency upload in parallel and scoped an addendum.

In the client's own channels

Kickoff and day to day coordination ran in a channel in IDLance's own Slack, and the platform runs in its own AWS account under its own brand.

Evaluated on every deployment

We checked each deployment from the member, moderator and admin sides, and client feedback from Figma and test sessions became tickets that were verified when fixed.

Back on a live platform

When the client brought in a new administrator ahead of a cohort rollout, we returned for the handover with courtesy support for onboarding and minor fixes, and new features scoped for approval.

What this unlocked

The scope addendum adds agency descriptions, accounts with several roles and a view switcher, a Most Popular list by location, scheduled announcements and read only impersonation with an audit trail. Our proposed AI layer would flag comments with a reason and a confidence score for moderators to decide on.

Have a product with the same kind of constraints?

Tell us what already exists and what you want it to do. We will tell you what it takes.

Book a 30-minute Product Review