go-app is a Go framework for building progressive web applications entirely in Go via WebAssembly. The core package pkg/app implements a declarative component model (Composer/Compo) with lifecycle hooks, client-side routing, state management with observers and persistence, server-side pre-rendering, and a full PWA HTTP handler that serves the app shell, service worker, manifest, and static resources. The docs/ directory is itself a production go-app PWA that dogfoods the framework; docs/src contains the documentation site source code, and docs/web/documents contains the markdown content rendered at runtime by the wasm binary. Architecturally, the repository is a layered Go library rather than a monolith or microservice. pkg/app contains the runtime engine (engine.go, node.go, state.go, http.go) and uses build tags to separate server-side resource/HTTP handling from client-side wasm UI execution. pkg/cli is a struct-tag-driven CLI and environment configuration loader, pkg/cache provides reusable LRU and expiring cache implementations, pkg/errors adds typed and tagged error wrapping, and pkg/logs and pkg/analytics provide optional support utilities. Code generation in pkg/app/gen/html.go produces the strongly typed HTML element API and its generated tests. The primary data flow begins with Go component state and user events, which are dispatched through the engine and Context API to update the DOM via the node manager. State mutations can be persisted to localStorage, encrypted, and broadcast across browser tabs. On the server side, the Handler serves pre-rendered HTML, resolves static resources (local dirs, remote buckets, GitHub Pages), and caches proxied resources. External dependencies include Go modules for webpush, markdown parsing, UUID, and testing, plus browser APIs and Go's wasm_exec.js glue. There are no data pipelines, notebooks, or research artifacts; this is a pure application/framework repository.
This repository implements a deep research assistant web application that combines large language models (LLMs) with web search capabilities to generate comprehensive research reports. Built with Next.js 15, React, and Tailwind CSS, it features a client-side interface for topic input and research workflow management, backed by API routes that proxy requests to external AI and search services to protect API keys. The system orchestrates an iterative research process: planning sub-queries, executing parallel searches across multiple providers (Tavily, Firecrawl, Exa, etc.), analyzing results with auto-review cycles, and generating cited final reports. Key architectural elements include Zustand-based state management with localForage persistence, a Model Context Protocol (MCP) server for standardized tool/resource exposure, PWA support for offline installation, and modular components for knowledge base management, file parsing, and real-time progress streaming via Server-Sent Events (SSE).
Tunet is a modern, responsive React dashboard for Home Assistant that provides a customizable interface for monitoring and controlling smart home entities. The application features a React/Vite frontend with an Express/Node.js backend, using SQLite for persistent storage of user configurations. It implements a modular card-based UI system with 20+ specialized card types (lights, climate, media, etc.), real-time WebSocket synchronization with Home Assistant, and extensive customization options including theming, layout configuration, and plugin-like extensibility. The application follows React best practices with custom hooks, context API for state management, and a well-organized component architecture.
This repository is a Spotify client web application that helps users track new releases from artists they follow. It provides a progressive web app (PWA) experience with offline support, allowing users to view, filter, and favorite releases grouped by date. Users can export their release list to CSV or create/update a Spotify playlist with selected tracks. The application handles Spotify authentication via OAuth 2.0 PKCE flow, fetches data from the Spotify Web API, and persists state locally using localForage. Built with React, Redux Toolkit for state management, and Redux Saga for side effects, the app features a modular architecture with reusable UI components, filtering system, and settings management.
This repository is a curated 'awesome list' of Progressive Web App (PWA) resources, including apps, tutorials, tools, and videos. The primary content is a README.md file that organizes hundreds of PWA-related links by category. The only executable code is a Node.js script (`scripts/check-pwa.mjs`) that validates the listed apps by fetching their URLs and checking for PWA indicators (manifest link, service worker registration). This script runs as a CI job to maintain list quality. The repository is not a software application or data pipeline; it is a documentation/curation project with a supporting automation script. The script demonstrates good engineering practices (concurrent fetching, timeout handling, whitelist for undetectable PWAs) and is reusable for similar validation tasks.
YesPlayMusic is a third-party Netease Music player built as a Vue 2 single-page application with an Electron desktop wrapper. It provides a full-featured music playback experience including personal FM, daily recommendations, playlists, albums, artists, MVs, and synchronized lyrics. The application integrates with the Netease Music API for all content, supports UnblockNeteaseMusic for alternative audio sources, and offers Last.fm scrobbling, Discord Rich Presence, MPRIS (Linux), Touch Bar (macOS), and global shortcuts. The architecture follows a Vuex store pattern with a singleton Player class proxied into the state, and uses IndexedDB (Dexie) for caching track sources, lyrics, and album data. The Electron main process handles IPC for tray, menu, touchbar, and system integration, while the renderer process runs the Vue app with lazy-loaded routes and i18n support for multiple languages. The codebase is well-structured with reusable UI components (Cover, TrackList, ContextMenu, Modal, SvgIcon) and utility modules (lyrics parser, auth helpers, request interceptor). However, it relies on aging dependencies (Vue 2, Electron 13, Node 14/16) and is in maintenance mode per the README, with a new 2.0 alpha in development. Security concerns include disabled TLS verification in Docker and Electron webSecurity disabled. Despite these issues, the project demonstrates solid engineering practices for a feature-rich music player and offers several components that could be extracted for other Vue projects.
This is a monorepo for the Ember.js-based encrypted chat application 'emberclear', which provides end-to-end encrypted messaging with no server-side message storage. The architecture is modular, consisting of multiple Ember addons (crypto, networking, local-account, UI, test-helpers, tracked-local-storage) and a separate card game app (pinochle) that reuses the same networking and crypto infrastructure. The chat app uses public-key cryptography (tweetnacl, libsodium) via web workers, relays messages through Phoenix WebSocket relays, and persists data locally via IndexedDB and localStorage. It includes features like QR code identity sharing, channel voting with cryptographic chains, and a state-machine-driven setup wizard. The codebase is well-tested with QUnit, acceptance tests, and smoke tests, but shows signs of technical drift with outdated dependencies (Node 14, Ember 3.26.1), many TODO comments, and incomplete features (e.g., voting, QR login transfer). The pinochle game app appears experimental but demonstrates sophisticated state machine usage and animation systems.
WebDrop is a peer-to-peer file and message sharing web application built with Vue.js that enables direct device-to-device transfers without installation. It uses WebRTC via the P2PT library for peer discovery and communication, simple-peer-files for file transfers, and Vuex for state management. The application features automatic LAN device discovery, internet sharing via room codes, resume capability for interrupted transfers, and a responsive UI with multiple views for managing files, messages, and connected devices. The architecture follows Vue.js best practices with clear separation between components, state management, and routing.
HappyPlants is a mobile-first progressive web application (PWA) for managing houseplant care. The core functionality allows users to create and organize plant entries, tracking details like watering schedules, sunlight requirements, growth cycles, notes, and photos. It is implemented as a Vue.js 2 SPA with Vuex state management and vue-router, using Firebase (Authentication, Firestore, Storage) for cloud sync with an offline-first fallback via localforage (IndexedDB). The repository is a monorepo managed by Lerna, containing two parallel application versions: an archived v1 (JavaScript) and an evolving v2 alpha (TypeScript with @vue/composition-api), plus a landing page (Nuxt.js), an unused Express server, Firebase Cloud Functions, and shared packages for components and styles. Key entry points include main.js/main.ts bootstrapping, router definitions, and a Vuex store organized by domain modules. The app relies heavily on the Vue ecosystem, Firebase, and utility libraries like anime.js for animations and localforage for local storage. While the core concept is well-executed with tests and responsive design, the codebase exhibits duplication between v1 and v2, some deprecated dependencies, and an incomplete v2 rewrite, limiting overall craftsmanship.