Tickd.ai
← The Tickd Guide

Inspiration

How to Build a Simulated Sci-Fi Corporate Intranet Using Claude 3.5 Sonnet and Python

Tired of building standard SaaS dashboards? Craft a fully interactive, locally hosted retro intranet for a fictional dystopian megacorporation using Claude and Python.

Updated 9/7/2026

Most coding guides push you toward the same tired goals: build a faster landing page, design a cleaner CRM, or speed up your database queries. While useful, this constant focus on utility can quickly sap the creative energy that got most of us into development in the first place.

Today, we are going to build something completely self-indulgent: a fully interactive, text-based terminal intranet for a fictional, mid-1980s dystopian megacorporation called Caelum-Vesper Dynamics.

Think Severance meets Portal's Aperture Science. This terminal will allow you to browse dynamic, AI-generated internal announcements, view absurd IT service desk tickets, read HR policy updates, and send passive-aggressive messages to simulated colleagues. We’ll be using Python for the terminal shell and /platforms/claude to dynamically generate the corporate nonsense.

Why Build Fictional Intranets?

Aside from being incredibly fun, building a simulated software environment forces you to think deeply about system state, contextual prompting, and content curation. It’s an exercise in worldbuilding through code. By restricting ourselves to a terminal interface, we rely entirely on sharp copy and clever typography to build an atmosphere.

We will structure our simulation with four key components: 1. The Announcement Board: Generates bizarre corporate news (e.g., "Mandatory Silent Reflection Hour is now 90 minutes long"). 2. The IT Helpdesk: Allows you to read and submit ridiculous technical tickets. 3. The Employee Directory: A database of weirdly specific, generated corporate profiles. 4. The Terminal Interface: An interactive menu built with basic Python terminal styling.

The System Architecture: Lore, Seed, and State

To make our corporate intranet feel coherent, we need to provide Claude with a rigid background lore. Without it, the model’s humor might drift from dry corporate satire to overly wacky sci-fi nonsense. We want this to feel authentic—chillingly mundane, yet profoundly strange.

Let's define our core corporate profile. To look up technical terms regarding how we classify these prompt styles, check out our /glossary.

`python LORE_DATABASE = { "company_name": "Caelum-Vesper Dynamics", "industry": "Sub-orbital agricultural security and cognitive reassignment", "year": "1987", "principles": [ "Compliance is a form of momentum.", "Silence is the most efficient dialogue.", "The basement levels do not require sunlight." ] } `

Writing the Generative Engine

We will write a core generator function that acts as the gateway to the Claude API. It takes a sub-system request (such as "Generate three IT support tickets") and structures it into a cleanly formatted, terminal-friendly output.

`python import os import json import anthropic

class CorporateIntranet: def __init__(self): self.client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY")) self.system_prompt = """ You are the main server mainframe for Caelum-Vesper Dynamics, a dystopian corporate intranet in 1987. Your outputs must be written in a vintage, dry, bureaucratic tone. Use British spelling. You represent an organisation that treats its employees like semi-disposable machinery, but hides it under polite corporate jargon. """ `

If you find your application throwing API rate limits or connection errors during intense generation cycles, you can review solutions on the Claude Support Hub.

Prompting Claude for Corporate Absurdity

Let’s write the generator for the IT Ticket Queue. We want a mix of user submissions and automated errors that reflect a crumbling, paranoid tech stack.

`python def get_it_tickets(self): prompt = f""" Generate exactly 3 support tickets filed by employees at Caelum-Vesper Dynamics. Each ticket must have: - An ID (e.g., CVD-9082) - A Priority Level (Low, Urgent, or Non-Standard) - A Subject - A description of a bizarre tech issue (e.g., terminal displaying ancient Greek poetry instead of spreadsheets) - A brief, dismissive comment from IT Support.

Format your final response as a JSON array of objects. Do not write any conversational preamble. """ response = self.client.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=600, system=self.system_prompt, messages=[{"role": "user", "content": prompt}] ) return json.loads(response.content[0].text) `

Notice that we enforce JSON arrays. This allows us to parse the response in Python and pretty-print it to the screen using our own terminal colors, rather than letting the LLM dump unformatted text directly into our loop.

Running Your Intranet Terminal

Now, let's assemble the terminal dashboard. We will use a standard loop that takes keyboard inputs and routes the user to different parts of the mainframe.

`python def main(): intranet = CorporateIntranet() while True: print("\033[1;32m" + "=" * 60) print(" CAELUM-VESPER DYNAMICS - INTERNAL MAINFRAME TERMINAL v4.12") print("=" * 60 + "\033[0m") print("1. View Daily Announcements") print("2. Access IT Service Desk Queue") print("3. Review Departmental Directives") print("4. Disconnect Connection") print("-" * 60) choice = input("Select terminal function: ") if choice == "1": print("\nAccessing database...\n") # Implement call to generate announcements # Format and display output elif choice == "2": print("\nRetrieving server-level service tickets...\n") tickets = intranet.get_it_tickets() for ticket in tickets: print(f"\033[1;31m[{ticket['id']}] - {ticket['priority']}\033[0m") print(f"Subject: {ticket['subject']}") print(f"Issue: {ticket['description']}") print(f"IT Response: {ticket['it_response']}") print("-" * 40) elif choice == "4": print("\nTerminating session. Walk in safety.") break `

Adding Live Interaction

To make this feel like a living, breathing workspace, you can expand this prototype to take player input. Let the player file their own IT support tickets (e.g., "My office plant is whispering in French"). Pass the user’s submission straight to Claude alongside historical logs, and let the model generate the cynical IT department’s response in real-time.

Designing fictional operating systems is a wonderful way to play with AI narrative generation. Rather than trying to force AI to act like a human assistant, you let it play a character in a highly controlled sandboxed world. To explore how to write more specific worldbuilding directives, take a look at our /prompts for complex roleplay scenarios.

pythonclaudecreative-codingworldbuildinginspiration

Keep going

Build something with the prompt generator, decode the jargon in the glossary, or compare the tools on our platform deep-dives.