PERSONAL PORTFOLIO / 2026

HimangshuRaj Gogoi.

Ideas, made tangible.

Student developer · AI explorer · Building useful tools.

Curious by nature. Built one idea at a time.
FORM / 001
ALWAYS TAKING SHAPE
Scroll to explore
A FEW THINGS I'M BUILDING

Selected work.

02 PROJECTS / GITHUB

Small tools, real problems. Explore what works, how it was built and what’s still ahead.

Project entries are pinned to checked source revisions; dates and languages are snapshots, not a live activity feed.

Actual local Personal-agentic-ai web studio showing a calculation plan preview and draft review panel.
01 / PERSONAL AI

Personal-agentic-ai

Local-first AI work, including a standalone 3D Android orb.

A local-first assistant starter for bounded task preparation, private notes and owner-reviewed drafts. Its Android source now includes a standalone 3D WebGL home-orb component.

AIAndroidFlutterPythonLocal-firstSQLite

Updated · Dart · Python · Kotlin · Java · JavaScript · HTML · Shell

All published Personal AI APKs (23)

The current stable APK is build 26 (v1.23.07.01, versionCode 26), for ARM64 direct installation (not Google Play). SHA-256: 6734dc84192499658c2c974f7db046557294ce17e1d4badddd79a92219b134a0. Local Gemma chat remains experimental; Redmi 24090RA29I/HyperOS installation and runtime are unverified. Indic-Speak offline voice generation is not implemented; Android TTS and optional ElevenLabs are separate. Older links are labeled by their GitHub release or prerelease status; prereleases include development, test and debug builds.

Stable release

Other GitHub release builds (not marked prerelease)

GitHub prereleases (development, test or debug)

