Documentation

How Astra works

Everything you need to get your GitHub repositories live as a portfolio in under 60 seconds.

Quickstart

Getting from zero to a live portfolio takes four steps and under 60 seconds.

01

Sign in with GitHub

Astra requests a read-only OAuth token scoped to your public repository metadata. No write access is requested. Private repositories are never accessed unless you explicitly extend the permission scope.

02

Select up to 5 repositories

Choose the projects you want to feature. Astra runs parallel AST analysis on all selected repositories — language detection, exported symbols, dependency graphs, framework patterns, and commit statistics.

03

Generate

Hit Generate. Within 60 seconds, Astra produces technical narratives for each project, identifies your engineering patterns, and assembles a complete portfolio. You can edit any generated text before publishing.

04

Share your link

Your portfolio is live at useastra.tech/u/your-username. Share it in applications, your bio, or anywhere you want your work seen.

How it works

Astra is built on a Rust processing engine that connects to the GitHub API, fetches your selected repository data, and runs AST-level static analysis — not a surface-level README skim. It identifies exported symbols, framework usage patterns, dependency graphs, and architectural signals directly from the code structure.

The analysis output is passed to an AI reasoning layer calibrated for engineering audiences. Rather than generating generic marketing copy, the AI produces technical narratives that explain architecture, design trade-offs, and implementation depth — the kind of context a hiring engineer or technical founder needs to evaluate your work.

All repository analysis runs in parallel. Five repositories take roughly the same time as one. Generated portfolios are server-rendered for fast load times and are publicly accessible without requiring visitors to log in.

AI providers

Astra uses Google Gemini as the primary inference provider. Repository summaries are sent as prompt inputs. Under our agreement, Gemini does not use your data to train its models.

What Astra reads

Astra performs AST-level analysis on your selected repositories. Here is exactly what is accessed and how it is used:

  • Repository name, description, and GitHub topics
  • Primary language and full language breakdown by byte count
  • Exported symbols, components, hooks, handlers, and classes (structure only — not logic)
  • Dependency manifest (package.json, Cargo.toml, requirements.txt, go.mod, etc.) — packages and versions
  • Framework and library detection inferred from import patterns
  • Commit count and activity frequency (not commit messages or diffs)
  • Open-source licence type
  • Star and fork counts

What Astra never reads or stores

Astra does not read or store raw source code, commit messages, commit diffs, pull requests, issues, code review comments, or any private repository data. AST analysis extracts structural signals only — the shape of your code, not the content.

Auto-sync

Once your portfolio is published, Astra watches your connected repositories via GitHub webhooks. When you push new code, Astra automatically re-analyzes the affected repositories and updates your portfolio within approximately two minutes.

Auto-sync is enabled by default for all connected repositories. You can disable it per-repository from your dashboard settings if you prefer to control when updates go live.

01

You push to a connected repository

GitHub sends a webhook event to Astra within seconds of the push.

02

Astra re-analyzes the repository

The delta is analyzed using the same AST pipeline as the initial generation.

03

Portfolio updates automatically

The updated narrative and project data are published to your live portfolio within ~2 minutes. No action required.

Portfolio templates

Astra ships three portfolio templates. Template selection is available from your dashboard after generation.

Minimal

Clean layout with a light default. Focused on readability and presenting technical depth without visual noise.

Terminal

Monospaced, command-line aesthetic. Built for engineers who want their portfolio to feel like an interface.

Void

Dark, high-contrast design with a code-editor feel. Built for engineers who want something that reads as technical and serious.

All templates support dark and light display modes and are optimised for both desktop and mobile viewing. Additional templates are in development.

FAQ

Is Astra free?

Astra is free during early access. Pricing will be announced before the public launch. Waitlist members lock in their rate at signup.

Can I edit the generated portfolio?

Yes, fully. Every generated sentence is editable inline before and after publishing. You can rewrite a section, cut a paragraph, or publish the first draft exactly as-is.

Does Astra support private repositories?

Not by default. The default OAuth scope is read-only on public repositories. Private repo access is not currently offered.

How is my portfolio URL structured?

Your portfolio is served at useastra.tech/u/your-github-username. The username is set automatically from your GitHub account.

How often does my portfolio update?

Automatically — within ~2 minutes of any push to a connected repository via GitHub webhooks. You can also manually trigger a regeneration from your dashboard.

Which languages does Astra support?

Astra parses 20+ languages including TypeScript, JavaScript, Python, Rust, Go, Java, Ruby, Swift, and Kotlin, with framework detection for Next.js, FastAPI, Django, Gin, Axum, Rails, Spring Boot, and more.

How long does generation take?

Under 60 seconds for up to five repositories. All repos are analyzed in parallel, and narrative generation runs concurrently per project.