Visual portfolios for software engineers.
hehhi transforms GitHub repositories, schemas, APIs, and live applications into interactive portfolios that help hiring managers and collaborators understand what developers have built — without cloning repositories or reading through code.
Every portfolio includes:
- Visual project cards generated from developer assets
- Interactive database schema and API explorers
- Sandboxed live terminal sessions for runnable projects
- An AI-powered "Ask Me Anything" widget grounded in the developer's own work
- Hosted portfolio pages with optional custom domains
GitHub is excellent for source control but poor at showcasing engineering impact.
hehhi bridges that gap by helping developers answer questions like:
- What does this project actually do?
- Why was this architecture chosen?
- How does this system scale?
- Can I try it without setting it up locally?
Our goal is to make backend, infrastructure, and systems work as tangible and interactive as a designer's portfolio.
Paste a GitHub repository, schema link, API specification, or live application URL to generate a rich project showcase.
Project cards include:
- Repository metadata
- Tech stack detection
- Language breakdown
- README rendering
- Key file summaries
- Last updated information
Convert supported database schemas into interactive ERDs.
Supported formats:
- dbdiagram.io links
- Raw SQL schema files
Render OpenAPI and Swagger specifications into interactive endpoint documentation.
Run supported projects directly in the browser using secure, ephemeral containers.
Key constraints:
- No internet egress
- Session TTL: 15 minutes
- Resource-limited execution
- No persistent storage
Every portfolio includes an AI-powered Q&A experience.
Visitors can ask questions such as:
- "How does authentication work?"
- "What database did you use and why?"
- "What would you improve in this architecture?"
Responses are generated exclusively from developer-provided context, including:
- README files
- Project annotations
- Developer bios
- Manual Q&A entries
- Portfolio descriptions
If sufficient context is unavailable, the assistant explicitly says so instead of guessing.
Developers can publish portfolios at:
username.hehhi.me
or connect their own domain using CNAME records.
GitHub OAuth
↓
Repository Import
↓
Content Extraction
↓
Portfolio Generation
↓
Content Indexing
↓
Vector Store
↓
AMA Retrieval
↓
LLM Response Streaming
- Web application
- API service
- Background workers
- Vector database
- Sandbox execution environment
- CDN-backed static hosting
apps/
├── web/ # Frontend application
├── api/ # Backend API
packages/
├── types/ # Shared TypeScript types
├── ui/ # Shared UI components
├── config/ # Shared configuration
The exact structure may evolve as the platform matures.
- TypeScript
- React
- Next.js
- Tailwind CSS
- Fastify
- TypeScript
- Octokit
- Anthropic Claude
- Retrieval-Augmented Generation (RAG)
- Container sandbox provider
- Vector database
- CDN
- Object storage
- Node.js 20+
- pnpm 9+
- GitHub OAuth application
- Anthropic API key
Clone the repository:
git clone https://github.com/<org>/hehhi.git
cd hehhiInstall dependencies:
pnpm installCreate environment files:
cp .env.example .envStart the development environment:
pnpm devExample:
NODE_ENV=development
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
ANTHROPIC_API_KEY=
DATABASE_URL=
VECTOR_DB_URL=
SESSION_SECRET=
APP_URL=http://localhost:3000
API_URL=http://localhost:3001See .env.example for the complete list.
pnpm devpnpm buildpnpm testpnpm lintpnpm formatThe AMA experience follows three rules:
- Answer only from developer-provided content.
- Never speculate or invent information.
- Clearly indicate when sufficient context is unavailable.
Example fallback response:
I don't have enough information in this portfolio to answer that accurately.
All live terminal sessions are:
- Ephemeral
- Isolated
- Network-restricted
- Resource-limited
- AMA conversations are developer-owned data
- Conversation logs can be deleted on request
- Visitor authentication is not required
- Sensitive repository data is never indexed without explicit developer consent
- GitHub OAuth
- Repository import
- Project cards
- Portfolio hosting
- Basic AMA
- Live terminal sessions
- Custom domains
- Visitor analytics
- Vector retrieval
- AMA question logs
- Billing and pricing
- API explorer
- AMA escalation workflows
- Performance hardening
We welcome contributions.
Please read:
CONTRIBUTING.mdCODE_OF_CONDUCT.md
Before submitting a pull request:
- Create a feature branch.
- Run tests locally.
- Ensure linting passes.
- Update documentation when necessary.
This project is licensed under the MIT License unless otherwise specified.
See LICENSE for details.