Inside the build
The problem
Everyday tasks need useful preparation without quietly sending messages or taking consequential actions.
What I built
A Python planner with validated tool steps, SQLite memory, deterministic local commands and exact draft reviews. The local web studio makes those boundaries visible. Development main adds paginated notebook browsing, Unicode-aware literal note search and notes-only JSONL export, plus a Flutter/Dart Android app with a local notebook and editable flashcard decks, a due-review queue and deterministic Again/Hard/Good/Easy intervals. Cards are user-authored, not AI-generated. The Android source also includes a standalone Flutter widget embedding a bundled WebGL 3D scene: a rotating orbital core, rings, branching neural filaments and moving pulses, with Adaptive, Ultra detail and Battery quality modes plus a neural-light toggle. It is local decorative art, restricted to the bundled page with no JavaScript bridge; it does not show AI activity or connect to a model. Main-branch Android source also adds finite progress notifications for user-started active chat requests; this is not a background service or an Android 16 Live Update.
Technologies
Python standard library · SQLite · Flutter/Dart · Android/Kotlin and Java · Flutter WebView · WebGL · vanilla HTML/CSS/JavaScript
Engineering takeaway
A preview is not permission. Validating a plan again before execution and invalidating changed approvals are explicit design boundaries in the code. The orb is clearly labeled as decorative art, separate from AI activity.
What’s still ahead
An earlier flashcard verification passed 27 Flutter tests and both hosted API36 native integration tests, including local study-record persistence across reload and restart. Android 16 CI run 39923508217 passed on main commit 424287b6d0783839955b12b726b1c44bd011d1de: Flutter checks, Rust native search checks, API36 instrumented local-first checks and Evidence. The public v0.3.0-build17 APK release is built from main commit 01d4fa1f5d9e46339bd30583bd0c663a502c2cc3. Android APK signature verification passed (v2); its published SHA-256, 4bc03d55cb0ef658f7c5861ba70557870c97421c582c3a91cba70680bc48d1c7, matches the downloaded 68.7 MB APK. The release workflow’s Gitleaks scan of strings extracted from that signed APK found no leaks. It is a direct-install APK, not a Play Store listing. Installation on Redmi 24090RA29I/HyperOS remains unverified. The orb remains a standalone source component, not wired into the app screen; it is decorative and does not connect to a model. These checks do not establish physical Redmi/HyperOS installation or model inference; Indic-Speak integration and qualification were not assessed. No message sending or connected social accounts. The web studio needs a local Python server. The study cards do not generate lessons or estimate mastery. Existing Python releases do not include the Android additions; JSONL exports are plaintext, not encrypted backups. The previous stable Android release was v1.00.00.0000.0 (build 18, versionCode 18); its Android 16 CI, Flutter and Rust checks, APK signing and integrity verification, and source/APK secret scans passed. Published APK SHA-256: a4161dbdcfec6097f824b9bb81de2284636b279da96aad2bafcc1ecf9269d202. It was a direct-install release, not a Play Store listing; Redmi 24090RA29I/HyperOS installation and runtime remained unverified, and Indic-Speak offline voice generation is not included. The previous stable release was v1.00.00.0000.0-build19 (versionCode 19), built from main commit 83708a98d72067ccc7b1e838f37b64e2482b4fe5 and signed with the configured Android release key. Its 72,233,902-byte ARM64 APK was a direct install, not a Play Store listing; published SHA-256: 6876b8fda399c480317913f07cb62019f6c588166dcc2145cd7e20d6f7989084. Build 21 (versionCode 21) was a previous stable release. The previous stable release was v1.00.00.0000.0-build24 (versionCode 24), published 24 October 2026 and built from main commit 5b57968dcaf2f0f393816ba630db26e6060e48a3, signed with the configured Android release key. Its 76,539,207-byte ARM64 APK was for direct installation, not a Play Store listing; published SHA-256: a04cd9db73483cd3ae90c2803fc9b7b0ca9d0321e5dc8efd69c943c72e524380. The release notes said the LiteRT-LM JNI callback keep-rule was included; local Gemma chat remained experimental, and Redmi 24090RA29I/HyperOS installation and runtime were unverified. Indic-Speak offline voice generation was not implemented; existing Android TTS and optional ElevenLabs are separate features, not an Indic-Speak replacement. The previous stable release was v1.00.00.0000.0-build25 (versionCode 25), published 25 October 2026 and built from main commit ae4d42703044973d0bdaef7244f537a090b9910f, signed with the configured Android release key. Its 76,687,171-byte ARM64 APK is for direct installation, not a Google Play listing; published SHA-256: ae0c60bae59c603a67895ed14dfe52f0e82d9e765b8467810fd05f2505b15b30. The release notes say the LiteRT-LM JNI callback keep-rule is included; local Gemma chat remains experimental, and Redmi 24090RA29I/HyperOS installation and runtime remain unverified. Indic-Speak offline voice generation is not implemented; existing Android TTS and optional ElevenLabs are separate features, not an Indic-Speak replacement. The main commit changes only the study-whiteboard test default for compatibility; it does not establish device compatibility or model qualification. Offline Qwen replies remain unqualified (`chat_qualified=false`), and Redmi/HyperOS installation and runtime remain unverified. Main commit 8e515b2 adds the active-chat progress tracker and Flutter/Kotlin unit tests. Android 16 CI run 40191147577 passed on main commit 8e515b2; at that point, this main-branch change was not included in stable build24, so the check did not establish released-APK behavior. After this release, API 36 CI run 40162187143 passed on main commit 162f233, which corrected only the expected Gemma offline-status text. At that point, this main-only test fix was not included in build24 and did not qualify Qwen or Gemma chat; Redmi/HyperOS behavior remains unverified. The latest published stable release is v1.23.07.01-build26 (versionCode 26), published 25 October 2026 and built from main commit f76d3a168fd2c12a5d6c15d50614fb192e937041, signed with the configured Android release key. Its 77,081,783-byte ARM64 APK is for direct installation, not a Google Play listing; published SHA-256: 6734dc84192499658c2c974f7db046557294ce17e1d4badddd79a92219b134a0. The release notes say Redmi 24090RA29I/HyperOS installation has not been physically verified, local Gemma chat remains experimental, and Indic-Speak offline voice generation is not implemented; Android TTS and optional ElevenLabs are separate features.

