Learn a language by pointing at the world around you
AR Language Immersion turns everyday objects into vocabulary lessons. A learner opens the AR Immersion page, grants camera access, and a client-side TensorFlow.js object-detection model (COCO-SSD) identifies common objects in the live camera feed — a chair, a cup, a laptop, a plant — drawing a bounding box and a floating label over each one. Tapping a detected object sends its English label to an AI helper, which returns the word in the learner's target language, a phonetic pronunciation, a short cultural fact, and an example sentence with its translation. That word is saved to the learner's personal vocabulary bank, where mastery is tracked over repeated reviews. Beyond the camera view, an AI conversation-practice partner chats in the target language with gentle grammar correction, a daily challenge keeps practice consistent, a login streak rewards regular use, and a CEFR-level (A1–C2) assessment gives an honest read on overall proficiency.
Point and detect
The camera feed runs through an on-device object-detection model in real time; no images are uploaded just to detect what is in frame.
AI translation on tap
Tap a detected object for its target-language word, pronunciation, a cultural fact and an example sentence.
Personal vocabulary bank
Every word you look up is saved and tracked for mastery through a simple review flow.
AI conversation partner
Practise real exchanges in your target language with gentle, encouraging grammar correction.
Daily challenges & streaks
A fresh AI-generated challenge each day, plus a login streak to build a consistent habit.
CEFR progress tracking
An honest, plain-language assessment of proficiency from A1 (beginner) to C2 (mastery).
LearnerID, all under
the prefix ALI_.
Built for anyone who learns vocabulary better in context
Travellers
People preparing for a trip abroad who want practical, everyday vocabulary for objects they will actually encounter.
New residents
Anyone relocating to a new country who wants to learn the local language starting with what is around their own home.
Language students
School and self-taught learners who want a visual, contextual way to reinforce classroom vocabulary.
Hobbyist learners
Anyone learning a language for personal interest who prefers short, daily, low-pressure practice sessions.
It suits anyone who wants to learn vocabulary in context, tied to real objects, rather than only from flashcard lists. It is a vocabulary-building and conversation-practice aid — not a certified language proficiency exam and not a replacement for structured coursework if formal certification is the goal.
Simple flat monthly subscription
AR Language Immersion is billed as a flat monthly subscription per learner — one price covers unlimited AR immersion sessions, AI object translation, the vocabulary bank, conversation practice, daily challenges and CEFR progress tracking. Payment is via Razorpay from the Subscription area, and a successful charge keeps the plan active.
The page map
| Page | Who | Purpose |
|---|---|---|
| ALI_Default.aspx | Public landing | Marketing landing page and sign-in entry point; explains the product and links into the shared AIS sign-in flow. |
| ALI_LearnerDashboard.aspx | All signed-in | The post-login home: learner name, CEFR level and tier, current/longest streak, today's daily challenge summary, a target-language switcher, and quick links into AR Immersion, Conversation Practice and the Vocabulary Bank, alongside a recent-progress summary. |
| ALI_ARImmersion.aspx | All signed-in hero | The hero page: live camera view with a canvas overlay running on-device object detection, floating labels that update to the target-language word once translated, tap-to-translate detail cards with pronunciation and a "hear it" speaker button, and an "Add to vocabulary" action. |
| ALI_VocabularyBank.aspx | All signed-in | The learner's saved vocabulary for their current target language, shown as cards with translation, mastery level, pronunciation and an expandable cultural fact, plus a simple review flow to mark words correct or incorrect. |
| ALI_ConversationPractice.aspx | All signed-in | A chat-style AI conversation partner in the target language with an optional translation reveal, gentle inline grammar corrections, a "speak" button per message, and an on-demand CEFR level assessment. |
| ALI_DailyChallenge.aspx | All signed-in | Today's AI-generated challenge with a progress bar, a shortcut into AR Immersion or Conversation Practice depending on the challenge category, and a short recent-activity strip. |
| ALI_ProgressMap.aspx | All signed-in | The full progress view: CEFR level badge with reasoning, a vocabulary-mastery breakdown by language, a 14-day session-activity chart, and streak and total-words-learned figures. |
| ALI_Subscription.aspx | Settings capability | Current plan, expiry and days remaining, and a Razorpay checkout to subscribe or renew. |
| ALI_Master.master | Layout | The shared master page — sidebar navigation, topbar and mobile hamburger menu — every ALI_ page renders inside it. |
From a glance at a room to a growing vocabulary
Point the camera
The learner opens ALI_ARImmersion.aspx and grants camera access.
Detect objects
TensorFlow.js COCO-SSD detects objects in the live feed and draws labelled bounding boxes on a canvas overlay.
Translate on tap
ALI_ClaudeHelper.GetVocabularyForObject returns the target-language word, pronunciation, cultural fact and example sentence.
Save to the bank
The word is saved via ALI_usp_AddVocabulary and appears in ALI_VocabularyBank.aspx for review.
Practise speaking
ALI_ConversationPractice.aspx lets the learner chat with the AI partner and get gentle corrections.
Track progress
Daily challenges, streaks and a CEFR assessment on ALI_ProgressMap.aspx show growth over time.
Four focused AI passes, all routed through ALI_ClaudeHelper
All AI calls are routed through ALI_ClaudeHelper and never throw — on any
error or malformed reply, the calling page shows a clear message instead of a raw exception.
GetVocabularyForObject — translate a detected object
Given the English object label "{{object_label}}" detected by the camera,
provide the word in {{target_language_name}} for a learner. Return STRICT JSON
only: { "wordTarget": "...", "pronunciation": "phonetic guide",
"culturalFact": "one short, factual, interesting note", "exampleSentence":
"a short sentence using the word", "exampleSentenceTranslation": "its
translation into {{native_language_name}}" }
Keep everything factual, concise and appropriate for a language learner.
No emojis, no superlatives.
ConversationReply — the AI conversation partner
You are a friendly conversation partner helping a learner practise
{{target_language_name}} at CEFR level {{learner_cefr_level}}. Reply naturally
in {{target_language_name}} to the learner's message, keep sentences short and
level-appropriate, and if the learner made a grammar mistake, note it gently.
Return STRICT JSON: { "reply": "...", "replyTranslation": "...",
"hasCorrection": true|false, "correctionNote": "short, kind explanation or empty" }
No emojis, no superlatives.
AssessCEFRLevel — an honest proficiency read
Based on this learner's recent activity in {{target_language_name}}:
{{recent_activity_summary}}
Estimate their CEFR level (A1, A2, B1, B2, C1 or C2). Return STRICT JSON:
{ "cefrLevel": "A1|A2|B1|B2|C1|C2", "reasoning": "2-3 plain sentences",
"strengths": ["..."], "areasToImprove": ["..."] }
Be honest and specific to the activity provided, not a generic estimate.
No emojis, no superlatives.
GenerateDailyChallenge — a fresh daily practice goal
Generate one daily practice challenge for a {{target_language_name}} learner
at CEFR level {{learner_cefr_level}}. Return STRICT JSON: { "challengeText":
"one clear, achievable instruction", "category": "vocabulary|conversation",
"targetCount": 3-10 }
Keep it specific, achievable in one sitting, and appropriate to the learner's
level. No emojis, no superlatives.
An honest, plain-language proficiency read
Alongside vocabulary and conversation practice, the AI can assess the learner's CEFR level — the Common European Framework of Reference for Languages, running from A1 (beginner) through C2 (mastery) — based on a summary of recent activity: words learned, review accuracy, conversation exchanges and challenge completion. The assessment includes plain-language reasoning, named strengths and named areas to improve, so the learner understands why the level was given, not just the label itself. This is presented as an informal, activity-based estimate for self-tracking motivation — it is not a certified proficiency exam and should not be presented as one for academic, visa or employment purposes.
Six levels, A1–C2
The full CEFR scale, stored on the learner record and updated only when the learner requests a fresh assessment.
Named strengths
Specific, activity-based positives — not generic encouragement.
Named areas to improve
Concrete next steps drawn from the same recent-activity summary used to set the level.
Standard phone-camera object detection, not WebXR "true AR"
getUserMedia camera feed
Standard browser camera access, the same API used by any video-calling web app — no special permissions beyond camera access.
On-device detection
TensorFlow.js COCO-SSD runs the detection model in the browser itself, so raw camera frames are never uploaded just to find out what is in view.
HTTPS required
Camera access via getUserMedia requires the site to be served over HTTPS — a browser security requirement, not optional.
Graceful permission handling
If camera access is denied or the detection model fails to load, the page shows a clear message and a retry option rather than a blank screen.
The stack
Backend
ASP.NET Web Forms, VB.NET, .NET Framework 4.7.2. AJAX via page <WebMethod> PageMethods returning JSON. No full-page postbacks for data operations.
Database
SQL Server (shared db_9b0fff_aiscompany). Parameterised CDATA SQL and stored procedures via ALI_DBHelper, soft delete (IsDeleted), audit columns (CreatedOn). Prefix-scoped to ALI_.
Frontend
Tailwind CDN, sky-blue/orange glassmorphism, Font Awesome 6.5.1, TensorFlow.js + COCO-SSD (UMD builds via CDN) for on-device object detection, the Web Speech API's speechSynthesis for pronunciation playback. Master page ALI_Master.master.
Integrations
Groq/Claude AI routing (translation, conversation, CEFR assessment, daily challenges), Razorpay (subscription checkout + webhook), WhatsApp (1msg.io) daily-challenge reminders, Telegram build/activity alerts.
Shared helpers referenced across the pages: ALI_DBHelper
(GetTable / GetTableSP / GetTableSPSet / Execute / ExecuteSP / Scalar / P), ALI_ClaudeHelper
(GetVocabularyForObject, ConversationReply,
AssessCEFRLevel, GenerateDailyChallenge), and the shared AIS
RBAC/auth kit for sign-in, since there is no separate ALI_Auth table — the
learner's identity comes from the shared kit and LearnerID is the
OrgId.
A learner-scoped data model
Tables
ALI_Learners
The tenant learner — name, contact details, target/native language, CEFR level, subscription tier and expiry. LearnerID is the OrgId.
ALI_Languages
The catalog of supported target languages — code, name, native name and speech locale for pronunciation playback.
ALI_VocabularyMastery
The learner's personal vocabulary bank — target/native word, pronunciation, cultural fact, example sentence, mastery level and review count.
ALI_Sessions
A timed learning session — AR immersion, conversation, daily challenge or review — with start/end time, duration and words learned.
ALI_DetectedObjects
A logged COCO-SSD detection within a session — object label, resolved target word and detection confidence.
ALI_DailyChallenge
One AI-generated challenge per learner per day — text, category, target and completed counts.
ALI_Streaks
One row per learner — current streak, longest streak and last activity date.
ALI_Subscriptions
Razorpay subscription/order rows — plan, amount, dates, status, webhook payload.
ALI_WhatsAppLog
Outbound WhatsApp message log — mobile number, message type, body, status.
ALI_error_log
Page/method-level error log for Try-Catch reporting.
ALI_activity_log
Activity trail — tenant LearnerID and acting kit-user UserID kept distinct.
Key stored procedures
| ALI_usp_GetLearner | Resolve the active learner row plus the joined target-language name. |
| ALI_usp_GetLanguages / ALI_usp_SetTargetLanguage | List active languages, or switch the learner's active target language. |
| ALI_usp_StartSession / ALI_usp_EndSession | Begin a timed session (returns SessionID) and mark it ended with a words-learned count. |
| ALI_usp_LogDetectedObject | Log a COCO-SSD detection within a session. |
| ALI_usp_AddVocabulary / ALI_usp_GetVocabularyBank / ALI_usp_ReviewVocabulary | Upsert a vocabulary word (returns VocabID), list the bank for a language, or mark a review correct/incorrect. |
| ALI_usp_GetTodayChallenge / ALI_usp_SaveDailyChallenge / ALI_usp_UpdateChallengeProgress | Fetch, create or update progress on today's daily challenge. |
| ALI_usp_GetStreak / ALI_usp_TouchStreak | Read or update the learner's login/activity streak. |
| ALI_usp_GetProgressMap | Three result sets: headline figures, mastery by language, and last-14-days activity. |
| ALI_usp_SaveSubscription | Record a subscription/order row; extends the learner's plan on a paid/active/charged webhook event. |
Deploy via sqlcmd
Apply the product schema directly to the shared SQL Server instance, then verify object counts. The script is idempotent and prefix-scoped — it never touches other products' objects.
sqlcmd -S sql5083.site4now.net -U db_user -P ****** -d db_9b0fff_aiscompany ^
-i C:\asp.net\CompanyProjects\AIAis\ArProjects\ARLanguageImmersion\ALI_Database.sql
-- verify
SELECT COUNT(*) FROM sys.tables WHERE name LIKE 'ALI_%'; -- the product tables
SELECT COUNT(*) FROM sys.procedures WHERE name LIKE 'ALI_usp_%'; -- the proc layer
Serve the site over HTTPS at /ArProjects/ARLanguageImmersion/ — required for
getUserMedia camera access. Set the Groq/Claude and Razorpay credentials in the
shared config. Sign in, open AR Immersion, grant camera access, point at a few everyday objects, tap one to
translate it, review it in the Vocabulary Bank, try a conversation exchange, and confirm today's daily
challenge and the streak counter update as expected.
Demo & review accounts
ALI_Default login. The demo learner is seeded with a Spanish target language, a B1
CEFR level, sample vocabulary and an active streak, and the reviewer/demo account is granted full,
non-expiring access so every module unlocks without hitting a paywall or checkout — important for
app-store and Play-review access checks.How camera access and pasted conversation text are handled
Server-side gating
Every page and PageMethod re-checks sign-in and the calling learner's own LearnerID — never trusting the client.
Learner scoping
All sessions, vocabulary, challenges, streaks and subscription rows are filtered by the signed-in learner's LearnerID, so one learner never sees another's data.
Defensive AI parsing
AI responses for translation, conversation and assessment are parsed defensively; malformed output surfaces as a clear on-screen message rather than a raw error or a corrupted save.
Payment verification
Razorpay orders are created server-side; webhook events are verified before a subscription is marked paid.
Telegram alerts
Page views, translation lookups and errors can raise alerts to the Archana build/activity bot for operational visibility.
Conversation text
Conversation practice messages are used only to generate the AI partner's reply and, where relevant, a CEFR assessment; they are not shared outside the learner's own account.
Where AR Language Immersion goes next
- More target languages: broader out-of-the-box language coverage beyond today's initial catalog, with community-suggested additions.
- Live pronunciation scoring: recording the learner's spoken attempt and giving AI feedback on pronunciation accuracy, beyond today's listen-only playback.
- Group conversation practice: an opt-in shared session where two or more learners practise a conversation scenario together with the AI partner moderating.
- Offline vocabulary review: a downloadable review set for the current vocabulary bank usable without a live connection.
- Richer object detection: a larger or fine-tuned detection model covering more everyday object classes than the current baseline.
- Spaced-repetition scheduling: evolving today's simple correct/incorrect review flow into a proper interval-based spaced-repetition schedule.
- Classroom/cohort mode: an educator view that assigns a target vocabulary set to a group and shows aggregate progress, building on the existing per-learner history.