ESLWorks: NLP Assessment & Subscription Platform from Zero | Celestinosalim.com
ESLWorks: NLP Assessment & Subscription Platform from Zero
First engineering hire at ESLWorks (Opus). Built end-to-end NLP-powered assessment and subscription systems integrated with messaging platforms, reducing manual grading by 90% and increasing registrations by 80%.
ESLWorks: NLP Assessment & Subscription Platform from Zero
ESLWorks (operating as Opus) was a chat-based platform providing English language training to essential workers. I joined in September 2019 as the first engineering hire. The founders had a working concept — conversational English practice delivered through messaging platforms — but no automated assessment, no subscription billing, and a grading process that was entirely manual.
My job was to build the technical foundation that would let the product scale beyond what human graders could handle.
The Problem
The core of ESLWorks was a promise: essential workers — home health aides, warehouse staff, food service employees — could improve their English through daily practice on the messaging apps they already used. The model was sound. The bottleneck was grading.
Every assessment was graded by hand. A human instructor reviewed each student's responses, scored them, and provided feedback. This worked at 50 students. It could not work at 500.
Registration was manual. New students signed up through a combination of forms, emails, and messaging threads. There was no self-service flow and no automated onboarding.
No subscription infrastructure. The business model depended on recurring revenue from partner organizations that sponsored training for their employees. There was no billing system, no plan management, and no usage tracking.
What I Built
NLP-powered assessment engine. I built an automated grading system that analyzed student responses for grammar, vocabulary usage, sentence structure, and conversational fluency. The NLP pipeline scored responses against rubrics that the instruction team defined, producing both a numeric grade and targeted feedback. The system handled the majority of routine assessments automatically, escalating edge cases to human instructors.
Messaging platform integration. Students interacted with the platform through messaging apps — the channels they already used daily. I integrated the assessment engine with these messaging platforms so that practice sessions, assessments, and feedback all happened within a single familiar interface. No app download required. No new login to remember.
Subscription and billing system. I built the subscription infrastructure end-to-end: plan creation, enrollment, billing cycles, usage tracking, and reporting for the organizations sponsoring their workers' training. This was the revenue engine that made the business model work.
Student onboarding flow. The self-service registration replaced the manual email-and-spreadsheet process. New students could sign up, take a placement assessment, get assigned to the appropriate level, and start their first practice session — all without human intervention.
The 90% reduction in manual grading meant that the instruction team could shift from routine scoring to the work that actually required human expertise: designing curriculum, coaching struggling students, and developing new content. The automated system handled volume; humans handled nuance.
The 80% increase in registrations was the compound effect of removing friction from the signup process. When signing up takes 2 minutes instead of 2 days, more people follow through.
What I Learned
As first engineering hire, you build everything. There is no "that's not my team's responsibility." Assessment, billing, integrations, infrastructure — it was all one person's scope. This forced me to make ruthless prioritization decisions. I could not build the perfect NLP engine and also build a subscription system. I had to build both well enough that the business could operate, and iterate from there.
The best interface is no new interface. Essential workers are not downloading apps. They are not creating accounts on web platforms. They are texting. Building on messaging platforms meant meeting users where they already were, eliminating the adoption barrier entirely. This lesson — reduce friction by building into existing behavior rather than asking for new behavior — has informed every product decision I have made since.
NLP for assessment is not NLP for conversation. The assessment engine needed to evaluate whether a response demonstrated specific language skills, not just whether it was grammatically correct or semantically coherent. "She go to store yesterday" is grammatically wrong but demonstrates vocabulary, temporal markers, and communicative intent. The rubric-based approach — measuring against specific instructional objectives — produced better pedagogical outcomes than generic grammar scoring.