Based on repository snapshot ae4d427 ↗ (opens in a new tab), checked 25 October 2026. Takeaways describe the implementation, not a claimed personal lesson.

Actual lecture-slide-finder web interface with local lecture player, searchable transcript and study notes.
02 / STUDY TOOLS

lecture-slide-finder

Find the moment. Keep the idea.

Search a timestamped transcript, jump to a lecture moment and collect notes. A matching frame shows a slide only when one is visible in the video. A separate Android 1.00.0.00 stable APK adds offline English/Hindi transcription and visible-text OCR.

Study toolsWeb developmentTypeScriptVite

Updated · TypeScript · CSS · Java · Python

Inside the build
The problem
Finding one useful explanation inside a long lecture can mean a lot of scrubbing and lost context.
What I built
A local-first TypeScript lecture player with SRT/VTT/JSON imports, keyword search, timestamp seeking, video-frame previews and Markdown note export. The separate stable Android APK bundles English/Hindi speech recognition, a sequential decoded-frame gallery, offline OCR and local transcript/note recovery. Current source restores saved text locally; the video must be selected again.
Technologies
TypeScript · native DOM · Vite · Playwright · Python transcription utility · Java Android host
Engineering takeaway
A video frame is not automatic slide recognition. The implementation keeps that distinction visible, bounds imports and escapes transcript text and exported notes.
What’s still ahead
The embedded web snapshot uses keyword search, not semantic AI search; it has no automatic slide detection or OCR, and its notes stay in the current tab until exported. It does not transcribe on Android. The separate stable APK passed Android 16 emulator checks, not physical-phone or older-version qualification. Speech and OCR can be wrong; equations and small text need review. Export important notes; clearing local data can erase them. The APK is a self-signed GitHub sideload, not a Play Store release.

Based on repository snapshot fb9a6f6 ↗ (opens in a new tab), checked 21 October 2026. Takeaways describe the implementation, not a claimed personal lesson.

THE PERSON BEHIND THE PROJECTS

A little
about me.

I’m Himangshu Raj Gogoi. I’m 17 years old and currently studying in Class 12 at New Star Senior Secondary School. I’m also preparing for the JEE exam. Here, I share the projects I’m working on and the ideas I’m exploring.

01 / EDUCATION & DIRECTION
  1. CURRENTLY

    Class 12

    New Star Senior Secondary School

  2. ALONGSIDE SCHOOL

    Preparing for JEE

    Studying toward the Joint Entrance Examination.

02 / BASED IN

Majpather No. 1, Tinkhong, Dibrugarh, Assam, India

EVIDENCE, NOT PERCENTAGES

Tools behind the work.

Technologies found in my featured projects—not a claim of mastery. Open a case study to see where they fit.

01 / LANGUAGES

From the repositories

Python, TypeScript, Dart, Kotlin, JavaScript, Java, HTML & CSS, and Shell.

See project evidence ↗
02 / FRAMEWORKS

Native, deliberately

The featured web interfaces use native DOM APIs and vanilla JavaScript or TypeScript, rather than a UI framework.

03 / TOOLS

Build, store, test

Git & GitHub, SQLite, Vite and Playwright appear in the project workflows.

04 / CURRENTLY LEARNING

Exploring AI

Exploring useful AI tools through projects, alongside Class 12 and JEE preparation.

LET’S KEEP IN TOUCH

Contact me.

Have a question or an idea to share?
Send me an email — I’d love to hear from you.

Email me himangshurajg@gmail.comConnect on GitHub ↗ (opens in a new tab)
FORM / LIGHT / DEPTH

Glass core atelier.

DRAG TO ROTATE · PINCH TO EXPLORE1.0×

A 3D glass sculpture with outward branching neural light. Select a detail to focus, or double-tap any point to zoom toward it.

3D renderer loads when opened.

Drag to rotate. Turn Pan on to move a zoomed detail. Pinch or use + / − to zoom (1–4×). Double-tap a point to inspect it. Escape closes; Reset restores the full view. Decorative artwork, not an AI assistant.

A CLOSER LOOK

Project preview