This is the client version with the three key views of the period: day-by-day timeline, deliverables grouped by functional area, and the real status of pending items. All data is real, pulled live from Jira (epic SD-227) and GitHub (swissbull-group/learntrading); nothing is invented.
⏱️ Actual duration: 34 working days. The period from March 19 to May 7, 2026 spans 50 calendar days, from which 7 Saturdays, 7 Sundays and 2 Bolivian national holidays are deducted (Good Friday, April 3 and Labour Day, May 1) → leaving 34 working days. The key figure: there were commits on all 34 working days, meaning the team worked on virtually every available working day in the period, with no dead weeks or idle days within the working schedule.
Each day is a collapsible: the title summarises what was done; opening it shows the tickets (traceable evidence in Jira) and the activity (tickets closed · commits · PRs). Collapsed by default — click each day to see the detail. Weekends and public holidays omitted.
Work by the Design team, in parallel with development (it began on March 15, before the code). Data provided by the Design team — not from Jira
SD-227or GitHub.
Investigation & concept development · Moodboarding (visual direction) · Typography & color palette · Logo suite development · Social-media profile pictures & banners.
Mascot concept & development · Mascot character presentation.
Home-page wireframe · Complete Home-page mockup · Hero-section banner & Home-page visual assets (icons & video) · Home-page feature cards.
Plans-page section design.
Complete Course-page design · Certificate design · Module 1 & 2 lesson banners · Course-page feature cards · Course-page icon set · Certificate design (Course page) · Social-media channel setups (Facebook, Instagram, X, TikTok) · Social-media launch-post designs.
Tickets: SD-229, SD-226, SD-230, SD-232 · 4 done · 21 commits · 4 PRs
Tickets: SD-238, SD-231, SD-234, SD-239 · 4 done · 7 commits · 2 PRs
Tickets: SD-241, SD-247, SD-248, SD-253, SD-250, SD-249, SD-240 · 7 done · 22 commits · 3 PRs
Tickets: SD-242, SD-243, SD-244, SD-254, SD-255, SD-228 · 6 done · 21 commits · 2 PRs
Tickets: SD-264, SD-271, SD-273, SD-279, SD-281, SD-283, SD-251, SD-268, SD-270, SD-274, SD-275 (and more) · 18 done · 48 commits · 2 PRs
Tickets: SD-245, SD-265, SD-266, SD-294, SD-256, SD-288, SD-284 · 11 done · 35 commits · 7 PRs
Tickets: SD-305, SD-307 · 2 done · 22 commits · 4 PRs
Tickets: SD-299, SD-304, SD-309, SD-319, SD-313, SD-314, SD-290, SD-316 · 11 done · 18 commits · 3 PRs
Tickets: SD-321, SD-322, SD-330, SD-331, SD-276, SD-324, SD-325, SD-326 · 9 done · 23 commits · 3 PRs
Tickets: SD-329, SD-362, SD-336 · 3 done · 30 commits · 4 PRs
Tickets: SD-354, SD-363, SD-366, SD-368 · 4 done · 29 commits · 2 PRs
Fri Apr 3 – Sun Apr 5 — Easter (Bolivian public holiday: Good Friday, Apr 3). No commit activity. These are non-working days, not a delay.
No tickets closed (Done) that day — resumption after the holiday, with in-progress work already committed to code.
In progress (referenced in the day's commits): SD-385 (AI agent improvements), SD-320 (NowPayments), SD-371 (simultaneous AI actions), SD-365 (final quiz page).
Commits that day (17): force-dynamic + auth guard on the dashboard layout · True/False question component integrated into the exam · certificate page + user RLS policies · form refactor (useWatch) in DcaForm/Liquidation · PR/Slack commands.
Activity: 0 done · 17 commits · 4 PRs
Tickets: SD-332, SD-388, SD-365, SD-364, SD-424, SD-426, SD-387 · 7 done · 30 commits · 6 PRs
Tickets: SD-431, SD-433, SD-428, SD-429, SD-320, SD-333, SD-386, SD-427 · 9 done · 32 commits · 5 PRs
Tickets: SD-291, SD-335, SD-334, SD-430 · 4 done · 24 commits · 4 PRs
Tickets: SD-442, SD-443, SD-445, SD-446, SD-456 · 5 done · 24 commits · 4 PRs
Tickets: SD-459, SD-468, SD-469, SD-444, SD-455, SD-458, SD-460, SD-470 · 8 done · 27 commits · 7 PRs
Tickets: SD-485, SD-486, SD-487, SD-488, SD-496, SD-503, SD-494, SD-484 · 9 done · 25 commits · 5 PRs
Tickets: SD-507, SD-508, SD-509, SD-510, SD-512, SD-515, SD-504, SD-518 · 8 done · 9 commits · 2 PRs
Tickets: SD-506, SD-511, SD-528, SD-533, SD-461, SD-527, SD-513, SD-516 · 8 done · 32 commits · 5 PRs
Tickets: SD-549, SD-594, SD-581, SD-588, SD-591, SD-589, SD-546 · 7 done · 21 commits · 6 PRs
Tickets: SD-603, SD-605, SD-604, SD-610, SD-611, SD-612, SD-602, SD-607 · 8 done · 36 commits · 8 PRs
Tickets: SD-616, SD-618, SD-617, SD-613 · 4 done · 22 commits · 7 PRs
Tickets: SD-626, SD-634 · 2 done · 16 commits · 4 PRs
Tickets: SD-295, SD-653, SD-659, SD-661, SD-666, SD-655 · 6 done · 18 commits · 4 PRs
No tickets closed (Done) that day — work-in-progress session; formal closures fall on the next working days.
In progress (referenced in the day's commits): SD-681 and SD-627 (proxy and auth form technical debt), SD-664 (password rules), SD-636 (breadcrumbs across all flows), SD-685 (X/Twitter avatars in next/image), SD-658 (404 page).
Commits that day (16): preserve Supabase cookies in proxy redirects (SD-681) · auth form cleanup (SD-627) · password reset gate with recovery cookie (SD-664) · consistent breadcrumbs (SD-636) · pbs.twimg.com whitelisting (SD-685).
Activity: 0 done · 16 commits · 4 PRs
Tickets: SD-680 · 1 done · 16 commits · 3 PRs
Tickets: SD-703, SD-704, SD-705, SD-706, SD-710 · 5 done · 32 commits · 3 PRs
Tickets: SD-712, SD-713, SD-722, SD-723, SD-745, SD-746, SD-671 · 7 done · 18 commits · 5 PRs
Tickets: SD-751, SD-752, SD-753, SD-755, SD-756, SD-757, SD-758, SD-759, SD-760, SD-761, SD-762, SD-763, SD-764 · 13 done · 55 commits · 4 PRs
Fri May 1 – Sun May 3 — Bolivian public holiday (Labour Day, May 1). No activity. Non-working days.
Tickets: SD-767, SD-783, SD-784, SD-785, SD-390, SD-391 · 6 done · 23 commits · 5 PRs
Tickets: SD-786, SD-791, SD-792, SD-793, SD-505, SD-811, SD-803 · 7 done · 21 commits · 6 PRs
No tickets closed (Done) those days — final touch-ups and close-out integrations. May 7 is the last day with activity in the repository.
In progress (referenced in commits): SD-555 (lesson content shortcodes in markdown), SD-527 (embedded quiz), SD-780 (aesthetic refresh of "destructive" tokens), SD-819 / SD-817 / SD-839 (post-SD-802 follow-ups), SD-675 (GDPR Art. 20 data export).
May 6 commits (19): lesson shortcode plugin foundation · GDPR data export endpoint (SD-675) · "destructive" token refresh with APCA verification (SD-780) · idempotency and seed fixes.
May 7 commits (10): shortcuts panel + 6 in-lesson shortcuts · callout and fill-blank exercise components for lessons · shortcode wiring in the MarkdownRenderer (SD-555).
Activity: 0 done · May 6: 19 commits / 3 PRs · May 7: 10 commits / 1 PR
⛔ From May 8 onwards: complete stop. Zero commits and zero PRs in
learntradingfrom May 8 to today (~53 days). The cause is not the team: it is a project reassignment (see the full report).
Everything delivered (200 tickets Done), grouped by area. The number is the ticket count for that area.
| # | Area (scope) | Active period | What was built |
|---|---|---|---|
| 1 | Landing & marketing site | Mar 20 – May 5 | Base layouts, all landing sections (hero, stats, why, features, how-it-works, roadmap, testimonials, pricing, FAQ, CTA, footer), courses/pricing/tools pages, dark mode, responsiveness, and Framer Motion animations |
| 2 | Courses / LMS | Mar 25 – May 5 | Course persistence, premium lessons, quizzes and exams (gates, retries, explanations), certificates, XP, progress tracking, course CRUD |
| 3 | Infrastructure & DevOps | Mar 19 – May 4 | Next.js project, CI, Supabase, Vercel (prod/staging), domains, Resend, branch protection, migrations, Next.js 16, error handling |
| 4 | Authentication & account | Mar 24 – Apr 23 | Login/Signup, Google Sign-In, password recovery, email confirmation, profiles, avatars, sessions, user drawer |
| 5 | Payments & subscriptions | Mar 25 – Apr 21 | Stripe (test, billing, cancellations) and NowPayments (crypto, idempotency), pricing cards, payment modal, post-purchase flows |
| 6 | AI Audio (ElevenLabs) | Apr 15–16 | Text-to-speech integration: "Rachel" voice, .mp3 generation, audio bucket, AudioPlayer in lessons and automatic generation from admin |
| 7 | AI Tooling / DevOps (Claude Code) | Mar 19 – Apr 13 | Claude commands and agents, PR reviews, *skills*, type generation — internal team productivity |
| 8 | Trading tools | Apr 2 – May 5 | Tools page, liquidation calculator (formula verified vs Binance/Bybit), trading journal, animations |
| 9 | Legal & content | Apr 29 – May 5 | Cookies, terms and conditions (styling); privacy and disclaimer pending (see §3) |
| 10 | Branding & mascot | Apr 2–30 | Brand typography and colour palette app-wide, mascot customisation, video |
| 11 | Admin panel | Mar 26 – Apr 17 | Google Cloud account, feature management (cross-cutting: LMS/Audio/Payments) |
Note: 5 cross-cutting tickets (debug loggers, dashboard layout, route info, sprint presentation) are not assigned to a single area. Administration is also distributed within Courses, Audio, and Payments (exam CRUD, audio from admin, billing).
Deliverables by the Design team in the same period (data provided by the Design team; not from Jira/GitHub):
| Area | Period | What was delivered |
|---|---|---|
| Visual identity & logo | Mar 15–18 | Investigation & concept, moodboarding (visual direction), typography & color palette, logo suite, social profile pics & banners |
| Brand mascot | Mar 19–22 | Mascot concept & development, character presentation |
| Website — Home / 404 / Login | Mar 23 – Apr 5 | Home wireframe & complete mockup, hero banner & assets (icons & video), Home feature cards |
| Website — Plans page | Apr 10–11 | Plans-page section design |
| Website — Course page + assets & social | Apr 13–30 | Complete Course-page design, certificate, lesson banners (Modules 1 & 2), feature cards, icon set, Course-page certificate, social setups (Facebook, Instagram, X, TikTok), launch-post designs |
Of the 215 epic tickets, 15 are not Done:
To Do (10) — launch gates, not lost work:
| Ticket | What it is |
|---|---|
| SD-293 | Update production API KEYS for NowPayments |
| SD-315 | Organise environment variables in Vercel |
| SD-669 | /legal/privacy page (Privacy Policy) |
| SD-670 | /legal/trading-disclaimer page |
| SD-672 | Collect client's legal entity data to publish T&C |
| SD-673 | Promote /legal/terms from draft to published |
| SD-454 | Migrate useCourseProgress to Server Actions |
| SD-525 | Exam distribution strategy (random + weighted modes) |
| SD-369 | Architecture observations |
| SD-483 | Replace placeholder exam when the real content arrives |
Blocked (2):
| Ticket | What it is | Why |
|---|---|---|
| SD-285 | Google Cloud Console branding (production) + logo review | Depends on external material/decision |
| SD-517 | Highlight words as audio plays | Requires ElevenLabs plan upgrade (API) |
Won't Do (3): SD-307, SD-390, SD-391 — discarded infrastructure decisions (not failed work).
Several pending items depend on the client (legal entity data for T&C — SD-672, real exam content — SD-483, audio plan upgrade — SD-517), not on the development team.
This section was generated by AI (Claude). It is an honest, independent assessment —not a sales pitch— based on the real Jira and GitHub data and on reading the project's code. It states both the verifiable strengths and what is still missing.
Verdict: LearnTrading is not a façade prototype. It is a product with **real, near-production-grade
engineering**, built on solid foundations that are verifiable in the code:
versioned migrations and *server actions* with typed error handling. Data lives in a real database, not
in frontend mocks.
and audio are created and edited from an admin panel with real CRUD against the database — it is
not "faked" from the frontend. An administrator can operate the product without touching code.
password recovery, email confirmation and proper session handling, with creator/student roles.
cancellations and end-to-end-tested idempotency.
progress tracking.
the lessons.
decisions**: legal pages (privacy, disclaimer, T&C — they require the client's legal-entity data),
NowPayments production keys and the final ordering of environment variables. Word highlighting during
audio is blocked by an ElevenLabs plan upgrade.
Estimated maturity: an essentially complete, production-quality MVP — clearly above a landing page
with simulated logic. The remaining work is launch closeout, not core construction: with the client's
inputs (legal data, production keys) and a few decisions, the product is launch-ready.
_— Analysis generated by Claude (AI). Sincere and independent; based on real Jira/GitHub data and the project's code._
_Sources: Jira epic SD-227 and GitHub swissbull-group/learntrading, pulled live on Jun 29 2026. Team report (not per-person). Nothing invented._