Skip to content

Project Status & Gaps

Last Updated: February 2026 | This page is the single source of truth for what's built, what's partial, what's planned, and what's missing.

Executive Summary

DoCurious has a comprehensive frontend prototype with 189 page components, 28 Zustand stores, 25 API modules (mock + real), and a full backend Express server with 130+ endpoints. The platform covers all 23 V2 spec documents with varying levels of completeness.

StatusFeature SectionsDescription
Built~95Fully implemented with UI, store, and API integration
Partial~150Core functionality exists, some spec requirements missing
Planned~35Specified in V2 docs, no implementation yet
Not Started~15Critical gaps requiring work before launch

What's Working Well

These systems are spec-compliant and fully functional against mock data:

  • Auth system — Login, register, OAuth stubs, JWT tokens, session management, role-based selectors, workspace switching
  • Route guards — AuthGuard, AgeGuard, ConsentGuard, TierGuard, AdminRoleGuard, ContextGuard, ParentGuard
  • Challenge lifecycle — Browse, start, track progress, document with Track Records, submit for verification, complete
  • Track Record system — Full CRUD, 4 media types, milestone tracking, finalization flow with reflection prompts
  • Community system — 6 types, 3 feed types, membership management, moderation tools, batch sharing
  • Gamification — 15 levels, 7+ badge categories, weekly streaks, XP events, Journey Map, leaderboards
  • School assignments — Teacher assigns → student completes → Track Record → teacher reviews
  • Account management — Profile, password, 30-day deletion, data export, data access requests
  • Notification preferences — Per-category/per-channel toggles, quiet hours, email digest frequency
  • Admin panel — 85+ admin pages, 7 admin roles, audit log, flagged content queue, analytics dashboards
  • Compliance pages — Cookie consent, Terms of Service, Privacy Policy, AUP, DMCA, School DPA, Vendor Terms, Accessibility Statement
  • Type system — 32 type definition files covering every domain entity
  • Mock API layer — 25 modules with localStorage persistence and 3,000+ lines of seed data
  • Backend server — Express + Prisma + PostgreSQL with 130+ endpoints across 18 domain services

Compliance Status

MUST FIX BEFORE LAUNCH

These are legal/regulatory gaps:

ItemStatusRiskDetails
COPPA $1.00 credit card verificationNot startedHighSpec requires $1.00 charge per parent-child link as FTC-accepted consent verification. No payment UI built.
Consent revocation UINot startedHighNo way for parents to withdraw previously granted consent from within the app.
MFA for admin usersNot startedMediumSpec requires mandatory TOTP for admins. No MFA implementation exists.
Annual COPPA re-consentNot startedMediumSpec recommends annual re-verification prompt. Not built.
FERPA data isolation enforcementNot startedMediumBackend needs school-scoped data access. Currently no enforcement.
Encryption at restNot startedMediumBackend database not encrypted. Spec requires AES-256 for PII.
Breach notification workflowNot startedLowSpec defines 72-hour notification process. No implementation.

COMPLIANCE ITEMS RESOLVED (Feb 2026)

These were previously critical gaps and are now fixed:

ItemResolution
Under-13 deletion enforcementAccountDeletion page blocks self-deletion for minors; parent-only with 48-hour COPPA timeline
Under-13 data restrictionsOptional PII fields hidden for minors; stripped on registration
COPPA notification routingAge-based filtering; under-13 blocks social/vendor emails
Re-authentication before deletion3-step flow with password verification
Cookie policyFull cookie policy page with 4 types + children's provisions
School DPAFERPA-compliant data processing agreement page
DMCA/CopyrightTakedown procedures page
CCPA/State privacyPrivacy Policy includes all 6 consumer rights

Gap List by Feature Area

Challenges & Track Records (Doc 2)

GapPriorityNotes
Full XP calculation formulaMediumSpec defines 6 multiplier factors (base + difficulty + duration + venue + cost × fudge). Codebase uses simplified base values (50/100/200).
Challenge creation form fieldsMediumMissing: fulfillment type, cost, location, solo/group, cover image upload, verification requirements, teacher tips, resource links in the vendor creation UI.
Interesting List / Bucket List separationMediumCurrently merged into a single "Saved List." Spec defines two distinct lists with different purposes.
User-to-provider registration flowLowUsers cannot self-register as vendors through the UI. Spec describes a "Become a Challenge Provider" flow.
Category management admin UILowCategories require code changes to modify. Planned admin interface for staff to add/rename/reorder has not been built.
Locked field enforcementLowNo runtime check preventing structural edits (milestones, difficulty, materials) on challenges with active users.
TR entry reorderingLowNo drag-and-drop for Track Record entries.
TR storage usage indicatorLowNo display showing 100MB per-TR limit or 80% warning.
Portfolio export formatsLowOnly 2 of 5 portfolio templates built. No PDF/print output.

