Frequently Asked Questions
Common questions and answers about Sightline.
General
What is Sightline?
Sightline is an open-source geospatial incident mapping platform for tracking and visualizing events across time and space. Built with Next.js, React, and Mapbox GL, it provides a flexible foundation for any incident tracking use case requiring geospatial visualization, temporal analysis, and multi-source data integration.
Is Sightline free to use?
Yes. Sightline is released under the MIT License, which allows free use for personal and commercial projects. However, you'll need:
- Mapbox — Free tier includes 50,000 map loads/month
- Hosting — Vercel free tier is sufficient for most projects
- Database (optional) — Supabase free tier for database-backed data
Who maintains Sightline?
Sightline is built and maintained by Disclosure Foundation with contributions from the open source community. We welcome contributions of all kinds—see our Contributing Guide.
Can I use Sightline for non-UAP projects?
Absolutely. While Sightline was originally designed for UAP research, the architecture is domain-agnostic. Common use cases include:
- Aviation safety incident tracking
- Historical event mapping
- Wildlife observation networks
- Crime mapping and analysis
- Environmental monitoring
- Disaster response coordination
See Use Cases for examples.
Technical
What technologies does Sightline use?
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Tailwind CSS 4 |
| Maps | Mapbox GL JS 3, react-map-gl 8 |
| Language | TypeScript 5 (strict mode) |
| Testing | Vitest, Playwright |
| Documentation | Fumadocs |
What browsers are supported?
Sightline supports all modern browsers:
| Browser | Minimum Version |
|---|---|
| Chrome | 90+ |
| Firefox | 90+ |
| Safari | 14+ |
| Edge | 90+ |
See Browser Compatibility for details.
Does Sightline work on mobile devices?
Yes. Sightline is fully responsive and works on mobile browsers. Touch interactions for the map (pinch to zoom, drag to pan) are supported. Some features like keyboard shortcuts are desktop-only.
Can I self-host Sightline?
Yes. Sightline is a standard Next.js application that can be deployed to:
- Vercel (recommended) — Zero config
- Netlify — With Next.js adapter
- Docker — Self-hosted option
- Any Node.js server —
pnpm build && pnpm start
See Deployment Guide for instructions.
Data
What data formats does Sightline support?
Sightline uses a JSON-based incident format with the following adapters:
| Adapter | Source | Use Case |
|---|---|---|
static | JSON files | Demo, small datasets |
supabase | Supabase DB | Production databases |
api | REST APIs | External data sources |
Custom adapters can be created for other formats—see Examples.
How many incidents can Sightline handle?
Performance depends on your configuration:
| Configuration | Recommended Limit |
|---|---|
| React clustering | ~5,000 incidents |
| Mapbox clustering | ~50,000 incidents |
| With pagination | 100,000+ incidents |
See Performance Guide for optimization tips.
Can I import data from other sources?
Yes. You can:
- Transform existing data to Sightline's JSON format
- Create a custom adapter for your data source
- Use the API adapter to connect to external services
See Data Sources Guide for details.
Is my data secure?
Sightline is a client-side application that doesn't store data on central servers. Your data stays:
- In your JSON files (static adapter)
- In your Supabase database (supabase adapter)
- On your API servers (api adapter)
For sensitive data, use Row Level Security (RLS) in Supabase or authentication on your API.
Customization
Can I customize the look and feel?
Yes. Sightline offers multiple customization levels:
- Branding — Logo, colors, name via
map.config.ts - Theming — Custom light/dark map styles
- CSS Variables — Override any color in
globals.css - Custom Renderers — Replace markers, popups, feed items
- Component Replacement — Build completely custom UIs
See Customization Guide.
Can I add custom filters?
Yes. You can:
- Configure which filters appear per data source using
filterVisibility - Create custom filter UI components using the
useDatahook - Build filter presets for common queries
See Examples.
Can I embed Sightline in another website?
Not directly as an iframe widget (yet—this is on our roadmap). However, you can:
- Deploy Sightline to a subdomain and link to it
- Build a custom component using Sightline's core modules
Can I contribute custom renderers back?
Yes! We welcome contributions of well-documented renderers. Submit them via pull request to src/examples/renderers/. See our Contributing Guide.
Troubleshooting
Why isn't my map showing?
Most common causes:
- Missing Mapbox token — Check
NEXT_PUBLIC_MAPBOX_TOKENin.env.local - Invalid token — Ensure it starts with
pk.and is valid - Network issues — Check if Mapbox API is accessible
See Troubleshooting.
Why aren't my incidents appearing?
Common causes:
- Wrong file path — Check path in
map.config.ts - Invalid JSON — Validate your JSON file
- Filters active — Clear all filters
- Data schema mismatch — Verify required fields
See Troubleshooting.
How do I debug issues?
- Check browser console for errors
- Use React DevTools to inspect state
- Verify environment variables are set
- Check Network tab for failed requests
Roadmap
What features are planned?
Upcoming features include:
- Real-time incident updates via WebSocket
- Offline support with service workers
- Data export in multiple formats (CSV, KML)
- Embedded map widget mode
- GraphQL adapter
- Multi-language support (i18n)
See Changelog for the full roadmap.
How can I request a feature?
- Check GitHub Issues to see if it's already requested
- Open a Feature Request with details
- Join the discussion in GitHub Discussions
How can I contribute?
We welcome contributions of all kinds:
- Code — Features, bug fixes, performance improvements
- Data — Incident datasets following the data specification
- Documentation — Guides, tutorials, corrections
- Testing — Unit tests, E2E tests, edge case coverage
See Contributing Guide.
Support
Where can I get help?
- Documentation — You're already here! Browse the guides.
- GitHub Discussions — Ask questions
- GitHub Issues — Report bugs
- Security Issues — Email contact@disclosure.org
Is there commercial support?
Contact contact@disclosure.org for commercial support inquiries.