AI prompts
base on Spacepad is a simple privacy-focused room display app. Suitable for both small offices and larger deployments. <p align="center" style="margin-top: 120px">
<h1 align="center">Spacepad</h3>
<p align="center">Spacepad is a simple privacy-focused room display app. Display room availability in real-time, <br>synced with your rooms and calendars — ideal for tablets outside meeting spaces or home-offices. <br>Suitable for both small offices and larger deployments.
<br />
<br />
<a href="https://spacepad.io">Website</a>
·
<a href="https://github.com/magweter/spacepad/issues">Report Issue</a>
·
<a href="https://github.com/magweter/spacepad/discussions">Suggest Feature</a>
</p>
</p>

## Our Mission
We’re building focused, fun tools for modern offices — tools that just work, without enterprise BS.
Spacepad strives to be the perfect all-encompassing room display solution for SMB's.
<br><br>
✅ Simple: Easy to deploy and use<br>
🔐 Privacy-first: Self hosted and open source auditable<br>
💸 Fair and sustainable: We offer paid features to keep development active<br>
❤️ Designed with care: Beautiful on tablets, easy on the eye<br>
## Features
Spacepad offers a range of features to make viewing occupancy of meeting rooms a breeze.
- **Events display real-time on display**
- **Outlook Calendar / Google Calendar integration**
- **Microsoft 365 / Google Workspace integration**
- **CalDAV Integration (like Nextcloud)**
- **Ad-hoc on display room booking**
- **Room check-in and release functionality**
- **View full schedule of the day on the display**
- **Modern Cross Platform app**
- **Self Hosted or Cloud Hosted**
> [!TIP]
> The product is developing rapidly and we're happily accepting feedback and suggestions. Have a look at our [roadmap](#roadmap) on the implementation of new features or open a new [discussion](https://github.com/magweter/spacepad/discussions) to share ideas.
## 🔧 Get Started
### ☁️ Cloud Hosted (Easiest)
Looking to get started quickly? Get started in minutes using our cloud.
1. Visit [spacepad.io](https://spacepad.io)
2. Create a free account
3. Set up your first display — the first one is free forever
4. Add more displays at $6/month each
Great for fast deployments with zero maintenance.
### 🏗️ Self Hosted
Self hosting Spacepad is the perfect solution for businesses or enthousiasts who want control over their data.
As we believe in open source and personal tinkering, we want to support these communities.
🙎♂️ If you’re a hobbyist or home user, enjoy Spacepad self hosted without limits — completely for free.
🏢 If you're a business using Spacepad, we ask you to purchase a self-hosted license. We offer simple, sustainable and affordable flat-tiered pricing. Have a look at [Spacepad Pricing](docs/PRICING.md).
For full setup instructions, see [Setup Guide](docs/SETUP.md).
## 🛠 Licensing
Spacepad is dual-licensed:
- 🧑💻 **Community License** ([LICENSE.md](LICENSE.md))
For personal use and self-hosted commercial use with up to 1 display.
- 🏢 **Pro License** ([LICENSE_PRO.md](LICENSE_PRO.md))
Required for commercial use with multiple displays or Pro features.
Purchasing a license helps support continued development.
## 🤝 Contributing
We love open source and welcome your contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) to get started.
## 📅 Roadmap Highlights
- [x] M365 support
- [x] Self-hosted with Docker
- [x] Google Workspace support
- [x] CalDAV support
- [x] Booking directly on device
- [x] Showing all events of the day
- [ ] Custom display themes & logos
- [ ] Amazon Fire Tablet support
- [ ] Organizations & management
- [ ] Web and TV view
- [ ] Multi-room overview dashboard
Feature requests? We're all ears! Please open a new [discussion](https://github.com/magweter/spacepad/discussions).
", Assign "at most 3 tags" to the expected json: {"id":"13900","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"