-
-
Development demo: course details, source links and personal attendance tracking for a fictional course.
-
Development demo: dashboard with self-reported CPD totals and fictional course data.
-
Development demo: sign-in screen with clearly labelled fictional data.
-
Development demo: personal learning records and printable affiliation record; not regulator certification.
-
Technical demo: merging course fields across sources and checking supporting evidence.
Inspiration
Malaysian doctors need to find relevant continuing professional development (CPD) opportunities while keeping their learning records organised. Course information is scattered across provider websites, and comparing dates, fees, locations and advertised credits takes time. Care Credits brings discovery, source evidence and personal tracking into one workspace.
What it does
Doctors can search and filter the published Malaysian CPD catalogue, inspect original sources, follow provider registration links, record sign-up and attendance, track self-reported points, export CSV records, and issue printable Care Credits affiliation records. The dashboard opens directly at the public website's root URL.
Operators can run bounded discovery jobs, inspect structured candidates alongside captured source quotations, correct or reject unsupported details, and publish reviewed listings. Course/session identity checks prevent duplicate publication; repeating a completed discovery job returns its saved receipt instead of running extraction again. Operators can also inspect maintenance receipts and catalogue-quality findings, including missing information and overdue source reviews.
Care Credits is a personal learning organiser, not an accreditation authority. Advertised credits are provider claims; attendance and recorded points are self-reported. Affiliation records are not MMC, MOH or APC certificates. Opening a provider link does not register a doctor, and the application does not guarantee professional licence renewal.
How we built it
The application combines Next.js, React and TypeScript with a Python FastAPI backend, SQLAlchemy and PostgreSQL. The reconciled backend separates HTTP routes and schemas, feature services, repositories, models and database migrations. The public application runs on Vercel Hobby with Neon Free PostgreSQL; the reproducible local demo uses SQLite.
Tavily searches and retrieves public provider content. NVIDIA Nemotron 3 Super, served through Nebius Token Factory, converts that text into structured course candidates. The backend validates required fields and supporting quotations before review and publication. Unknown dates, fees or points remain unknown rather than being invented. Model identity and the API endpoint are independently configurable; API keys stay server-side.
Nebius Token Factory supplies runtime model inference. We do not claim that Vercel's web hosting or Neon's database runs on Nebius AI Cloud.
Verified NVIDIA and Nebius integration
On 30 October 2026, live discovery job 541b975e26994f5f8c6feb1621390886 completed successfully with no warnings. Its saved application receipt records:
- Model: nvidia/nemotron-3-super-120b-a12b
- Endpoint host: api.tokenfactory.nebius.com
- Reported model usage: 5,401 tokens
- Output: four validated course candidates
- Repeating the terminal job returned the stored receipt without another extraction.
This is application-level execution evidence, not independent provider attestation. Four extracted candidates does not mean four newly published courses: publication requires separate source and duplicate review. This run selected the provider homepage and is not an isolated live proof of every fallback-fetch path.
Live extraction and release evidence · Deployment details and earlier live receipt · Model provenance and licence links
Challenges and what we learned
The main challenges were reconciling the backend architecture with a usable dashboard, preserving evidence across discovery and review, and adapting persistent jobs to serverless execution. We repaired extraction failures involving missing optional fields, invalid structured output and quotations that did not support the claimed provider. Diagnostics now distinguish fetch, schema and evidence failures without exposing secrets. Public course URLs and bounded matching detail links help when directory pages are incomplete.
We learned that a configured model name is not proof of inference, and valid model output is not proof of course accreditation. Reliable discovery needs traceable source text, explicit uncertainty, duplicate checks and review. Responsive layouts, modal filters and clear error states matter just as much as the pipeline.
Accomplishments and verification
We integrated the doctor and operator workflows, deployed a working public application and recorded a successful live NVIDIA/Nebius extraction. On 30 October, a fresh Windows checkout was installed and tested without cloud credentials: sign-in, exact course search, persisted attendance, CSV export, affiliation records, operator publication, duplicate-safe repeat publication and role restrictions all worked.
The production build passed. The isolated backend suite collected 423 tests: 421 passed and two opt-in live checks were skipped, with no failed modules. All ten Chromium browser regression tests passed, including desktop/phone layouts and operator diagnostics. These local checks are separate from the live inference evidence above.
Local demo verification record
Try it and judge walkthrough
- Live application: create your own doctor account. Production discovery and publication require an operator role.
- Submitted source and README: the integrated application is on codex/v1-integrated-demo, not the older starter on the default branch. Source is MIT-licensed.
- Setup instructions: exact Windows and macOS/Linux commands, prerequisites, local accounts and troubleshooting. The latest fresh-checkout rehearsal was on Windows.
- Judge walkthrough and checklist: a repeatable doctor-to-operator journey, expected results and live-evidence references.
The local demo needs Git, Node.js 22.13 or newer, Python 3.12 and internet access for installation. It requires no API keys, cloud account or credit card. Its doctor/operator accounts and courses are fictional and work only locally. It demonstrates review and publication without making a model call; live reproduction requires privately configured provider credentials and may consume provider credits. Documentation and verification were pushed in commit c2a141c.
Current scope and what's next
The attached screenshots show earlier development fixtures. The video is an earlier website walkthrough; the current capabilities and limitations are described here. Automatic email delivery, recovery emails, digests and Google sign-in remain disabled pending configuration and verification. Scheduled housekeeping and operator diagnostics are implemented; discovery remains bounded by provider credits and free-plan limits. We do not offer an unlimited autonomous crawler.
Next steps are wider source coverage, evidence attachments, carefully configured reminders and email, and usability feedback from Malaysian doctors. Regulatory renewal decisions and guaranteed credit approval are outside the current product's scope.
Built With
- fastapi
- nebius
- neon
- next.js
- nvidia-nemotron
- postgresql
- python
- tavily
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.