Ever needed an email signature that truly reflects your mood? This API serves unhinged email signatures across three carefully crafted tiers of chaos.
Built with modern TypeScript and powered by existential dread.
- Tier 1: Unbothered - Slightly quirky, mostly professional. For when you're mildly inconvenienced.
- Tier 2: Unhinged - Definitely not HR-approved. For when the mask starts slipping.
- Tier 3: Unleashed - Complete chaos energy. For when you've given up entirely.
Production: https://signature.starside.io
Local: http://localhost:3000
GET /Returns API documentation, available endpoints, and signature categories.
Example Response:
{
"message": "β¨ Signature-as-a-Service",
"description": "Get unhinged email signatures for every occasion",
"version": "1.0.0",
"endpoints": {
"viewer": "GET /signature/view - Interactive HTML viewer with copy button",
"random": "GET /signature - Random signature from any category",
"category": "GET /signature/:category - Get signature from specific category",
"health": "GET /health - API health check",
"about": "GET /about - API information"
},
"categories": {
"unbothered": "Tier 1: Slightly quirky, mostly professional",
"unhinged": "Tier 2: Definitely not HR-approved",
"unleashed": "Tier 3: Complete chaos energy"
}
}GET /signatureExample Response:
{
"signature": "With chaotic neutrality,",
"tier": "unbothered"
}GET /signature/unbothered
GET /signature/unhinged
GET /signature/unleashedExample Response:
{
"signature": "Powered by spite,",
"tier": "unleashed"
}GET /signature/viewOpens an interactive HTML page with a signature generator and copy-to-clipboard functionality.
GET /healthExample Response:
{
"status": "ok",
"uptime": 12345.67,
"timestamp": "2026-01-12T10:30:00.000Z"
}GET /aboutExample Response:
{
"name": "signature-as-a-service",
"version": "1.0.0",
"description": "An API that serves unhinged email signatures across three tiers",
"author": "Burlet Mederic <mederic.burlet@gmail.com>",
"repository": "https://github.com/starside-io/signature-as-a-service",
"totalSignatures": 95,
"categories": ["unbothered", "unhinged", "unleashed"],
"status": "alive and unhinged"
}120 requests per minute per IP
This project uses modern TypeScript with Node.js 22.18+ features:
- β No compilation step - Node runs TypeScript directly
- β
--experimental-strip-typesfor native TS support - β
ESM modules with
.tsextensions - β
Type-safe imports with
with { type: 'json' }
{
"compilerOptions": {
"target": "esnext",
"module": "nodenext",
"noEmit": true,
"erasableSyntaxOnly": true,
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true
}
}- Node.js 22.18.0 or higher
-
Clone this repository
git clone https://github.com/yourusername/signature-as-a-service.git cd signature-as-a-service -
Install dependencies
npm install
-
Start the server
npm start
Or for development with auto-reload:
npm run dev
The API will be live at http://localhost:3000
PORT=5000 npm startsignature-as-a-service/
βββ index.ts # Express API server
βββ package.json
βββ tsconfig.json # Modern TypeScript config
βββ vercel.json # Vercel deployment config
βββ data/
β βββ signatures.ts # Signature database with types
βββ public/
β βββ viewer.ts # Interactive HTML viewer
βββ README.md
Edit data/signatures.ts to add more signatures:
export const signatures: Signature[] = [
{ "text": "Your new signature,", "tier": "unbothered" },
{ "text": "Another signature,", "tier": "unhinged" },
{ "text": "Complete chaos,", "tier": "unleashed" }
];Choose from tiers: from any category curl https://signature.starside.io/signature
curl https://signature.starside.io/signature/unhinged
curl https://signature.starside.io/
curl https://signature.starside.io/about
curl https://signature.starside.io/health
### JavaScript/TypeScript
```typescript
// Get random signature
const response = await fetch('https://signature.starside.io/signature');
const data = await response.json();
console.log(data.signature); // "Powered by spite,"
console.log(data.tier); // "unleashed"
// Get specific category
const unleashed = await fetch('https://signature.starside.io/signature/unleashed');
const signature = await unleashed.json();
import requests
# Random signature
response = requests.get('https://signature.starside.io/signature')
data = response.json()
print(f"{data['signature']} (Tier: {data['tier']})")
# Specific category
unhinged = requests.get('https://signature.starside.io/signature/unhinged')
print(unhinged.json()
```python
import requests
response = requests.get('http://localhost:3000/signature')
data = response.json()
print(data['signature'])Apache 2.0 β Use responsibly. Or don't. We're not the boss of you.
Have an unhinged signature? PR it! Just make sure it fits one of the three tiers of chaos.
These signatures are meant for entertainment purposes. Use at your own professional risk. We are not responsible for any HR meetings that may result from using Tier 3 signatures.
Made with π and caffeinated despair