Explore & Discovery (Doc 4)

GapPriorityNotes
View LibraryMediumOnly 5 curated views built. Spec calls for ~30 across 6 families with user-pinnable views.
Best Fit recommendation algorithmMediumMulti-signal scoring (interests, history, community behavior) is specified but not implemented.
Dealer's Choice depthMediumCurrent: 3 cards, no penalties, no practice mode for under-13. Spec: 4 cards, XP penalties, practice DC.
Bucket List / Interesting List splitMediumSame as challenges gap — currently merged.
Map provider integrationLowMapView uses SVG mock. No real map provider (Google Maps / Mapbox).
Calendar view depthLowNo week/day views or external calendar sync.
Sort controls in search resultsLowMissing sort dropdown in search results view.

Communities & Social (Doc 5)

GapPriorityNotes
Community type defaultsMediumCreation form has 6-type selector but doesn't auto-apply per-type defaults (visibility, join model, gifting).
Grouped 24-hour feed updatesMediumEach shared item appears individually. Spec defines grouped cards for batch shares within 24h.
Community deletionMediumStore and API don't expose delete operation. Spec allows creator to delete.
Community invitations (email)LowIn-platform invitations work. Email invitations to non-platform users not built.
Partner-finding overlap highlightsLowBucket List overlap detection in community feeds not implemented.
Premium partner-findingLowStructured introduction requests with radius search — deferred.
Profile visibility per-field controlsLowNo granular per-field privacy settings on profile.
Community name lengthLowUI enforces 50 chars. Spec says 100.

School Administration (Doc 6)

GapPriorityNotes
CSV student roster importMediumTypes referenced. No upload UI or parsing logic built.
School onboarding self-service wizardMediumPartially built. Full application flow with admin review incomplete.
School settings pageMediumAcademic calendar, COPPA settings, billing config not built.
Student roster columnsLowMissing: last login, challenges assigned/completed, CSV export.
Class archivingLowNo archive/alumni status for classes.
Billing UILowNo billing interface for schools (per-active-user model).

Gamification (Doc 8)

GapPriorityNotes
Journey Map richnessMediumCurrent: flat grid with emoji icons. Spec: interactive territory map with fog/reveal, zoom levels, individual challenge markers.
Anti-gaming enforcementMediumDaily XP caps and duplicate detection specified but not enforced.
Cooperative gamification depthLowGroup challenges and community goals are built, but cooperative badge award logic is simplified.
Learning Path prerequisites & branchingLowLinear paths only. No prerequisite checking or branching paths.
Leaderboard monthly resetLowSimplified implementation. Spec defines 5 scoped types with automated monthly reset.

Notifications (Doc 11)

GapPriorityNotes
Toast notification systemMediumNo real-time toast notifications for events (XP gain, badge earned, etc. display in-app only on page components).
Push notificationsMediumNo Service Worker. Spec calls for opt-in push with COPPA-aware routing.
Contextual badge countsLowMy Challenges tab, Communities tab don't show unread/pending counts in navigation.

Gifting & Invitations (Doc 3)

GapPriorityNotes
Multiple gift recipientsMediumCurrently single-recipient only. Spec allows batch gifting.
Fulfillment confirmation after acceptMediumNo "Have you received your kit?" prompt after gift acceptance.
School bulk gifting workflowMediumSA bulk gift page built but not fully wired to the gift flow.
Gift/invitation reminder systemLowNo reminders for unclaimed gifts.
Vendor redirect for purchaseLowGift flow doesn't redirect to vendor's purchase page.

Vendor Portal (Doc 20)

GapPriorityNotes
Stripe Connect integrationMediumEndpoint stubs exist. No live connection to Stripe.
Vendor onboarding completionMedium4-step flow is built but some steps use mock data.
Vendor analytics depthLowBasic charts built. Spec defines deeper audience insights and conversion tracking.

Internationalization (Doc 16)

GapPriorityNotes
String coverageHighOnly ~6% of strings translated (~120 of 2,000+). Most components use hardcoded English.
ICU MessageFormatMediumNo pluralization support in translations.
RTL supportLowNo logical CSS properties for right-to-left languages.
URL path prefix strategyLowNo /es/, /fr/ URL strategy for SEO.

Accessibility (Doc 18)

GapPriorityNotes
aria-live regionsMediumNo live regions for dynamic content updates.
Keyboard accessibilityMediumSome interactive elements use <div onClick> without tabIndex/onKeyDown.
Automated a11y testingMediumNo eslint-plugin-jsx-a11y or axe-core integration.
High-contrast modeLowNo dedicated high-contrast theme.
Error pagesLowNo dedicated 404, 403, 503 pages.

