Infinite Interdimensional Web Router inspired by Rick and Morty's portal gun.
Portal (formerly GPT FileSmith) allows you to enter any path or URL (e.g., /plumbus.html, /blips-and-chitz/arcade.js), and a powerful AI Core will generate a corresponding file based on the path and extension.
- Dimensional Tethering π Enter any path (e.g.,
/about.html,/styles.css), and the selected AI Model synthesizes file content based on the path. - Multiverse Core Integration π Slap your API keys into the Battery Bay to power the portal gun with
gpt-5.4-nano,gemini-3.1-flash-lite, orclaude-4.5-haiku. - Secure Authentication π Keys are never saved to a database, just stored in your local HTTP-only secure cookies!
- Rick & Morty Action Bar π« Wrap generated HTML in a sleek interdimensional action bar allowing instant extraction (downloads) or portal closing.
- Direct Address Bar Execution β‘ Just type
/anything.htmldirectly in the browser's address bar to skip the gadget UI and simulate instantly.
# Clone & install
git clone https://github.com/aleksa-codes/portal.git
cd portal
bun install
# Run dev server
bun run devOpen http://localhost:3000.
| Command | Description |
|---|---|
bun run dev |
Dev server (port 3000) |
bun run build |
Build for production (Astro + Netlify Edge) |
bun run preview |
Preview production build |
bun run format |
Prettier (Astro + Tailwind + import sorting) |
src/
βββ layouts/ # layout.astro (HTML boilerplate, fonts, global styles)
βββ pages/ # Routes
β βββ index.astro # Frontend "Gadget Console" view
β βββ [...path].ts # Catch-all dynamic route for file generation
β βββ api/ # ReST API storing/wiping user API Keys
βββ styles/ # global.css (Theming, animations, R&M UI gradients)
βββ utils/ # ai-provider.ts (Vercel AI wrapper for LLMs)
| Category | Technology |
|---|---|
| Framework | Astro 6 |
| Styling | Tailwind CSS 4 + PostCSS Context |
| AI SDK | Vercel AI SDK |
| AI Models | OpenAI, Google Generative AI, Anthropic |
| Deployment | Netlify (Edge Adapters) |
| Package Manager | Bun |
| Icons | astro-icon (@iconify-json/lucide) |
Deploy to Netlify with these settings:
- Build command:
bun run build - Publish directory:
dist - Framework: Astro
MIT - see LICENSE.