SShortSingh.
Back to feed

Developer Builds iOS Keyboard From Scratch in C++ to Fix Third-Party App Graveyard

0
·5 views

A developer named Diction has built a third-party iOS keyboard entirely from scratch in C++, frustrated by the poor quality of existing App Store alternatives. The app began as a voice-first keyboard but expanded into a full QWERTY project after users needed a reliable fallback for typing. Unlike most third-party keyboards, it avoids off-the-shelf autocorrect libraries and instead features a custom-built correction engine, learning layer, and suggestion pipeline. The developer cites five common failure points in existing keyboards — speed, predictability, crash recovery, autocorrect quality, and personalised learning — as the core problems the project aims to solve. After ten major releases and thousands of engineering hours, the keyboard is still under active development.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

AgentProto 0.5.0 Adds Credential Brokering, Sandboxes, and Honest Cost Tracking

AgentProto released version 0.5.0 on July 8, 2026, shipping 37 packages across six new modules installable via npm. The update introduces a credential broker that silently refreshes auth headers before expiry and a companion secrets package that forwards sensitive tokens to child processes without exposing them in environment files. A new sandbox module defines a provider interface with an E2B-backed implementation, allowing full agent sessions to run in isolated environments with storage sync via GitHub. Cost accounting now tags every usage event with a four-way source label — distinguishing real reported costs, computed prices, missing catalog entries, and unmeasured sessions — so no cost figures are fabricated. Additional updates include an evaluation runner with pluggable LLM judges, an OpenTelemetry telemetry adapter, and a zero-dependency redaction utility that catches secret patterns by value shape rather than key name.

0
ProgrammingDEV Community ·

7 Underused Git Commands That Can Boost Developer Productivity

Most developers rely on a small subset of Git commands, missing out on tools that can save debugging time and simplify collaboration. Commands like git reflog act as a safety net by tracking every HEAD movement, allowing recovery of seemingly lost commits or deleted branches. Git bisect automates bug hunting by performing a binary search through commit history, while git stash lets developers shelve unfinished work without creating messy commits. Git cherry-pick enables copying individual commits across branches, and git blame helps trace the origin of specific code changes with author and date context. Together, these commands offer a more efficient and recoverable Git workflow beyond the basic add-commit-push cycle.

0
ProgrammingDEV Community ·

Developer uncovers nine cascading bugs that silently truncated a multi-language benchmark

A software developer investigating why a multi-language benchmarking tool stopped at N=22 instead of N=24 uncovered a chain of nine interconnected bugs across the codebase. The root cause was CPython 3.11's 4,300-digit cap on integer-to-string conversion, which crashed the Python agent on the 6,002-digit 24th Mersenne prime and had been silently worked around by shortening the test run. Further investigation revealed the benchmark's primary data-parsing path relied on predicting exact LLM phrasing, while direct HTTP agents falsely reported computing more Mersenne primes than their fixed lookup tables contained. The chart's title was also misleading, labelling a ~400x latency gap between LLM-routed and direct agents as a language performance comparison. Fixing each bug exposed the next, including one case where a performance improvement made results too fast for the parser's unit handling, requiring yet another patch.

0
ProgrammingDEV Community ·

Developer finds nine bugs that hid Python benchmark data for over a year

A developer maintaining a multi-language Agent-to-Agent benchmark discovered that Python results had been missing for over a year due to CPython 3.11's 4,300-digit limit on integer-to-string conversion, which caused crashes when computing large Mersenne primes. The root bug was a redundant str() call on a prime number exceeding 6,000 digits, even though the stringified value was never actually used in the output. Eight additional issues were uncovered during the fix, including a regex that silently failed to parse LLM-generated timing prose, agents falsely reporting they computed more Mersenne primes than the known table allows, and a benchmark chart that mixed two fundamentally different pipeline architectures without distinction. Fixes were submitted across four pull requests, correcting timing methods, output parsing, result reporting accuracy, and chart labeling. The developer noted the core lesson: benchmark data should never rely on how a language model chooses to phrase a sentence.