# Inside Frame > An independent studio in Castiglione del Lago (PG), Italy, working across architecture, web and graphic design. Founded 2018. Contact: info@insideframe.it Inside Frame designs the space, the system and the surface — buildings and interiors, web platforms and products, brand identity and print. This file covers the web and software practice; the architecture and graphic selections are not yet published here. ## Selected web work - 01 [Pixeden](https://www.pixeden.com) — marketplace, Node · GraphQL · Mongo · Redis (with Pixeden LLC). A design-assets subscription marketplace live for about a decade and rewritten end to end — separate Node services for auth, payments and downloads behind a Next.js BFF, self-hosted. Around 15k unique visitors a day. - 02 [Orion Icon Library](https://www.orioniconlibrary.com) — svg web app, Next.js · Redux · Mongo (with Pixeden LLC). Real-time SVG icon customisation in the browser — recolour every named layer, adjust strokes, export SVG, sprite, icon-font or PDF. Same pipeline behind a bespoke enterprise icon-set generator built for McKinsey. - 03 [Lingrem](https://www.lingrem.com) — learning platform, Next.js · Capacitor · GraphQL (with Pixeden LLC). Spaced-repetition language learning, live on web and iOS from one codebase. A model writes the lesson content into validated structured formats; a separate GraphQL API owns the scheduling, the audio and the rate-gating, deterministically. - 04 [The Collection Paris](https://www.thecollectionparis.com) — members’ platform, Next.js · Mongo · Swift (with Pixeden LLC). A members’ club platform for car collectors: a web CMS plus Capacitor iOS companion apps, and a native CoreNFC plugin that turns the member’s iPhone into a physical access badge. - 05 [Mockupccino](https://app.mockupccino.app) — render engine, Python · FastAPI · Next.js (in progress). Photoreal product mockups without Photoshop: a Python engine decodes the perspective and mesh warps out of a PSD smart object and composites artwork onto them near-interactively, behind FastAPI and a Next.js editor. Built by pairing with AI — the render engine stays deterministic by design. - 06 [i-NEEA](https://www.i-neea.ch) — identity + platform, Next.js · GraphQL · Mongo. Brand identity first, then a multilingual site for a Swiss energy consultancy — a kind-parameterized headless CMS and a custom contact-to-admin request pipeline, built to grow as they add internal tools. - 07 [Dharma Point](https://www.dharmapoint.it) — site + headless cms, Next.js 16 · PPR · Mongo Atlas. Website and headless CMS for a Buddhist meditation centre in Pomaia — a block-based visual editor, an events calendar and a magazine the centre edits itself, with no developer in the loop. - 08 [Aperture](https://studio.aperture.pictures) — multi-tenant saas, Next.js 16 · tRPC · Drizzle (in progress). Photographers run their own branded photo-selling store on a subdomain: Postgres with row-level security, organisations, and money routed straight to the photographer through Stripe Connect with a platform fee. - 09 [Spik](https://spik.club) — capture app, Next.js 16 · Capacitor · IndexedDB (studio product). Shoot a photo, record a voice note over it with a waveform overlay, tag the place. Everything stays on the device — IndexedDB, offline, no account — or leaves as an encrypted link that expires. Web, iOS and Android from a single codebase. - 10 [Neocorner](https://www.neocorner.fr) — headless wordpress, Next.js · WPGraphQL · PHP. A restaurant group edits in WordPress; the animated Next.js frontend renders untouched. We built both halves — the host-side theme and a custom React renderer that maps every Gutenberg block, over WPGraphQL, to its own component. Attribution: entries marked "with Pixeden LLC" are engineered at Pixeden LLC, where the studio's lead engineer is CTO. Ours is the architecture, the technical direction and the full-stack build; the products belong to the company. Client work belongs to the client. ## AI engineering practice AI is a material, not a feature: we design the loop, not the prompt. A probabilistic core sits inside deterministic scaffolding — validation, retries, structured outputs, fallbacks — so the model never reaches production unguarded. - **Orchestrate & pair**: Agents for repeatable, high-volume work — we design the loop, hand it tools over MCP and structured outputs, and review what comes back. Pairing for the novel, design-heavy parts, hands on the wheel. - **Deterministic scaffolding**: A probabilistic core wrapped in validation, retries, structured outputs and fallbacks. The model fills a validated format and hands it back; the scheduling, the writes and the money stay deterministic on the far side. - **Retrieval with a floor**: Answers grounded in real data, with a relevance threshold underneath them. Below the floor nothing comes back at all — it says it found nothing rather than padding the answer with something adjacent. - **Tests that cost nothing**: An eval you can’t afford to run is a comment, so ours run on every commit — committed vectors scored with plain cosine: no key, no tokens, no network, same result every time. - **Blast radius, not filters**: You can’t filter your way out of prompt injection. What you get to decide is what the model can do once someone succeeds — read-only tools, one typed door, none of your data within reach. - **The cheapest token**: The cheapest token is the one you never send: cache breakpoints on the static prefix, capped loops, embeddings computed offline and committed. Latency gets fixed the same way — by not doing the work twice. In production, in both directions: in some projects the model is in the product — it writes into validated structured formats, while deterministic services keep the scheduling, the money and the rules. In others it never ships at all — it stays in the process, the pair we build with, around engines that have to behave identically on every run. Wiring up an LLM is the easy part; the value is knowing which of the two a problem is, how far to let the model reach, and where it has no business going. What we refuse: no model output ships unevaluated; no metric we can’t prove; no chatbot without a job; no model we can’t swap out. ## Stack TypeScript end to end. React with the framework doing the heavy lifting (Next.js App Router), styling next to the markup, and a thin swappable seam anywhere a vendor could lock us in — when there is AI in it, the model sits behind an interface we can replace in a line, and the retrieval and orchestration run on our side where we can test them. Also: GraphQL and tRPC, MongoDB and Postgres, Capacitor for iOS and Android from the same codebase, three.js and react-three-fiber, Stripe, and custom tooling wherever no library fits. ## Machine-readable - [MCP server](https://lionelt.dev/api/mcp): our knowledge base as four read-only tools — topics, chunk bodies, search, and the project registry. No model behind it. - [llms.txt](https://www.insideframe.it/llms.txt): this file. - [sitemap.xml](https://www.insideframe.it/sitemap.xml): the site index. ## Contact - [Email](mailto:info@insideframe.it): info@insideframe.it - [Instagram](https://www.instagram.com/inside_frame_arch) - [Behance](https://www.behance.net/insideframe) - [Dribbble](https://dribbble.com/elrumordelaluz) - [GitHub](https://github.com/elrumordelaluz): the studio's open source — csshake, reactour, svgson and a family of SVG tools.