Open-source personal platform for etherbeing, combining a modern Astro frontend, a Django backend, GitHub-powered blog publishing, service acquisition flows, and a heavily customized admin experience.
This project is built to operate as:
- A portfolio and personal site
- A GitHub-gist-backed blog
- A GitHub-repo-backed projects showcase
- A service catalog with acquisition requests
- A custom Django admin for site operations and publishing
- A PWA-capable frontend with offline-friendly caching
- Dynamic homepage content served by the backend
- GitHub Gists treated as blog posts
- GitHub public repositories treated as project cards
- Cached GitHub API access to reduce rate-limit failures
- Frontend GitHub login with scoped permissions
- Admin GitHub login with elevated scopes for publishing and private resources
- Optional reCAPTCHA protection for admin login
- Rich-text publishing flow in admin that creates GitHub gists
- Social notification dispatch for newly published posts
- Service detail pages and service request tracking
- Custom branded Django admin theme and layouts
- Shared favicon/configuration driven from the backend
- PWA manifest and service worker support
- Astro
- React
- Tailwind CSS
- TypeScript
- Django
- Django REST Framework
- PostgreSQL
- Redis
- GitHub OAuth
- GitHub Gists API
- GitHub Repositories API
- Telegram notifications
- Discord notifications
- Evolution API basics for WhatsApp delivery
Frontend (Astro + React)
-> consumes Django API
-> uses GitHub OAuth via frontend callback relay
-> renders blog, projects, services, config, PWA
Backend (Django + DRF)
-> stores site content, services, requests, publishing records
-> syncs GitHub gists as blog entries
-> syncs GitHub repos as projects
-> publishes new posts as GitHub gists
-> sends social notifications
Data / Infra
-> PostgreSQL
-> Redis
-> Docker Compose for local dependencies
.
├── api/ # Django backend
├── src/ # Astro frontend source
├── public/ # Static assets and service worker
├── devops/ # Deployment and secrets-related support files
├── docker-compose.yml # Local dev dependencies
└── start.sh # Convenience full-stack startup
docker compose up -d postgres rediscd api
python3 src/etherbeing/manage.py migratecd api
python3 src/etherbeing/manage.py init_site_contentcd api
python3 src/etherbeing/manage.py runserver 127.0.0.1:8000pnpm devFrontend default URL:
http://localhost:4321
Backend default URL:
http://127.0.0.1:8000
Useful frontend env values include:
PUBLIC_API_URLPUBLIC_SITE_URL
Useful backend env values include:
DJANGO_ENV_FILEDBNAMEDBUSERDBPASSDBHOSTDBPORTCORS_ALLOWED_ORIGINSCSRF_TRUSTED_ORIGINSGITHUB_OAUTH_CLIENT_IDGITHUB_OAUTH_CLIENT_SECRETGITHUB_OAUTH_REDIRECT_URIGITHUB_OAUTH_SCOPESGITHUB_FRONTEND_OAUTH_SCOPESGITHUB_COMMENT_OAUTH_SCOPESGITHUB_PUBLISH_ACCESS_TOKENRECAPTCHA_SITE_KEYRECAPTCHA_SECRET_KEYRECAPTCHA_MIN_SCOREEVOLUTION_API_BASE_URLEVOLUTION_API_INSTANCEEVOLUTION_API_TOKENEVOLUTION_API_CHAT_ID
The custom admin includes a dedicated publishing page for blog posts.
Current behavior:
- Admin user writes the post using a rich-text editor
- Post is published as a GitHub Gist
- Metadata is stored in the gist so the backend can categorize it
- A
PublishedPostrecord is saved in Django admin - Selected social networks are notified
Current social delivery support:
- Telegram
- Discord
- WhatsApp basics through Evolution API
This repository includes Docker Compose support for backend dependencies and a production-style API container.
High-level deployment flow:
- Build and deploy the Django API with the correct production env file.
- Run migrations.
- Collect and serve media/static as configured by the backend.
- Build and deploy the Astro frontend.
- Point the frontend
PUBLIC_API_URLto the deployed backend. - Configure GitHub OAuth callbacks for frontend and admin login flows.
At minimum, production requires:
- PostgreSQL
- Redis
- Django env secrets
- GitHub OAuth app configuration
- Optional reCAPTCHA keys
- Optional Telegram/Discord/WhatsApp notification credentials
- Custom login page
- Optional reCAPTCHA protection
- GitHub OAuth admin login
- First-superuser bootstrap in debug mode
- Service request management
- Site-content management
- Publishing record management
- Rich blog publishing page
The old strategy section is now tracked as executable product tasks.
- Telegram notifications
- WhatsApp publishing flow beyond the current Evolution API basics
- LinkedIn publishing
- Instagram publishing
- Facebook publishing
- YouTube publishing
- Cybersecurity category
- Software Development category
- DevOps category
- Philosophy category
- Politics category
- Project Ads category
- Artificial Intelligence category
- Researches category
- MCP tools for AI
- Pentesting and Bug Hunting
- Software Development
- OSINT
- DevOps and Cluster Deployment
- Marketing Tools
- Content Generation AI tools
- Add direct LinkedIn publishing support from admin
- Add Instagram publishing support from admin
- Add Facebook publishing support from admin
- Add YouTube publishing support from admin
- Extend WhatsApp publishing from basic transport to a richer content flow
- Add preview rendering for published rich-text posts before gist creation
- Add scheduling support for social publishing
- Add retry/audit UI for failed social notifications
- Add richer analytics for posts, services, and acquisition funnels
Backend:
cd api
python3 src/etherbeing/manage.py test apps.base -v 1
python3 src/etherbeing/manage.py checkFrontend:
pnpm buildThis project is open source and distributed under the MIT License.