Home / Companies / Convex / Blog / January 2025

January 2025 Summaries

9 posts from Convex

Filter
Month: Year:
Post Summaries Back to Blog
Charlie McGeorge recounts the development journey of QuiP (Quizzing in Progress), an online trivia league aimed at creating an inclusive and accessible quiz format. Utilizing Convex, a platform known for its end-to-end TypeScript and frontend-first approach, McGeorge and the QuiP team built a live-updating application that incorporated domain-driven design principles. This process involved establishing a shared language with the trivia community, which informed the app's user interface, database structure, and functionality. The development included features such as real-time score updates and a customized UI that appeals to both players and quiz readers. Despite challenges like refactoring to include an undo feature and maintaining a history log, the team successfully created an intuitive system that encourages community engagement. By aligning the app's design and technical elements with the community's needs, QuiP saw a successful first season with plans for expansion. The project highlights the importance of integrating community feedback and shared language in software development, demonstrating Convex's capabilities in building scalable and user-friendly applications.
Jan 29, 2025 2,043 words in the original blog post.
In this Databased episode, Jamie Turner interviews Web Dev Cody, a prominent software developer and content creator, who discusses his journey and challenges in balancing a full-time development job with producing educational content for his large audience. Cody delves into his passion for coding and teaching, the dynamics of engaging with sponsors while maintaining authenticity, and the impact of AI-assisted development tools on his work. He emphasizes the importance of being genuinely oneself on camera and the strategic use of AI in coding to enhance productivity. Cody also reflects on the evolving landscape of technical education, suggesting that AI tools can significantly improve workflow when used with a well-structured codebase.
Jan 29, 2025 119 words in the original blog post.
The text discusses the concept of derived state in programming, emphasizing how Convex Queries offer an advanced solution by functioning as reactive, server-side derived state. Initially, it outlines the challenge of maintaining consistent state across multiple clients when traditional methods, such as local state in React, are used. The text explains that while local state can be managed with hooks like useState, it becomes problematic when state changes need to be reflected across different clients. Convex addresses these issues by storing state on the server and utilizing queries and mutations that automatically synchronize state changes across all clients. This is achieved without needing to reload pages or engage in complex client-side state management. The document highlights the efficiency and simplicity of using Convex's approach, describing it as a "Backend for Frontend" solution, which allows developers to create targeted queries that always reflect the most current state. Convex's ability to handle derived state at the server level ensures that all clients have a consistent view of data, enhancing the development process and user experience.
Jan 27, 2025 6,851 words in the original blog post.
The text discusses strategies for optimizing transaction throughput in ACID databases, using Convex as an example but applicable to any database employing optimistic concurrency control. It introduces three patterns: "Queue," "Hot and Cold Tables," and "Predicate Locking," each designed to minimize conflicts and increase concurrency. The "Queue" pattern involves processing data batches to reduce conflicts by separating read and write operations, while the "Hot and Cold Tables" pattern suggests splitting database fields based on their update frequency to prevent conflicts. The "Predicate Locking" pattern enables parallel operations by creating compound indexes to only query documents that meet specific conditions, thus avoiding unnecessary conflicts. These patterns aim to help databases scale efficiently by reducing transaction conflicts and improving throughput.
Jan 23, 2025 2,190 words in the original blog post.
In a podcast discussion, James Cowling and Andy Pavlo explore the 2024 trends and challenges in the database industry, touching on key events like Redis's licensing changes and the competitive dynamics between Snowflake and Databricks, which led to Databricks' $2 billion acquisition of Tabular. The conversation highlights the shift in database wars from performance metrics to functionality and ecosystem integration, reflecting the industry's evolution. They also delve into the rise of Postgres as the default choice for operational databases, the potential of DuckDB for embedded analytics, and the importance of modern testing methodologies like deterministic simulation to ensure database reliability. Additionally, Pavlo emphasizes the significance of online resources for database education, noting the extensive material made available by Carnegie Mellon University, and how these efforts contribute to the growing understanding and implementation of database systems.
Jan 23, 2025 25,007 words in the original blog post.
Sonny Sangha's YouTube video offers a comprehensive tutorial on building an advanced AI agent using Next.js 15, Convex, LangChain, Clerk, and IBM wxflows, focusing on creating a secure chat application with real-time updates and tool integration. The guide emphasizes using Convex for backend data management, which provides essential features like cloud functions, a database, file storage, scheduling, workflow, vector search, and real-time updates, all of which integrate seamlessly to support full-stack AI projects. It also highlights user authentication through Clerk, dynamic data management via wxflows, and prompt caching with Claude 3.5 Sonnet, aiming to equip developers with the skills to implement advanced AI functionalities efficiently and effectively in their applications.
Jan 23, 2025 138 words in the original blog post.
Shop Talk is a voice-controlled shopping list application built using Convex and Daily Bots, allowing users to manage their lists entirely through voice commands. The app utilizes a combination of services, including Deepgram for speech-to-text, Cartesia for text-to-speech, and OpenAI's language model for processing, orchestrated by Daily Bots. This platform simplifies complexities like conversation management and context handling, making it easier to develop voice-interactive applications. Despite its innovative approach, the app faces challenges such as high operational costs and the need to shift user behavior from conventional interfaces like keyboard and mouse to voice interaction. While the potential for integration with virtual assistants like Siri or Alexa is promising, convincing users to adopt voice as a primary interaction method remains a hurdle. The project highlights the potential of real-time voice interaction but also underscores the economic and behavioral barriers that need addressing for broader adoption in everyday applications.
Jan 10, 2025 7,002 words in the original blog post.
The article provides a detailed guide on constructing dynamic queries in Convex, particularly when using TypeScript, to allow for flexibility based on runtime conditions. It illustrates the challenges faced when attempting to build a single query variable in TypeScript due to its type constraints, such as the inability to apply multiple indexes or orders within one query. To overcome these limitations, the article suggests a staged approach whereby different variables and types are used at each stage of query building—selecting a table, applying an index, and setting an order—before applying any post-filters or retrieving results. This method ensures that each step maintains type validity, effectively allowing for dynamic query building while adhering to TypeScript's requirements. The article emphasizes the importance of understanding the structure and limitations of queries to avoid runtime errors, and it provides code examples to demonstrate the transition from untyped JavaScript to type-safe TypeScript, ensuring readers can apply these principles when building Convex applications.
Jan 07, 2025 1,504 words in the original blog post.
The blog post explores strategies for enhancing workflow using Cursor's Composer and Convex, particularly as AI-driven development gains traction in 2025. It emphasizes setting up Composer in agent mode for greater autonomy, configuring AI rules for personalized coding styles, and using Yolo mode for automated command execution. The author highlights the importance of linking to Convex documentation, creating a Convex instructions file, and maintaining a comprehensive README.md to provide context to the AI. They recommend manually installing Convex to avoid setup issues and suggest breaking tasks into phases—schema generation, function creation, React updates, and cleanup—to streamline the development process. The use of TypeScript errors as a debugging tool is encouraged, and the post anticipates the trend of "prompt-first" coding becoming prominent, with Cursor’s Composer playing a key role in this evolution.
Jan 06, 2025 3,263 words in the original blog post.