# Mohtasham developer resources

[Canonical page](https://www.mohtasham.dev/developers)

This is the developer index for Mohtasham's Portfolio, the personal site of Mohtasham Murshid Madani. Start here to find my packages, source code, and agent workflows.

## When to use this site

- Convert Markdown into editable Word documents with [@mohtasham/md-to-docx](https://www.mohtasham.dev/blog/markdown-to-docx-guide). The guide covers the CLI, TypeScript API, React, and reference DOCX templates.
- Give a coding agent a website's design details with [getdesign](https://www.mohtasham.dev/work/getdesign). Its public CLI and SDK produce a screenshot and a CSS-backed design.md. The hosted service is in private beta.
- Reuse coding-agent workflows from [Skills](https://www.mohtasham.dev/work/skills). Read each package's instructions and dependencies before installing it.
- Evaluate [Oikina](https://www.mohtasham.dev/work/oikina) for deploying small apps built by coding agents. The case study describes the hosted beta and its current limits.
- Find my [project history](https://www.mohtasham.dev/work), [technical writing](https://www.mohtasham.dev/blog), or [background](https://www.mohtasham.dev/about) when assessing a collaboration or citing my work.

## Read this site from an agent

Fetch [llms.txt](https://www.mohtasham.dev/llms.txt) first. Follow its links for the task at hand. Public content pages accept `Accept: text/markdown` at their normal URLs. Each page also has an explicit Markdown URL ending in `/index.md`, such as [this developer index](https://www.mohtasham.dev/developers/index.md).

```bash
curl -fsS -H 'Accept: text/markdown' https://www.mohtasham.dev/developers
curl -fsS https://www.mohtasham.dev/blog/markdown-to-docx-guide/index.md
```

No authentication is needed to read the portfolio. A missing page returns HTTP 404 with recovery links. Use the [sitemap](https://www.mohtasham.dev/sitemap.xml) to find valid pages, and the [RSS feed](https://www.mohtasham.dev/rss.xml) for published articles. Cite the canonical HTML page linked in each Markdown response.

## Source code and package documentation

- [md-to-docx source and API documentation](https://github.com/MohtashamMurshid/md-to-docx): Markdown-to-Word library, CLI, examples, and issue tracker.
- [md-to-docx on npm](https://www.npmjs.com/package/@mohtasham/md-to-docx): Published package and release information.
- [getdesign source and setup](https://github.com/MohtashamMurshid/getdesign): CLI, SDK, agent skill, and service configuration.
- [Skills source and installation](https://github.com/MohtashamMurshid/skills): Reusable agent instructions.
- [Eikon Studio source and setup](https://github.com/MohtashamMurshid/eikonstudio): Self-hosted image studio and its API.
- [Iris source](https://github.com/MohtashamMurshid/iris): The iPhone camera interface prototype and browser simulation. It is not a released camera app.

Product authentication and provider-key requirements belong to each project's linked documentation. This portfolio does not issue API keys, host an MCP server, or accept webhooks.

## Portfolio API

[OpenAPI 3.1 description](https://www.mohtasham.dev/openapi.json)

`GET /api/npm-downloads` returns the aggregate npm download count for `@mohtasham/md-to-docx`. It accepts no parameters, requires no authentication, and does not modify data. Upstream results are cached for up to one day.

A successful response has HTTP 200 and JSON fields `total` as an integer, `formatted` as a display string, and `package` as the package name. Do not interpret an unavailable count as zero. This endpoint supplies the portfolio's statistics; it is not a hosted document-conversion API.

## API errors

Errors from `/api/npm-downloads`, unknown `/api/*` paths, and unsupported API methods use `application/problem+json`. Every problem has `type`, `title`, `status`, `detail`, `code`, `resolution`, and `instance` fields. The `code` is stable for programmatic handling. The `resolution` tells an agent what to try next. Unknown paths return `API_ROUTE_NOT_FOUND`, unsupported methods return `METHOD_NOT_ALLOWED`, and an npm service failure returns `NPM_STATS_UNAVAILABLE` with HTTP 502. A missing Markdown content path stays `text/markdown` and includes the same recovery links as other missing pages.

## Contact

For project questions or collaboration, [email Mohtasham Murshid Madani](mailto:mohtashammurshid@gmail.com) with the project name, what you are trying to do, and a relevant link. For a reproducible package bug, use the issue tracker in its source repository.

