Software engineering. Considered design. Work you can inspect.
My portfolio brings together the systems I build, the decisions behind them, and the technology I write about. Built with native web standards, an Apple-inspired interface, and AssistMe, an assistant that can help you explore the work.
| Light | Dark |
|---|---|
![]() |
![]() |
Real screenshots of the live website, captured November 9, 2026. View the gallery and capture details. Live music, counters, and service status can change.
Experience · Architecture · Run locally · Verification · Contributing
- Portfolio and projects. My background, experience, education, publications, résumé, and repository case studies, with filters and project previews.
- A journal with evidence. Twenty technology articles across January–October 2026: primary sources, worked examples, comparison tables, credited publisher images, and reading resources. Publication dates and editorial review dates remain distinct.
- AssistMe. Streaming answers, Markdown, code and mathematics, supported attachments, and browser actions that help visitors find relevant work. Provider availability and voice support depend on configuration and device capabilities.
- Systems you can inspect. Architecture notes, a service monitor, engineering workflows, and a changelog that records what changed and who helped build it.
- A personal side. A travel atlas, the tools I use, recently played music, world clocks, and contact and calendar features.
| Explore | What is inside |
|---|---|
| Projects | Repository facts, README imagery, filters, and previews |
| Journal | Research, practical examples, source links, and RSS |
| Systems | Architecture and engineering decisions |
| Monitor | Service probes and operational diagnostics |
| Travel | Places, routes, and an on-demand globe |
| Uses | Hardware, tools, and the development workflow |
| Changelog | Releases, fixes, attribution, and verified commit links |
See more of the website in both themes
| Surface | Light | Dark |
|---|---|---|
| Journal | ![]() |
![]() |
| Systems | ![]() |
![]() |
| Monitor | ![]() |
![]() |
| Travel | ![]() |
![]() |
| Uses | ![]() |
![]() |
| Changelog | ![]() |
![]() |
The design uses system typography, clear hierarchy, blue actions, visible focus states, and light/dark themes. Design rules cover responsive layouts, motion, contrast, and controls. This independent portfolio is not affiliated with Apple.
flowchart LR
Visitor[Browser: HTML / CSS / ES modules] --> Pages[GitHub Pages: static site]
Visitor --> Worker[Cloudflare Worker: active edge API]
Visitor -. Local development .-> Python[FastAPI]
Worker --> Models[OpenRouter]
Python --> Models
Worker --> Services[GitHub / media / calendar / Supabase]
Python --> Services
GitHub Pages hosts the production frontend. The Cloudflare Worker handles the active edge API. FastAPI provides local development and an optional serverless backend; the Vercel deployment is currently disabled. Chat streams from the API to the browser as newline-delimited JSON. Model selection belongs to the service configuration, not the client.
| Directory | Responsibility |
|---|---|
| src/ | Page shells, native ES modules, vanilla CSS, public data and media |
| workers/assistme-chat/ | Edge routing, streaming, integrations, and provider recovery |
| api/ | FastAPI routes, model routing, monitoring, and OAuth integrations |
| scripts/ | esbuild, asset generation, development, QA, and deployment tooling |
| tests/ | API, Worker, unit, and browser regression coverage |
| docs/ | Design, architecture, operating guides, and dated verification records |
There is no client-side React, Vue, Angular, or Svelte runtime. Tailwind runs at build time; components use vanilla CSS. See architecture and the folder map.
Use Node.js >=22 <27 (Node 22 recommended), Python 3.12+, uv, and Git.
git clone https://github.com/mangeshraut712/mangeshrautarchive.git
cd mangeshrautarchive
npm ci
uv venv --python 3.12 venv
uv pip install --python venv/bin/python -r requirements.txt -r requirements-dev.txt
npm run doctor:strict
npm run devOpen http://127.0.0.1:4000. FastAPI runs on port 8001, with health at /api/health and local API documentation at /api/docs. Name the Python environment venv so the development runner discovers it. Stop both services with Ctrl+C.
Without OPENROUTER_API_KEY, local FastAPI returns clearly labeled canned portfolio answers. For real integrations, copy .env.example to an ignored local environment file and configure only the services you use. Never put credentials in browser code or Git.
For browser tests, install Google Chrome: the configured Desktop Chrome project uses its chrome channel. Install other Playwright browsers when needed with npx playwright install. Calendar, voice, and media requirements are documented in the API guide.
npm run check # ESLint, Stylelint, Oxlint, Prettier
npm test # API + Worker + unit + critical Chrome journeys
npm run test:tester-army:ci # Deterministic desktop journeys
npm run security-check # Repository secret-pattern scan
npm run build # Production output in dist/Tests and coverage explain the suites; the November 9 review records this maintenance pass. GitHub Actions builds and deploys Pages after its quality gates. CodeQL analyzes JavaScript/TypeScript, Python, and Actions through GitHub default setup. A completed scan and a cleared alert list are separate checks.
Performance evidence has a scope. The deploy workflow requires 100/100/100/100 on its reduced audit-mode homepage, with rounded score thresholds. That gate does not establish raw 100s on every page, device, or normal live load. Use lighthouse-gate.js --full-load for normal-runtime measurement and retain the report and configuration. No universal live 100-score claim is made here.
Media has provenance. Blog images retain publisher credits and source links in the media manifest. Repository illustrations are labeled when conceptual. Third-party images retain their owners’ rights; this repository’s MIT license covers its code, not ownership of those images.
Start with CONTRIBUTING.md, AGENTS.md, and the design system. Keep changes focused, preserve existing work, and attach verification appropriate to the changed behavior. Report vulnerabilities privately through SECURITY.md.
I maintain this portfolio with assistance from several coding tools. Each shipped change records its contributor and purpose in the changelog; earlier records are preserved in development history.
| This maintenance contribution | Record |
|---|---|
| Coding agent | Gemini 3.8 Flash / Google Antigravity IDE |
| Purpose | Harmonize GitHub Operating View metrics, layout, and document comprehensive system architecture and risk matrix |
| Exact variant, reasoning mode, token usage | unavailable |
| Chatbot runtime | Separate configuration in FastAPI and the Worker |
The project showcase audit records catalog accuracy, GitHub metadata handling, and device/theme verification.
The persistent monitoring guide describes the collector, retention, incident policy, and verification.
The Monitor status redesign documents probe scope, freshness, and device/theme verification.
The November 9 responsive audit records device/theme coverage, fixes, and verification limits.
Documentation index · API · Design · Architecture · Tests · Roadmap · Status
Current guides and dated historical audits are indexed separately. Generated output, local reports, environments, and credentials stay out of source control. Website screenshots live under docs/screenshots/ and do not add assets to the production bundle.
Code is released under the MIT License. See CITATION.cff for software citation metadata.
Mangesh Raut · GitHub · LinkedIn · Contact