Privacy & Compliance (Doc 10, 14)

GapPriorityNotes
Key managementMediumNo encryption key rotation or HSM integration.
Audit log enforcementMediumBackend audit logging exists but not all actions are captured.
DPA signature workflowLowSchool DPA page exists but no digital signature or countersigning flow.
Data retention automationLowNo background jobs for automated cleanup (dormant accounts, expired exports, etc.).

Backend Integration Status

The frontend has 25 .real.api.ts files ready for backend integration. Current connection status:

API ModuleBackend StatusNotes
AuthConnectedLogin, register, token refresh, Google/Apple stubs
ChallengeConnectedBrowse, detail, categories. Stats/status-map endpoints pending.
Track RecordConnectedCRUD, entries, submission. Media upload pending.
GamificationConnectedXP, badges, streaks, levels. Leaderboard endpoint pending.
UserPartialProfile fetch works. Settings update pending.
CommunityStubEndpoints defined, not connected.
GiftStubEndpoints defined, not connected.
SchoolStubEndpoints defined, not connected.
NotificationStubEndpoints defined, not connected.
VendorPartialOnboarding wired. Dashboard data pending.
All othersStubEndpoint signatures exist, no live data.

Infrastructure Gaps

ItemPriorityNotes
Background job systemHighNo cron jobs for: COPPA deadlines, dormant accounts, data export generation, scheduled deletions, annual re-consent.
File storage (S3/equivalent)HighNo object storage for Track Record media. Currently mock only.
Email delivery serviceHighNo transactional email (verification, password reset, notifications, digests).
Real-time updatesMediumNo WebSocket or SSE. Polling only.
Search infrastructureMediumNo full-text search backend (Elasticsearch/Typesense). Mock search only.
CDNMediumNo static asset CDN.
Rate limitingMediumSpecified in types but not enforced in backend middleware.
CI/CD pipelineLowGitHub Actions for docs only. No build/test/deploy pipeline for the app.
Monitoring/alertingLowNo APM, error tracking, or alerting system.

Codebase Metrics

MetricValue
TypeScript/TSX source files489
Page components189
Reusable components~148 across 26 directories
Zustand stores30
Type definition files32
Custom hooks3 (useFeatureFlag, useLocation, useAddressSearch)
Utility modules2 (cn class merge, contextHelpers)
API modules (mock + real)26 pairs + 1 real-only
Routes195
Route guards7 types
User roles9
Admin roles7
Backend endpoints130+
Backend services18
Backend test files25
Storybook stories55 (22 UI + 33 domain)
i18n languages3 (en/es/fr)
V2 spec documents23
Documentation pages586 (docs site)
Screenshots73

Priority Recommendations

Before Launch (Critical Path)

  1. COPPA payment verification — Build the $1.00 credit card consent flow
  2. Consent revocation UI — Let parents withdraw consent
  3. Email delivery — Transactional email for verification, password reset, consent requests
  4. File storage — S3 or equivalent for Track Record media uploads
  5. Background jobs — COPPA deadline enforcement, account cleanup, export generation
  6. i18n coverage — Expand from 6% to at least 80% of user-facing strings
  7. Admin MFA — Mandatory TOTP for platform admin accounts

During Beta

  1. CSV roster import — Schools need bulk student enrollment
  2. Full XP formula — Replace simplified values with spec's 6-factor calculation
  3. Dealer's Choice depth — 4 cards, penalties, practice mode for under-13
  4. Grouped feed updates — 24-hour batch grouping for community feeds
  5. Push notifications — Service Worker integration with COPPA-aware routing
  6. Interesting/Bucket List split — Separate the two saved lists per spec
  7. Challenge creation form — Complete all missing fields in vendor creation UI

Post-Launch Improvements

  1. Journey Map richness — Interactive territory map with fog/reveal and zoom
  2. Premium partner-finding — Radius-based structured introductions
  3. Learning Path branching — Prerequisites and non-linear paths
  4. Real map provider — Google Maps or Mapbox for geographic discovery
  5. Portfolio export — PDF/print output with all 5 templates
  6. Accessibility audit — Full aria-live, keyboard nav, automated testing

Where to Find More Detail

TopicLocation
Feature-by-feature business rulesKnowledge Base (15 feature pages)
Spec-to-code mappingSpec Traceability
Full route mapRoute Map (189 routes)
Store referenceStore Reference (28 stores)
Permission matrixPermissions Matrix
Role guidesRole Guides (7 roles)
Backend endpointsBackend Endpoints
Infrastructure costsInfrastructure Costs
Product roadmapProduct Roadmap

DoCurious Platform Documentation