organization_system
GITHUB PROJECT SETUP¶
Repository Structure¶
telescope-network/
├── server/
│ ├── main.py
│ ├── models.py
│ ├── scheduler.py
│ ├── api/
│ │ └── routes.py
│ ├── tests/
│ └── requirements.txt
├── client/
│ ├── client.py
│ ├── config.yaml.example
│ └── requirements.txt
├── docs/
│ ├── README.md
│ ├── QUICKSTART.md
│ ├── API.md
│ └── CONTRIBUTING.md
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── workflows/
│ └── tests.yml
└── README.md
Issue Labels¶
Priority:
- p0-critical (server down, data loss)
- p1-high (blocks users)
- p2-medium (annoying but workaround exists)
- p3-low (nice to have)
Type:
- bug
- feature
- documentation
- question
Status:
- needs-triage
- in-progress
- blocked
- ready-for-review
GitHub Project Board Columns¶
1. Backlog (someday/maybe)
2. This Month (committed)
3. This Week (active sprint)
4. In Progress (working now)
5. Review/Test (needs verification)
6. Done (celebrate!)
NOTION WORKSPACE STRUCTURE¶
Pages to Create¶
📁 Telescope Network
├── 📋 Dashboard (home page with links to everything)
├── 📁 Development
│ ├── System Architecture
│ ├── API Specification
│ ├── Database Schema
│ └── Technical Decisions Log
├── 📁 Operations
│ ├── Server Runbook
│ ├── Deployment Checklist
│ ├── Incident Log
│ └── Monitoring Setup
├── 📁 Community
│ ├── Volunteer List (database)
│ ├── Onboarding Guide
│ ├── FAQ
│ └── Communication Templates
├── 📁 Science
│ ├── Target Lists
│ ├── Campaign Plans
│ ├── Paper Drafts
│ └── Meeting Notes
├── 📁 Admin
│ ├── Finances Tracker
│ ├── Grant Applications
│ ├── Contact Log
│ └── Weekly Reviews
└── 📁 Archive
└── Old stuff
Volunteer Database Template (Notion)¶
| Field | Type | Purpose |
|---|---|---|
| Name | Text | Who |
| Contact | ||
| Site Name | Text | Their observatory |
| Location | Text | City, Country |
| Equipment | Multi-select | Telescope, camera, etc |
| Status | Select | Active / Onboarding / Inactive |
| Joined | Date | When they signed up |
| Last Active | Date | Last observation submitted |
| Notes | Text | Anything relevant |
TODOIST SETUP¶
Projects¶
📁 Telescope Network
├── 🔧 Server Development
├── 💻 Client Development
├── 📖 Documentation
├── 👥 Community
├── 📊 Operations
├── 📝 Paper/Research
└── 📧 Communications
Labels¶
@coding
@writing
@support
@admin
@blocked
@quick (< 15 min)
@deep (needs focus)
Filters (save these)¶
Today's coding: today & @coding
Quick wins: @quick & !#Inbox
Blocked items: @blocked
This week: 7 days
Weekly Task Template¶
Copy this every Monday:
## Weekly Tasks Template
### Must Do (non-negotiable)
- [ ] Check server health dashboard
- [ ] Respond to support messages
- [ ] Review new issues on GitHub
- [ ] Update project board
### Should Do (aim for these)
- [ ] One PR merged
- [ ] Update documentation if anything changed
- [ ] Post community update
### Could Do (if time allows)
- [ ] Reach out to one potential volunteer
- [ ] Review metrics/analytics
- [ ] Plan next week
TIME MANAGEMENT SYSTEM¶
Time Budget (10 hours/week)¶
| Activity | Hours/Week | When |
|---|---|---|
| Coding | 4-5 | Tue/Thu evening |
| Community/Support | 2 | Daily 15min check |
| Documentation | 1 | Saturday morning |
| Planning/Admin | 1 | Monday evening |
| Buffer | 1-2 | As needed |
Pomodoro Schedule for Coding Sessions¶
25 min: Deep work (no notifications)
5 min: Break (walk, water)
25 min: Deep work
5 min: Break
25 min: Deep work
15 min: Longer break, check messages
Total: 2 hours = 3 pomodoros of real work
Energy Management¶
High Energy Tasks (when fresh):
- Architecture decisions
- Complex bug fixes
- Writing documentation from scratch
- Important emails
Low Energy Tasks (tired/distracted):
- Code review
- Issue triage
- Responding to simple questions
- Updating configs
COMMUNICATION SYSTEM¶
Response Time Commitments¶
Critical (server down): 4 hours
Normal issues: 48 hours
Feature requests: 1 week (or "logged for consideration")
General questions: 48 hours
Templates (Save in Notion)¶
Template: Bug Acknowledged
Hi [name],
Thanks for reporting this. I've created issue #[X] to track it.
Current status: [investigating / confirmed / needs more info]
Priority: [high / medium / low]
[If needs more info:]
Could you provide:
- Your client version
- Your operating system
- Steps to reproduce
I'll update you when there's progress.
Template: Feature Request Response
Thanks for the suggestion!
I've added this to the backlog for consideration. Currently focused on [current priority], but I'll revisit feature requests when planning the next release.
You can track progress on the public roadmap: [link]
Template: Welcome New Volunteer
Welcome to [Network Name]! 🎉
## Quick Start
1. Download the client: [link]
2. Your API key: `[key]`
3. Follow the setup guide: [link]
4. Join our Discord: [link]
## First Steps
- Configure your site information
- Run a test observation
- Say hi in #introductions
Questions? Reply to this email or ask in #support.
Clear skies!
[Your name]
WEEKLY REVIEW TEMPLATE¶
Copy this into Notion every week:
# Week of [DATE]
## Metrics
- Sites active:
- Observations this week:
- New signups:
- Support tickets:
## Wins 🎉
-
## Challenges 😤
-
## Completed
- [ ]
- [ ]
## Didn't Get To (move to next week or backlog)
-
## Next Week Focus
1.
2.
3.
## Notes/Thoughts
MONTHLY REVIEW TEMPLATE¶
# Month: [MONTH YEAR]
## Key Metrics
| Metric | Start | End | Change |
|--------|-------|-----|--------|
| Active sites | | | |
| Total observations | | | |
| Registered volunteers | | | |
## Milestones Reached
-
## Biggest Challenge
-
## What I Learned
-
## Next Month Goals
1.
2.
3.
## Am I Burning Out? (honest check)
- Energy level (1-10):
- Excitement about project (1-10):
- Feeling overwhelmed (1-10):
If any > 7 on overwhelmed or < 4 on energy/excitement:
→ Take a week off
→ Reduce scope
→ Ask for help
FIRST 90 DAYS TASK BREAKDOWN¶
Month 1: Foundation¶
Week 1: Setup - [ ] Create GitHub repo with structure - [ ] Set up Notion workspace - [ ] Set up Todoist projects - [ ] Create Discord server - [ ] Buy domain - [ ] Set up basic VPS
Week 2: Core Server - [ ] Database models (Site, Target, Observation) - [ ] Basic FastAPI skeleton - [ ] Site registration endpoint - [ ] API key authentication - [ ] Test with curl/Postman
Week 3: Scheduler - [ ] Target list endpoint - [ ] Altitude calculation with astropy - [ ] Basic priority scoring - [ ] Time filtering (twilight)
Week 4: Data Ingest - [ ] Observation submission endpoint - [ ] Basic validation - [ ] Simple web status page - [ ] Deploy to VPS
Month 2: Client & Testing¶
Week 5: Basic Client - [ ] Python client skeleton - [ ] Config file handling - [ ] Server polling loop - [ ] Observation submission
Week 6: Integration - [ ] Test client with real telescope (your own) - [ ] Fix bugs from real usage - [ ] Add error handling - [ ] Add logging
Week 7: Documentation - [ ] README with quickstart - [ ] API documentation - [ ] Client setup guide - [ ] Troubleshooting FAQ
Week 8: Polish - [ ] Fix remaining bugs - [ ] Add monitoring (UptimeRobot) - [ ] Set up automated backups - [ ] Security review
Month 3: Beta Launch¶
Week 9: Beta Prep - [ ] Create onboarding email sequence - [ ] Prepare support documentation - [ ] Test full user journey - [ ] Fix critical issues
Week 10: Recruit Beta Users - [ ] Post on Cloudy Nights - [ ] Contact AAVSO - [ ] Reach out to 5 personal contacts - [ ] Goal: 5 beta signups
Week 11: Beta Support - [ ] Onboard beta users - [ ] Daily check-in with issues - [ ] Fix bugs as they appear - [ ] Document common problems
Week 12: Review & Plan - [ ] Monthly review - [ ] Collect beta feedback - [ ] Prioritize v1.1 improvements - [ ] Plan month 4-6
AUTOMATION CHECKLIST¶
Things to automate ASAP:
- [ ] Server health alerts (UptimeRobot)
- [ ] Database backups (cron job)
- [ ] CI/CD for deploys (GitHub Actions)
- [ ] Welcome email on signup (simple script)
- [ ] SSL renewal (certbot auto-renew)
Things to automate later: - [ ] Weekly digest email - [ ] Data quality reports - [ ] Alert ingestion from external sources
EMERGENCY RUNBOOK¶
Server is Down¶
# 1. Check if process is running
ssh server
sudo systemctl status telescope-network
# 2. Check logs
sudo journalctl -u telescope-network -n 100
# 3. Restart if needed
sudo systemctl restart telescope-network
# 4. Check database
psql -U telescope -d telescope -c "SELECT 1;"
# 5. Post in Discord if extended outage
Database Corrupted¶
# 1. Stop server
sudo systemctl stop telescope-network
# 2. Restore from backup
pg_restore -d telescope /backups/latest.sql
# 3. Restart
sudo systemctl start telescope-network
# 4. Verify data
psql -U telescope -d telescope -c "SELECT COUNT(*) FROM observations;"
Being Overwhelmed¶
- Stop looking at GitHub/Discord for 24 hours
- Make a list of the 3 most important things
- Do only those 3 things this week
- Everything else can wait
- If still overwhelmed after a week, ask for help or reduce scope
You've got this. Start small, ship fast, iterate always.